├── .gitignore ├── 404.php ├── archive.php ├── comments.php ├── common.css ├── common.css.map ├── editor-style.css ├── footer.php ├── functions.php ├── header.php ├── images └── angle-down.jpg ├── inc ├── admin │ └── getting-started │ │ ├── docs │ │ └── images │ │ │ ├── ab-block-editor.jpg │ │ │ ├── ab-footer.jpg │ │ │ ├── ab-full-screen.jpg │ │ │ ├── ab-gs.jpg │ │ │ ├── ab-gutenberg.jpg │ │ │ ├── ab-options.jpg │ │ │ ├── ab-toolbar.jpg │ │ │ ├── ab-wide-style.jpg │ │ │ ├── ampersand1.jpg │ │ │ ├── array-ab-theme.jpg │ │ │ ├── atomic-home.jpg │ │ │ ├── author.jpg │ │ │ ├── banner-1544x500.jpg │ │ │ ├── baseline-home-1.jpg │ │ │ ├── camera.jpg │ │ │ ├── candid-home.jpg │ │ │ ├── checkout-screenshot.jpg │ │ │ ├── designer.jpg │ │ │ ├── editor.jpg │ │ │ ├── fixed.jpg │ │ │ ├── gberg-banner-1544x500.jpg │ │ │ ├── latest-featured-image.jpg │ │ │ ├── lenscap-full-home.jpg │ │ │ ├── medium-660x7031.jpg │ │ │ ├── meteor-desktop.jpg │ │ │ ├── north.jpg │ │ │ ├── paperback-full-home.jpg │ │ │ ├── pocket.jpg │ │ │ ├── publisher.jpg │ │ │ ├── transmit.jpg │ │ │ ├── typable.jpg │ │ │ └── verb.jpg │ │ ├── getting-started.css │ │ ├── getting-started.php │ │ ├── images │ │ ├── ab-theme-home.jpg │ │ ├── cc115.svg │ │ ├── cc184.svg │ │ ├── cc38.svg │ │ ├── cc4.svg │ │ ├── cc402.svg │ │ ├── cc41.svg │ │ ├── cc45.svg │ │ ├── cc50.svg │ │ ├── cc94-f.svg │ │ └── logo.png │ │ └── js │ │ ├── getting-started.js │ │ └── jquery.matchHeight.js ├── customizer.php ├── fontawesome │ ├── css │ │ └── fontawesome-all.css │ └── webfonts │ │ ├── fa-brands-400.eot │ │ ├── fa-brands-400.woff │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.eot │ │ ├── fa-regular-400.woff │ │ ├── fa-regular-400.woff2 │ │ ├── fa-solid-900.eot │ │ ├── fa-solid-900.woff │ │ └── fa-solid-900.woff2 ├── jetpack.php ├── sass │ ├── common.scss │ ├── style-editor-extra.scss │ ├── style-editor.scss │ ├── style.scss │ ├── variables.css │ └── variables.scss └── template-tags.php ├── index.php ├── js ├── atomic-blocks.js ├── customizer.js └── jquery.fitvids.js ├── languages ├── atomic-blocks.pot ├── de_DE.mo ├── de_DE.po ├── de_DE@formal.mo ├── de_DE@formal.po ├── fr_FR.mo ├── fr_FR.po └── readme.txt ├── package-lock.json ├── package.json ├── page.php ├── readme.txt ├── rtl.css ├── screenshot.png ├── search.php ├── searchform.php ├── sidebar.php ├── single.php ├── style-editor-extra.css ├── style-editor.css ├── style.css ├── style.css.map ├── template-parts ├── content-menu-drawer.php ├── content-meta.php ├── content-none.php ├── content-page.php ├── content-search.php └── content.php └── templates ├── template-builder.php └── template-full-width.php /.gitignore: -------------------------------------------------------------------------------- 1 | # Numerous always-ignore extensions 2 | *.diff 3 | *.err 4 | *.orig 5 | *.log 6 | *.rej 7 | *.swo 8 | *.swp 9 | *.vi 10 | *~ 11 | *.sass-cache 12 | 13 | # OS or Editor folders 14 | .DS_Store 15 | ._* 16 | .Spotlight-V100 17 | .Trashes 18 | Thumbs.db 19 | .cache 20 | .project 21 | .settings 22 | .tmproj 23 | *.esproj 24 | nbproject 25 | *.sublime-project 26 | *.sublime-workspace 27 | config.codekit 28 | 29 | # Komodo 30 | *.komodoproject 31 | .komodotools 32 | 33 | # Folders to ignore 34 | .hg 35 | .svn 36 | .CVS 37 | .idea 38 | node_modules/ 39 | 40 | Gruntfile.js 41 | *.map -------------------------------------------------------------------------------- /404.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
11 |
12 |
> 13 |
14 |

15 | 16 | 17 |
18 |
19 |
20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /archive.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 |
14 |
15 | 30 |
31 | 32 | 33 |
34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /comments.php: -------------------------------------------------------------------------------- 1 | 17 | 18 | 31 | 32 |
33 |
34 | 35 | 36 |

37 | 38 | 58 | 59 |

60 | 61 |
    62 | 'ol', 65 | 'short_ping' => true, 66 | 'avatar_size' => 50, 67 | 'callback' => 'atomic_blocks_comment' 68 | ) ); 69 | ?> 70 |
71 | 72 | 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?> 73 | 78 | 79 | 80 | 81 | 82 | 86 |

87 | 88 | 89 | 90 |
91 |
92 | 93 | 94 | -------------------------------------------------------------------------------- /common.css: -------------------------------------------------------------------------------- 1 | /* 2 | Styles for the block editor and front end 3 | */ 4 | p + .alignfull, 5 | p + .alignwide { 6 | margin-top: 2em; 7 | } 8 | 9 | .wp-block-columns { 10 | justify-content: space-between; 11 | } 12 | @media only screen and (max-width: 600px) { 13 | .wp-block-columns { 14 | display: block; 15 | } 16 | } 17 | 18 | .wp-block-column { 19 | width: 48%; 20 | flex: 0 1 auto; 21 | } 22 | @media only screen and (max-width: 600px) { 23 | .wp-block-column { 24 | width: 100%; 25 | } 26 | } 27 | 28 | /*# sourceMappingURL=common.css.map */ 29 | -------------------------------------------------------------------------------- /common.css.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "mappings": "AAAA;;EAEE;AAEF;cACe;EACd,UAAU,EAAE,GAAG;;;AAGhB,iBAAkB;EACd,eAAe,EAAE,aAAa;;AAE9B,yCAA0C;EAH9C,iBAAkB;IAIV,OAAO,EAAE,KAAK;;;;AAItB,gBAAiB;EAChB,KAAK,EAAE,GAAG;EACP,IAAI,EAAE,QAAQ;;AAEd,yCAA0C;EAJ9C,gBAAiB;IAKT,KAAK,EAAE,IAAI", 4 | "sources": ["inc/sass/common.scss"], 5 | "names": [], 6 | "file": "common.css" 7 | } 8 | -------------------------------------------------------------------------------- /editor-style.css: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | Typographic styles for the post editor 3 | --------------------------------------------------------------*/ 4 | 5 | .mceContentBody { 6 | font-weight: 400; 7 | font-size: 19px; 8 | line-height: 1.7; 9 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 10 | color: #272c30; 11 | } 12 | 13 | .mceContentBody h1, 14 | .mceContentBody h2, 15 | .mceContentBody h3, 16 | .mceContentBody h4, 17 | .mceContentBody h5, 18 | .mceContentBody h6 { 19 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 20 | font-weight: 400; 21 | line-height: 1.2; 22 | clear: both; 23 | margin: 0 0 1% 0; 24 | color: #272c30; 25 | } 26 | 27 | .mceContentBody h1 { 28 | font-size: 42px; 29 | } 30 | 31 | .mceContentBody h2 { 32 | font-size: 38px; 33 | } 34 | 35 | .mceContentBody h3 { 36 | font-size: 34px; 37 | } 38 | 39 | .mceContentBody h4 { 40 | font-size: 30px; 41 | } 42 | 43 | .mceContentBody h5 { 44 | font-size: 26px; 45 | } 46 | 47 | .mceContentBody h6 { 48 | font-size: 24px; 49 | } 50 | 51 | .mceContentBody p { 52 | margin-bottom: 1.2em; 53 | } 54 | 55 | .mceContentBody img { 56 | max-width: 100%; 57 | } 58 | 59 | hr { 60 | background-color: transparent; 61 | border: 0; 62 | border-bottom: dotted 1px #c7d6e4; 63 | height: 2px; 64 | margin: 4% 0; 65 | } 66 | 67 | .mceContentBody blockquote { 68 | position: relative; 69 | margin: 0 0 0 0; 70 | z-index: 1; 71 | } 72 | 73 | .mceContentBody blockquote p { 74 | font-size: 24px; 75 | font-weight: 400; 76 | line-height: 1.4; 77 | margin: 1em 0 1em 0; 78 | position: relative; 79 | padding: 20px 0 0 8%; 80 | border-top: solid 3px #272c30; 81 | color: #272c30; 82 | } 83 | 84 | @media screen and (max-width: 786px) { 85 | .mceContentBody blockquote p { 86 | font-size: 19px; 87 | padding-left: 12%; 88 | } 89 | } 90 | 91 | .mceContentBody blockquote p:before { 92 | content: "\201C"; 93 | position: absolute; 94 | left: 0; 95 | font-size: 66px; 96 | width: 30px; 97 | top: 19px; 98 | line-height: 1; 99 | font-weight: 600; 100 | } 101 | 102 | .mceContentBody ul, 103 | .mceContentBody ol { 104 | margin: 0 0 5% 25px; 105 | padding-left: 0; 106 | } 107 | 108 | .mceContentBody ul { 109 | list-style: square; 110 | line-height: 2; 111 | } 112 | 113 | .mceContentBody ol { 114 | list-style: decimal; 115 | line-height: 2; 116 | } 117 | 118 | .mceContentBody ul ul, 119 | .mceContentBody ol ol, 120 | .mceContentBody ul ol, 121 | .mceContentBody ol ul { 122 | margin: .3em 0 0 1.5em; 123 | } 124 | 125 | .mceContentBody img { 126 | max-width: 100%; 127 | height: auto; 128 | } 129 | 130 | .highlight { 131 | background: #fff198; 132 | color: #404040; 133 | } 134 | 135 | /*-------------------------------------------------------------- 136 | Table Styles 137 | --------------------------------------------------------------*/ 138 | 139 | table { 140 | font-size: 18px; 141 | margin-bottom: 5%; 142 | padding: 0; 143 | width: 100%; 144 | } 145 | 146 | table thead { 147 | background: #f2f2f2; 148 | } 149 | 150 | table thead th { 151 | font-weight: bold; 152 | } 153 | 154 | table td, #content table th { 155 | padding: 10px; 156 | } 157 | 158 | table td { 159 | border-bottom: solid 1px #f2f2f2; 160 | } 161 | 162 | table tr:last-child td { 163 | border-bottom: none; 164 | } 165 | 166 | table tr:nth-child(even) { 167 | background: #f2f2f2; 168 | } 169 | 170 | /*-------------------------------------------------------------- 171 | Code Styles 172 | --------------------------------------------------------------*/ 173 | 174 | pre { 175 | background: #f2f2f2; 176 | font-family: "Courier 10 Pitch", Courier, monospace; 177 | font-size: 15px; 178 | line-height: 1.6; 179 | margin-bottom: 1.6em; 180 | max-width: 100%; 181 | overflow: auto; 182 | padding: 1.6em; 183 | } 184 | 185 | code, kbd, tt, var { 186 | font: 15px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; 187 | } 188 | 189 | /*-------------------------------------------------------------- 190 | Alignments 191 | --------------------------------------------------------------*/ 192 | 193 | .alignleft { 194 | display: inline; 195 | float: left; 196 | margin: .5em 2em .5em 0; 197 | } 198 | 199 | @media (max-width: 600px) { 200 | .alignleft { 201 | max-width: 200px; 202 | margin-right: 1em; 203 | } 204 | } 205 | 206 | .alignright { 207 | display: inline; 208 | float: right; 209 | margin: .5em 0 1.5em 2em; 210 | } 211 | 212 | @media (max-width: 600px) { 213 | .alignright { 214 | max-width: 200px; 215 | margin-left: 1em; 216 | } 217 | } 218 | 219 | .aligncenter { 220 | clear: both; 221 | display: block; 222 | margin: 0 auto 1.5em auto; 223 | } 224 | 225 | dl.wp-caption { 226 | background: none; 227 | border: none; 228 | } 229 | 230 | .wp-caption { 231 | margin: .5em 0 1.5em 0; 232 | max-width: 100%; 233 | text-align: left; 234 | } 235 | 236 | .wp-caption img[class*="wp-image-"] { 237 | display: block; 238 | margin: 0; 239 | max-width: 100%; 240 | } 241 | 242 | .wp-caption-text, 243 | .gallery-caption, 244 | .wp-caption-dd { 245 | padding: 0; 246 | margin-top: 12px; 247 | width: 100%; 248 | color: #8494A1; 249 | text-transform: none; 250 | font-size: 15px; 251 | font-weight: 400; 252 | letter-spacing: 0; 253 | padding-left: 10px; 254 | border-left: solid 2px #e3eaf0; 255 | margin-bottom: 0; 256 | } 257 | 258 | .pull-right, 259 | .pull-excerpt { 260 | float: right; 261 | margin: 1% 0 2% 5%; 262 | text-align: right; 263 | } 264 | 265 | .pull-left { 266 | float: left; 267 | margin: 1% 5% 2% 0; 268 | } 269 | 270 | .pull-right, 271 | .pull-left, 272 | .pull-excerpt { 273 | font-size: 18px; 274 | line-height: 1.5; 275 | width: 32%; 276 | padding: 20px; 277 | background: #f2f2f2; 278 | } 279 | 280 | @media screen and (max-width: 786px) { 281 | .pull-right, 282 | .pull-left, 283 | .pull-excerpt { 284 | font-size: 18px; 285 | width: auto; 286 | margin: 0 0 5% 0; 287 | } 288 | } 289 | 290 | .pull-excerpt { 291 | font-style: normal; 292 | text-align: left; 293 | padding-top: 18px; 294 | line-height: 1.6; 295 | margin-top: 9px; 296 | } 297 | 298 | @media screen and (max-width: 768px) { 299 | .pull-excerpt { 300 | font-style: 18px; 301 | } 302 | } 303 | -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /functions.php: -------------------------------------------------------------------------------- 1 | 'ffffff' 62 | ); 63 | add_theme_support( 'custom-background', $defaults ); 64 | 65 | /** 66 | * Add wide image support 67 | */ 68 | add_theme_support( 'align-wide' ); 69 | 70 | /** 71 | * Selective Refresh for Customizer 72 | */ 73 | add_theme_support( 'customize-selective-refresh-widgets' ); 74 | 75 | // Add excerpt support to pages 76 | add_post_type_support( 'page', 'excerpt' ); 77 | 78 | // Featured image 79 | add_image_size( 'atomic-blocks-featured-image', 1200 ); 80 | 81 | // Wide featured image 82 | add_image_size( 'atomic-blocks-featured-image-wide', 1400 ); 83 | 84 | // Logo size 85 | add_image_size( 'atomic-blocks-logo', 300 ); 86 | 87 | /** 88 | * Register Navigation menu 89 | */ 90 | register_nav_menus( array( 91 | 'primary' => esc_html__( 'Primary Menu', 'atomic-blocks' ), 92 | 'social' => esc_html__( 'Social Icon Menu', 'atomic-blocks' ), 93 | ) ); 94 | 95 | /** 96 | * Add Site Logo feature 97 | */ 98 | add_theme_support( 'custom-logo', array( 99 | 'header-text' => array( 'titles-wrap' ), 100 | 'size' => 'atomic-blocks-logo', 101 | ) ); 102 | 103 | /** 104 | * Enable HTML5 markup 105 | */ 106 | add_theme_support( 'html5', array( 107 | 'comment-form', 108 | 'gallery', 109 | ) ); 110 | } 111 | endif; // atomic_blocks_setup 112 | add_action( 'after_setup_theme', 'atomic_blocks_setup' ); 113 | 114 | 115 | /** 116 | * Set the content width based on the theme's design and stylesheet 117 | */ 118 | function atomic_blocks_content_width() { 119 | if ( has_post_format( 'gallery' ) ) { 120 | $GLOBALS['content_width'] = apply_filters( 'atomic_blocks_content_width', 1400 ); 121 | } else { 122 | $GLOBALS['content_width'] = apply_filters( 'atomic_blocks_content_width', 905 ); 123 | } 124 | } 125 | add_action( 'after_setup_theme', 'atomic_blocks_content_width', 0 ); 126 | 127 | 128 | /** 129 | * Register widget area 130 | */ 131 | function atomic_blocks_widgets_init() { 132 | 133 | register_sidebar( array( 134 | 'name' => esc_html__( 'Footer - Column 1', 'atomic-blocks' ), 135 | 'id' => 'footer-1', 136 | 'description' => esc_html__( 'Widgets added here will appear in the left column of the footer.', 'atomic-blocks' ), 137 | 'before_widget' => '', 139 | 'before_title' => '

', 140 | 'after_title' => '

', 141 | ) ); 142 | 143 | register_sidebar( array( 144 | 'name' => esc_html__( 'Footer - Column 2', 'atomic-blocks' ), 145 | 'id' => 'footer-2', 146 | 'description' => esc_html__( 'Widgets added here will appear in the center column of the footer.', 'atomic-blocks' ), 147 | 'before_widget' => '', 149 | 'before_title' => '

', 150 | 'after_title' => '

', 151 | ) ); 152 | 153 | register_sidebar( array( 154 | 'name' => esc_html__( 'Footer - Column 3', 'atomic-blocks' ), 155 | 'id' => 'footer-3', 156 | 'description' => esc_html__( 'Widgets added here will appear in the right column of the footer.', 'atomic-blocks' ), 157 | 'before_widget' => '', 159 | 'before_title' => '

', 160 | 'after_title' => '

', 161 | ) ); 162 | } 163 | add_action( 'widgets_init', 'atomic_blocks_widgets_init' ); 164 | 165 | 166 | /** 167 | * Return the Google font stylesheet URL 168 | */ 169 | if ( ! function_exists( 'atomic_blocks_fonts_url' ) ) : 170 | function atomic_blocks_fonts_url() { 171 | 172 | $fonts_url = ''; 173 | 174 | /* Translators: If there are characters in your language that are not 175 | * supported by these fonts, translate this to 'off'. Do not translate 176 | * into your own language. 177 | */ 178 | 179 | $font_style = get_theme_mod( 'atomic_blocks_font_style', 'sans' ); 180 | 181 | if ( $font_style == 'serif' ) { 182 | $frank = esc_html_x( 'on', 'Frank Ruhl Libre font: on or off', 'atomic-blocks' ); 183 | 184 | if ( 'off' !== $frank ) { 185 | $font_families = array(); 186 | 187 | if ( 'off' !== $frank ) 188 | $font_families[] = 'Frank Ruhl Libre:400,700'; 189 | } 190 | } else { 191 | $muli = esc_html_x( 'on', 'Muli font: on or off', 'atomic-blocks' ); 192 | $nunito_sans = esc_html_x( 'on', 'Nunito Sans font: on or off', 'atomic-blocks' ); 193 | 194 | if ( 'off' !== $nunito_sans || 'off' !== $muli ) { 195 | $font_families = array(); 196 | 197 | if ( 'off' !== $muli ) 198 | $font_families[] = 'Muli:700'; 199 | 200 | if ( 'off' !== $nunito_sans ) 201 | $font_families[] = 'Nunito Sans:400,400i,600,700'; 202 | } 203 | } 204 | 205 | if ( !empty ( $font_families ) ) { 206 | 207 | $query_args = array( 208 | 'family' => urlencode( implode( '|', $font_families ) ), 209 | 'subset' => urlencode( 'latin,latin-ext' ), 210 | ); 211 | 212 | $fonts_url = add_query_arg( $query_args, "//fonts.googleapis.com/css?&display=swap" ); 213 | 214 | } 215 | 216 | return $fonts_url; 217 | } 218 | endif; 219 | 220 | 221 | /** 222 | * Enqueue scripts and styles 223 | */ 224 | function atomic_blocks_scripts() { 225 | 226 | wp_enqueue_style( 'atomic-blocks-style', get_stylesheet_uri() ); 227 | 228 | /** 229 | * Load fonts from Google 230 | */ 231 | wp_enqueue_style( 'atomic-blocks-fonts', atomic_blocks_fonts_url(), array(), null ); 232 | 233 | /** 234 | * FontAwesome Icons stylesheet 235 | */ 236 | wp_enqueue_style( 'font-awesome', get_template_directory_uri() . "/inc/fontawesome/css/fontawesome-all.css", array(), '5.0.12', 'screen' ); 237 | 238 | /** 239 | * Load Atomic Blocks's javascript 240 | */ 241 | wp_enqueue_script( 'atomic-blocks-js', get_template_directory_uri() . '/js/atomic-blocks.js', array( 'jquery' ), '1.0', true ); 242 | 243 | /** 244 | * Load fitvids javascript 245 | */ 246 | wp_enqueue_script( 'fitvids', get_template_directory_uri() . '/js/jquery.fitvids.js', array(), '1.1', true ); 247 | 248 | /** 249 | * Localizes the atomic-blocks-js file 250 | */ 251 | wp_localize_script( 'atomic-blocks-js', 'atomic_blocks_js_vars', array( 252 | 'ajaxurl' => esc_url ( admin_url( 'admin-ajax.php' ) ) 253 | ) ); 254 | 255 | /** 256 | * Load the comment reply script 257 | */ 258 | if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { 259 | wp_enqueue_script( 'comment-reply' ); 260 | } 261 | } 262 | add_action( 'wp_enqueue_scripts', 'atomic_blocks_scripts' ); 263 | 264 | 265 | /** 266 | * Enqueue admin scripts and styles 267 | */ 268 | function atomic_blocks_admin_scripts( $hook ) { 269 | if ( 'post.php' != $hook ) { 270 | return; 271 | } 272 | 273 | /** 274 | * Load editor fonts from Google 275 | */ 276 | wp_enqueue_style( 'atomic-blocks-admin-fonts', atomic_blocks_fonts_url(), array(), null ); 277 | 278 | } 279 | add_action( 'admin_enqueue_scripts', 'atomic_blocks_admin_scripts', 5 ); 280 | 281 | 282 | /** 283 | * Enqueue shared styles for frontend and backend 284 | */ 285 | function atomic_blocks_shared_styles() { 286 | /** 287 | * Shared block styles 288 | */ 289 | wp_enqueue_style( 'atomic-blocks-shared-styles', get_template_directory_uri() . "/common.css", array(), '1.0', 'screen' ); 290 | 291 | /** 292 | * Styles from the customizer 293 | */ 294 | wp_add_inline_style( 'atomic-blocks-shared-styles', atomic_blocks_gutenberg_styles() ); 295 | } 296 | add_action( 'wp_enqueue_scripts', 'atomic_blocks_shared_styles' ); 297 | add_action( 'enqueue_block_editor_assets', 'atomic_blocks_shared_styles' ); 298 | 299 | 300 | /** 301 | * Load block editor styles 302 | */ 303 | function atomic_blocks_block_editor_styles() { 304 | wp_enqueue_style( 'atomic-blocks-block-editor-styles', get_template_directory_uri() . '/style-editor-extra.css'); 305 | } 306 | add_action( 'enqueue_block_editor_assets', 'atomic_blocks_block_editor_styles' ); 307 | 308 | 309 | /** 310 | * Custom template tags for Atomic Blocks 311 | */ 312 | require get_template_directory() . '/inc/template-tags.php'; 313 | 314 | 315 | /** 316 | * Customizer theme options 317 | */ 318 | require get_template_directory() . '/inc/customizer.php'; 319 | 320 | 321 | /** 322 | * Load Jetpack compatibility file 323 | */ 324 | require get_template_directory() . '/inc/jetpack.php'; 325 | 326 | 327 | /** 328 | * Add button class to next/previous post links 329 | */ 330 | function atomic_blocks_posts_link_attributes() { 331 | return 'class="button"'; 332 | } 333 | add_filter( 'next_posts_link_attributes', 'atomic_blocks_posts_link_attributes' ); 334 | add_filter( 'previous_posts_link_attributes', 'atomic_blocks_posts_link_attributes' ); 335 | 336 | 337 | /** 338 | * Add layout style class to body 339 | */ 340 | function atomic_blocks_layout_class( $classes ) { 341 | 342 | // Adds a class of group-blog to blogs with more than 1 published author. 343 | if ( is_multi_author() ) { 344 | $classes[] = 'group-blog'; 345 | } 346 | 347 | if( is_single() && has_post_thumbnail() || is_page() && has_post_thumbnail() ) { 348 | $classes[] = 'has-featured-image'; 349 | } 350 | 351 | $featured_image = get_theme_mod( 'atomic_blocks_featured_image_style', 'wide' ); 352 | 353 | if ( $featured_image == 'wide' ) { 354 | $classes[] = 'featured-image-wide'; 355 | } 356 | 357 | return $classes; 358 | } 359 | add_filter( 'body_class', 'atomic_blocks_layout_class' ); 360 | 361 | 362 | /** 363 | * Add featured image class to posts 364 | */ 365 | function atomic_blocks_featured_image_class( $classes ) { 366 | global $post; 367 | 368 | $classes[] = 'post'; 369 | 370 | // Check for featured image 371 | $classes[] = has_post_thumbnail() ? 'with-featured-image' : 'without-featured-image'; 372 | 373 | $page_template = get_post_meta( $post->ID, '_wp_page_template', true ); 374 | 375 | if ( $page_template == 'templates/template-wide-image.php' ) { 376 | $classes[] = 'has-wide-image'; 377 | } 378 | 379 | return $classes; 380 | } 381 | add_filter( 'post_class', 'atomic_blocks_featured_image_class' ); 382 | 383 | 384 | /** 385 | * Adjust the grid excerpt length for portfolio items 386 | */ 387 | function atomic_blocks_search_excerpt_length() { 388 | return 40; 389 | } 390 | 391 | 392 | /** 393 | * Add an ellipsis read more link 394 | */ 395 | function atomic_blocks_excerpt_more( $more ) { 396 | if( is_admin() ) return $more; 397 | 398 | return ' …'; 399 | } 400 | add_filter( 'excerpt_more', 'atomic_blocks_excerpt_more' ); 401 | 402 | 403 | /** 404 | * Full size image on attachment pages 405 | */ 406 | function atomic_blocks_attachment_size( $p ) { 407 | if ( is_attachment() ) { 408 | return '

' . wp_get_attachment_link( 0, 'full-size', false ) . '

'; 409 | } 410 | } 411 | add_filter( 'prepend_attachment', 'atomic_blocks_attachment_size' ); 412 | 413 | 414 | /** 415 | * Add a js class 416 | */ 417 | function atomic_blocks_html_js_class () { 418 | echo ''. "\n"; 419 | } 420 | add_action( 'wp_head', 'atomic_blocks_html_js_class', 1 ); 421 | 422 | 423 | /** 424 | * Replaces the footer tagline text 425 | */ 426 | function atomic_blocks_filter_footer_text() { 427 | 428 | // Get the footer copyright text 429 | $footer_copy_text = get_theme_mod( 'atomic_blocks_footer_text' ); 430 | 431 | if ( $footer_copy_text ) { 432 | // If we have footer text, use it 433 | $footer_text = $footer_copy_text; 434 | } else { 435 | // Otherwise show the fallback theme text 436 | $footer_text = sprintf( esc_html__( ' Theme by %1$s.', 'atomic-blocks' ), 'Atomic Blocks' ); 437 | } 438 | 439 | return wp_kses_post( $footer_text ); 440 | 441 | } 442 | add_filter( 'atomic_blocks_footer_text', 'atomic_blocks_filter_footer_text' ); 443 | 444 | 445 | /** 446 | * Replaces the footer tagline text 447 | */ 448 | function atomic_blocks_add_search_icon( $items, $args ) { 449 | $search_icon = get_theme_mod( 'atomic_blocks_search_icon', 'enabled' ); 450 | 451 | if ( $args->theme_location == 'primary' && $search_icon == 'enabled' ) { 452 | $items .= ''; 453 | } 454 | return $items; 455 | } 456 | add_filter( 'wp_nav_menu_items', 'atomic_blocks_add_search_icon', 10, 2 ); 457 | 458 | 459 | /** 460 | * Add fallback menu with search icon 461 | */ 462 | function atomic_blocks_fallback_menu() { 463 | $search_icon = get_theme_mod( 'atomic_blocks_search_icon', 'enabled' ); 464 | 465 | if( $search_icon == 'enabled' ) { 466 | wp_page_menu( array( 'after' => '' ) ); 467 | } else { 468 | wp_page_menu(); 469 | } 470 | } -------------------------------------------------------------------------------- /header.php: -------------------------------------------------------------------------------- 1 | section and everything up till
6 | * 7 | * @package Atomic Blocks 8 | */ 9 | ?> 10 | 11 | class="no-js"> 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | > 22 | 23 | 67 | 68 |
69 |
70 | -------------------------------------------------------------------------------- /images/angle-down.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/images/angle-down.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-block-editor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-block-editor.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-footer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-footer.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-full-screen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-full-screen.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-gs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-gs.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-gutenberg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-gutenberg.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-options.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-options.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-toolbar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-toolbar.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ab-wide-style.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ab-wide-style.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/ampersand1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/ampersand1.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/array-ab-theme.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/array-ab-theme.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/atomic-home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/atomic-home.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/author.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/banner-1544x500.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/banner-1544x500.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/baseline-home-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/baseline-home-1.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/camera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/camera.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/candid-home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/candid-home.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/checkout-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/checkout-screenshot.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/designer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/designer.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/editor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/editor.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/fixed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/fixed.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/gberg-banner-1544x500.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/gberg-banner-1544x500.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/latest-featured-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/latest-featured-image.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/lenscap-full-home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/lenscap-full-home.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/medium-660x7031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/medium-660x7031.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/meteor-desktop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/meteor-desktop.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/north.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/north.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/paperback-full-home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/paperback-full-home.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/pocket.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/pocket.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/publisher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/publisher.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/transmit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/transmit.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/typable.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/typable.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/docs/images/verb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/docs/images/verb.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/images/ab-theme-home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/images/ab-theme-home.jpg -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc115.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc184.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc38.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc4.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc402.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc41.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc50.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/cc94-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/admin/getting-started/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/admin/getting-started/images/logo.png -------------------------------------------------------------------------------- /inc/admin/getting-started/js/getting-started.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function ($) { 2 | 3 | // Tabs 4 | $( ".inline-list" ).each( function() { 5 | $( this ).find( "li" ).each( function(i) { 6 | $( this).click( function(){ 7 | $( this ).addClass( "current" ).siblings().removeClass( "current" ) 8 | .parents( "#wpbody" ).find( "div.panel-left" ).removeClass( "visible" ).end().find( 'div.panel-left:eq('+i+')' ).addClass( "visible" ); 9 | 10 | equalHeight(); 11 | 12 | return false; 13 | } ); 14 | } ); 15 | } ); 16 | 17 | 18 | // Scroll to anchor 19 | $( ".anchor-nav a, .toc a" ).click( function(e) { 20 | e.preventDefault(); 21 | 22 | var href = $( this ).attr( "href" ); 23 | $( "html, body" ).animate( { 24 | scrollTop: $( href ).offset().top 25 | }, 'slow', 'swing' ); 26 | } ); 27 | 28 | 29 | // Back to top links 30 | $( "#help-panel h3" ).append( $( " Back to top" ) ); 31 | 32 | // Equalize column heights 33 | function equalHeight() { 34 | $('.ab-block-features .ab-block-feature').matchHeight(); 35 | } 36 | equalHeight(); 37 | 38 | $(window).on('load', function() { 39 | var current_width = $(window).width(); 40 | 41 | // Only run on desktop 42 | if ( current_width > 600 ) { 43 | equalHeight(); 44 | } 45 | }); 46 | 47 | }); -------------------------------------------------------------------------------- /inc/admin/getting-started/js/jquery.matchHeight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jquery.matchHeight.js v0.5.2 3 | * http://brm.io/jquery-match-height/ 4 | * License: MIT 5 | */ 6 | 7 | ;(function($) { 8 | /* 9 | * internal 10 | */ 11 | 12 | var _previousResizeWidth = -1, 13 | _updateTimeout = -1; 14 | 15 | /* 16 | * _rows 17 | * utility function returns array of jQuery selections representing each row 18 | * (as displayed after float wrapping applied by browser) 19 | */ 20 | 21 | var _rows = function(elements) { 22 | var tolerance = 1, 23 | $elements = $(elements), 24 | lastTop = null, 25 | rows = []; 26 | 27 | // group elements by their top position 28 | $elements.each(function(){ 29 | var $that = $(this), 30 | top = $that.offset().top - _parse($that.css('margin-top')), 31 | lastRow = rows.length > 0 ? rows[rows.length - 1] : null; 32 | 33 | if (lastRow === null) { 34 | // first item on the row, so just push it 35 | rows.push($that); 36 | } else { 37 | // if the row top is the same, add to the row group 38 | if (Math.floor(Math.abs(lastTop - top)) <= tolerance) { 39 | rows[rows.length - 1] = lastRow.add($that); 40 | } else { 41 | // otherwise start a new row group 42 | rows.push($that); 43 | } 44 | } 45 | 46 | // keep track of the last row top 47 | lastTop = top; 48 | }); 49 | 50 | return rows; 51 | }; 52 | 53 | /* 54 | * _parse 55 | * value parse utility function 56 | */ 57 | 58 | var _parse = function(value) { 59 | // parse value and convert NaN to 0 60 | return parseFloat(value) || 0; 61 | }; 62 | 63 | /* 64 | * matchHeight 65 | * plugin definition 66 | */ 67 | 68 | var matchHeight = $.fn.matchHeight = function(byRow) { 69 | 70 | // handle matchHeight('remove') 71 | if (byRow === 'remove') { 72 | var that = this; 73 | 74 | // remove fixed height from all selected elements 75 | this.css('height', ''); 76 | 77 | // remove selected elements from all groups 78 | $.each(matchHeight._groups, function(key, group) { 79 | group.elements = group.elements.not(that); 80 | }); 81 | 82 | // TODO: cleanup empty groups 83 | 84 | return this; 85 | } 86 | 87 | if (this.length <= 1) 88 | return this; 89 | 90 | // byRow default to true 91 | byRow = (typeof byRow !== 'undefined') ? byRow : true; 92 | 93 | // keep track of this group so we can re-apply later on load and resize events 94 | matchHeight._groups.push({ 95 | elements: this, 96 | byRow: byRow 97 | }); 98 | 99 | // match each element's height to the tallest element in the selection 100 | matchHeight._apply(this, byRow); 101 | 102 | return this; 103 | }; 104 | 105 | /* 106 | * plugin global options 107 | */ 108 | 109 | matchHeight._groups = []; 110 | matchHeight._throttle = 80; 111 | matchHeight._maintainScroll = false; 112 | matchHeight._beforeUpdate = null; 113 | matchHeight._afterUpdate = null; 114 | 115 | /* 116 | * matchHeight._apply 117 | * apply matchHeight to given elements 118 | */ 119 | 120 | matchHeight._apply = function(elements, byRow) { 121 | var $elements = $(elements), 122 | rows = [$elements]; 123 | 124 | // take note of scroll position 125 | var scrollTop = $(window).scrollTop(), 126 | htmlHeight = $('html').outerHeight(true); 127 | 128 | // temporarily must force hidden parents visible 129 | var $hiddenParents = $elements.parents().filter(':hidden'); 130 | $hiddenParents.css('display', 'block'); 131 | 132 | // get rows if using byRow, otherwise assume one row 133 | if (byRow) { 134 | 135 | // must first force an arbitrary equal height so floating elements break evenly 136 | $elements.each(function() { 137 | var $that = $(this), 138 | display = $that.css('display') === 'inline-block' ? 'inline-block' : 'block'; 139 | 140 | // cache the original inline style 141 | $that.data('style-cache', $that.attr('style')); 142 | 143 | $that.css({ 144 | 'display': display, 145 | 'padding-top': '0', 146 | 'padding-bottom': '0', 147 | 'margin-top': '0', 148 | 'margin-bottom': '0', 149 | 'border-top-width': '0', 150 | 'border-bottom-width': '0', 151 | 'height': '100px' 152 | }); 153 | }); 154 | 155 | // get the array of rows (based on element top position) 156 | rows = _rows($elements); 157 | 158 | // revert original inline styles 159 | $elements.each(function() { 160 | var $that = $(this); 161 | 162 | $that.attr('style', $that.data('style-cache') || '') 163 | .css('height', ''); 164 | }); 165 | } 166 | 167 | $.each(rows, function(key, row) { 168 | var $row = $(row), 169 | maxHeight = 0; 170 | 171 | // skip apply to rows with only one item 172 | if (byRow && $row.length <= 1) 173 | return; 174 | 175 | // iterate the row and find the max height 176 | $row.each(function(){ 177 | var $that = $(this), 178 | display = $that.css('display') === 'inline-block' ? 'inline-block' : 'block'; 179 | 180 | // ensure we get the correct actual height (and not a previously set height value) 181 | $that.css({ 'display': display, 'height': '' }); 182 | 183 | // find the max height (including padding, but not margin) 184 | if ($that.outerHeight(false) > maxHeight) 185 | maxHeight = $that.outerHeight(false); 186 | 187 | // revert display block 188 | $that.css('display', ''); 189 | }); 190 | 191 | // iterate the row and apply the height to all elements 192 | $row.each(function(){ 193 | var $that = $(this), 194 | verticalPadding = 0; 195 | 196 | // handle padding and border correctly (required when not using border-box) 197 | if ($that.css('box-sizing') !== 'border-box') { 198 | verticalPadding += _parse($that.css('border-top-width')) + _parse($that.css('border-bottom-width')); 199 | verticalPadding += _parse($that.css('padding-top')) + _parse($that.css('padding-bottom')); 200 | } 201 | 202 | // set the height (accounting for padding and border) 203 | $that.css('height', maxHeight - verticalPadding); 204 | }); 205 | }); 206 | 207 | // revert hidden parents 208 | $hiddenParents.css('display', ''); 209 | 210 | // restore scroll position if enabled 211 | if (matchHeight._maintainScroll) 212 | $(window).scrollTop((scrollTop / htmlHeight) * $('html').outerHeight(true)); 213 | 214 | return this; 215 | }; 216 | 217 | /* 218 | * matchHeight._applyDataApi 219 | * applies matchHeight to all elements with a data-match-height attribute 220 | */ 221 | 222 | matchHeight._applyDataApi = function() { 223 | var groups = {}; 224 | 225 | // generate groups by their groupId set by elements using data-match-height 226 | $('[data-match-height], [data-mh]').each(function() { 227 | var $this = $(this), 228 | groupId = $this.attr('data-match-height') || $this.attr('data-mh'); 229 | if (groupId in groups) { 230 | groups[groupId] = groups[groupId].add($this); 231 | } else { 232 | groups[groupId] = $this; 233 | } 234 | }); 235 | 236 | // apply matchHeight to each group 237 | $.each(groups, function() { 238 | this.matchHeight(true); 239 | }); 240 | }; 241 | 242 | /* 243 | * matchHeight._update 244 | * updates matchHeight on all current groups with their correct options 245 | */ 246 | 247 | var _update = function(event) { 248 | if (matchHeight._beforeUpdate) 249 | matchHeight._beforeUpdate(event, matchHeight._groups); 250 | 251 | $.each(matchHeight._groups, function() { 252 | matchHeight._apply(this.elements, this.byRow); 253 | }); 254 | 255 | if (matchHeight._afterUpdate) 256 | matchHeight._afterUpdate(event, matchHeight._groups); 257 | }; 258 | 259 | matchHeight._update = function(throttle, event) { 260 | // prevent update if fired from a resize event 261 | // where the viewport width hasn't actually changed 262 | // fixes an event looping bug in IE8 263 | if (event && event.type === 'resize') { 264 | var windowWidth = $(window).width(); 265 | if (windowWidth === _previousResizeWidth) 266 | return; 267 | _previousResizeWidth = windowWidth; 268 | } 269 | 270 | // throttle updates 271 | if (!throttle) { 272 | _update(event); 273 | } else if (_updateTimeout === -1) { 274 | _updateTimeout = setTimeout(function() { 275 | _update(event); 276 | _updateTimeout = -1; 277 | }, matchHeight._throttle); 278 | } 279 | }; 280 | 281 | /* 282 | * bind events 283 | */ 284 | 285 | // apply on DOM ready event 286 | $(matchHeight._applyDataApi); 287 | 288 | // update heights on load and resize events 289 | $(window).bind('load', function(event) { 290 | matchHeight._update(false, event); 291 | }); 292 | 293 | // throttled update heights on resize events 294 | $(window).bind('resize orientationchange', function(event) { 295 | matchHeight._update(true, event); 296 | }); 297 | 298 | })(jQuery); 299 | -------------------------------------------------------------------------------- /inc/customizer.php: -------------------------------------------------------------------------------- 1 | manager->get_control( $setting->id )->choices; 37 | return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); 38 | } 39 | 40 | 41 | /** 42 | * Get the footer tagline text 43 | */ 44 | function atomic_blocks_footer_tagline() { 45 | return wp_kses_post( get_theme_mod( 'atomic_blocks_footer_text' ) ); 46 | } 47 | 48 | 49 | /** 50 | * Get the blog name 51 | */ 52 | function atomic_blocks_blog_name() { 53 | return get_bloginfo( 'name', 'display' ); 54 | } 55 | 56 | 57 | /** 58 | * Get the blog description 59 | */ 60 | function atomic_blocks_blog_description() { 61 | return get_bloginfo( 'description', 'display' ); 62 | } 63 | 64 | 65 | /** 66 | * @param WP_Customize_Manager $wp_customize 67 | */ 68 | function atomic_blocks_register( $wp_customize ) { 69 | 70 | /** 71 | * Theme Options Panel 72 | */ 73 | $wp_customize->add_section( 'atomic_blocks_theme_options', array( 74 | 'priority' => 1, 75 | 'capability' => 'edit_theme_options', 76 | 'title' => esc_html__( 'Theme Options', 'atomic-blocks' ), 77 | ) ); 78 | 79 | /** 80 | * Accent Color 81 | */ 82 | $wp_customize->add_setting( 'atomic_blocks_button_color', array( 83 | 'default' => '#5a3fd6', 84 | 'transport' => 'postMessage', 85 | 'sanitize_callback' => 'sanitize_hex_color', 86 | ) ); 87 | 88 | $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'atomic_blocks_button_color', array( 89 | 'label' => esc_html__( 'Accent Color', 'atomic-blocks' ), 90 | 'section' => 'colors', 91 | 'settings' => 'atomic_blocks_button_color', 92 | 'description' => esc_html__( 'Change the accent color of buttons and various typographical elements.', 'atomic-blocks' ), 93 | 'priority' => 5 94 | ) ) ); 95 | 96 | 97 | /** 98 | * Content Width 99 | */ 100 | $wp_customize->add_setting( 'atomic_blocks_content_width', array( 101 | 'default' => '70', 102 | 'type' => 'theme_mod', 103 | 'capability' => 'edit_theme_options', 104 | 'transport' => 'postMessage', 105 | 'sanitize_callback' => 'atomic_blocks_sanitize_range', 106 | ) ); 107 | 108 | $wp_customize->add_control( 'atomic_blocks_content_width', array( 109 | 'type' => 'range', 110 | 'priority' => 10, 111 | 'section' => 'atomic_blocks_theme_options', 112 | 'label' => esc_html__( 'Content Width', 'atomic-blocks' ), 113 | 'description' => esc_html__( 'Adjust the width of the content area.', 'atomic-blocks' ), 114 | 'input_attrs' => array( 115 | 'min' => 50, 116 | 'max' => 100, 117 | 'step' => 1, 118 | 'style' => 'width: 100%', 119 | ), 120 | ) ); 121 | 122 | 123 | /** 124 | * Search Icon 125 | */ 126 | $wp_customize->add_setting( 'atomic_blocks_search_icon', array( 127 | 'default' => 'enabled', 128 | 'capability' => 'edit_theme_options', 129 | 'type' => 'theme_mod', 130 | 'sanitize_callback' => 'atomic_blocks_sanitize_select', 131 | )); 132 | 133 | $wp_customize->add_control( 'atomic_blocks_search_icon', array( 134 | 'settings' => 'atomic_blocks_search_icon', 135 | 'label' => esc_html__( 'Search Icon', 'atomic-blocks' ), 136 | 'description' => esc_html__( 'Add a search icon to your header menu area.', 'atomic-blocks' ), 137 | 'section' => 'atomic_blocks_theme_options', 138 | 'type' => 'select', 139 | 'priority' => 13, 140 | 'choices' => array( 141 | 'enabled' => esc_html__( 'Enabled', 'atomic-blocks' ), 142 | 'disabled' => esc_html__( 'Disabled', 'atomic-blocks' ), 143 | ), 144 | )); 145 | 146 | 147 | /** 148 | * Font Style 149 | */ 150 | $wp_customize->add_setting( 'atomic_blocks_font_style', array( 151 | 'default' => 'sans', 152 | 'capability' => 'edit_theme_options', 153 | 'type' => 'theme_mod', 154 | 'sanitize_callback' => 'atomic_blocks_sanitize_select', 155 | )); 156 | 157 | $wp_customize->add_control( 'atomic_blocks_font_style', array( 158 | 'settings' => 'atomic_blocks_font_style', 159 | 'label' => esc_html__( 'Font Style', 'atomic-blocks' ), 160 | 'description' => esc_html__( 'Choose the font style used across your site.', 'atomic-blocks' ), 161 | 'section' => 'atomic_blocks_theme_options', 162 | 'type' => 'select', 163 | 'priority' => 15, 164 | 'choices' => array( 165 | 'sans' => esc_html__( 'Sans Serif', 'atomic-blocks' ), 166 | 'serif' => esc_html__( 'Serif', 'atomic-blocks' ), 167 | ), 168 | )); 169 | 170 | 171 | /** 172 | * Title Font Size 173 | */ 174 | $wp_customize->add_setting( 'atomic_blocks_title_font_size', array( 175 | 'default' => '50', 176 | 'type' => 'theme_mod', 177 | 'capability' => 'edit_theme_options', 178 | 'transport' => 'postMessage', 179 | 'sanitize_callback' => 'atomic_blocks_sanitize_range', 180 | ) ); 181 | 182 | $wp_customize->add_control( 'atomic_blocks_title_font_size', array( 183 | 'type' => 'range', 184 | 'priority' => 25, 185 | 'section' => 'atomic_blocks_theme_options', 186 | 'label' => esc_html__( 'Title Font Size', 'atomic-blocks' ), 187 | 'description' => esc_html__( 'Adjust the size of the post and page titles.', 'atomic-blocks' ), 188 | 'input_attrs' => array( 189 | 'min' => 34, 190 | 'max' => 70, 191 | 'step' => 1, 192 | 'style' => 'width: 100%', 193 | ), 194 | ) ); 195 | 196 | 197 | /** 198 | * Footer Tagline 199 | */ 200 | $wp_customize->add_setting( 'atomic_blocks_footer_text', array( 201 | 'sanitize_callback' => 'atomic_blocks_sanitize_text', 202 | 'transport' => 'postMessage', 203 | ) ); 204 | 205 | $wp_customize->add_control( 'atomic_blocks_footer_text', array( 206 | 'label' => esc_html__( 'Footer Tagline', 'atomic-blocks' ), 207 | 'section' => 'atomic_blocks_theme_options', 208 | 'settings' => 'atomic_blocks_footer_text', 209 | 'description' => esc_html__( 'Change the text that appears in the footer tagline at the bottom of your site.', 'atomic-blocks' ), 210 | 'type' => 'text', 211 | 'priority' => 30 212 | ) 213 | ); 214 | 215 | $wp_customize->selective_refresh->add_partial( 'atomic_blocks_footer_text', array( 216 | 'selector' => '.site-info', 217 | 'container_inclusive' => false, 218 | 'render_callback' => atomic_blocks_footer_tagline(), 219 | ) ); 220 | } 221 | 222 | 223 | /** 224 | * Adjust header height based on theme option 225 | */ 226 | function atomic_blocks_css_output() { 227 | // Theme Options 228 | $accent_color = esc_html( get_theme_mod( 'atomic_blocks_button_color', '#5a3fd6' ) ); 229 | $content_width = esc_html( get_theme_mod( 'atomic_blocks_content_width', '70' ).'%' ); 230 | $title_font_size = esc_html( get_theme_mod( 'atomic_blocks_title_font_size', '50' ).'px' ); 231 | $font_style = esc_html( get_theme_mod( 'atomic_blocks_font_style', 'sans' ) ); 232 | 233 | if( $font_style == 'serif' ) { 234 | $title_font_face = "'Frank Ruhl Libre', serif"; 235 | } else { 236 | $title_font_face = "'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;"; 237 | } 238 | 239 | // Check for styles before outputting 240 | if ( $accent_color ) { 241 | 242 | $atomic_blocks_custom_css = " 243 | 244 | button, 245 | input[type='button'], 246 | input[type='submit'], 247 | .button, 248 | .page-numbers.current, 249 | .page-numbers:hover, 250 | #page #infinite-handle button, 251 | #page #infinite-handle button:hover, 252 | .comment-navigation a, 253 | .su-button, 254 | .mobile-navigation, 255 | .toggle-active { 256 | background-color: $accent_color; 257 | } 258 | 259 | .entry-content p a, 260 | .entry-content p a:hover, 261 | .header-text a, 262 | .header-text a:hover, 263 | .entry-content .meta-list a, 264 | .post-navigation a:hover .post-title, 265 | .entry-header .entry-title a:hover, 266 | #page .more-link:hover, 267 | .site-footer a, 268 | .main-navigation a:hover, 269 | .main-navigation ul li.current-menu-item a, 270 | .main-navigation ul li.current-page-item a { 271 | color: $accent_color; 272 | } 273 | 274 | .entry-header .entry-title a:hover { 275 | box-shadow: inset 0 -4px 0 $accent_color; 276 | } 277 | 278 | .entry-content p a, 279 | .header-text a { 280 | box-shadow: inset 0 -1px 0 $accent_color; 281 | } 282 | 283 | .entry-content p a:hover, 284 | .header-text a:hover { 285 | box-shadow: inset 0 -2px 0 $accent_color; 286 | } 287 | 288 | @media (min-width: 1000px) { 289 | #primary { 290 | width: $content_width; 291 | } 292 | } 293 | 294 | @media (min-width: 1000px) { 295 | .entry-header .entry-title { 296 | font-size: $title_font_size; 297 | } 298 | } 299 | 300 | h1, h2, h3, h4, h5, h6, body, button, 301 | input[type='button'], 302 | input[type='reset'], 303 | input[type='submit'], 304 | .button, 305 | #page #infinite-handle button { 306 | font-family: $title_font_face; 307 | } 308 | 309 | "; 310 | 311 | wp_add_inline_style( 'atomic-blocks-style', $atomic_blocks_custom_css ); 312 | } } 313 | add_action( 'wp_enqueue_scripts', 'atomic_blocks_css_output' ); 314 | 315 | 316 | /** 317 | * Add font class to admin body 318 | */ 319 | function atomic_blocks_admin_font( $classes ) { 320 | 321 | $font_style = get_theme_mod( 'atomic_blocks_font_style', 'sans' ); 322 | 323 | if ( $font_style == 'serif' ) { 324 | $font_class[] = 'serif-font-option'; 325 | } else { 326 | $font_class[] = 'sans-font-option'; 327 | } 328 | 329 | return $classes . ' ' . implode( ' ', $font_class ) . ' '; 330 | } 331 | add_filter( 'admin_body_class', 'atomic_blocks_admin_font' ); 332 | 333 | 334 | /** 335 | * Add postMessage support and selective refresh for site title and description. 336 | * 337 | * @param WP_Customize_Manager $wp_customize Theme Customizer object. 338 | */ 339 | function atomic_blocks_customize_register( $wp_customize ) { 340 | $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; 341 | $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; 342 | 343 | $wp_customize->selective_refresh->add_partial( 'header_site_title', array( 344 | 'selector' => '.site-title a', 345 | 'settings' => array( 'blogname' ), 346 | 'render_callback' => atomic_blocks_blog_name(), 347 | ) ); 348 | 349 | $wp_customize->selective_refresh->add_partial( 'header_site_description', array( 350 | 'selector' => '.site-description', 351 | 'settings' => array( 'blogdescription' ), 352 | 'render_callback' => atomic_blocks_blog_description(), 353 | ) ); 354 | } 355 | add_action( 'customize_register', 'atomic_blocks_customize_register' ); 356 | 357 | 358 | /** 359 | * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. 360 | */ 361 | function atomic_blocks_customize_preview_js() { 362 | wp_enqueue_script( 'atomic_blocks_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20180228', true ); 363 | } 364 | add_action( 'customize_preview_init', 'atomic_blocks_customize_preview_js' ); 365 | 366 | 367 | /** 368 | * Send customization styling to block editor 369 | */ 370 | function atomic_blocks_gutenberg_styles() { 371 | // Theme Options 372 | $accent_color = esc_html( get_theme_mod( 'atomic_blocks_button_color', '#5a3fd6' ) ); 373 | $title_font_size = esc_html( get_theme_mod( 'atomic_blocks_title_font_size', '50' ) . 'px' ); 374 | $content_width = esc_html( get_theme_mod( 'atomic_blocks_content_width', '70' ) . '%' ); 375 | 376 | // CSS for block editor 377 | $css = ''; 378 | $css .= '#editor .edit-post-visual-editor textarea.editor-post-title__input { font-size: ' . esc_attr( $title_font_size ) . '; }'; 379 | $css .= ' 380 | #editor .editor-rich-text__tinymce a { 381 | box-shadow: inset 0 -1px 0 ' . esc_attr( $accent_color ) . '; 382 | color: ' . esc_attr( $accent_color ) . '; 383 | } 384 | #editor .editor-rich-text__tinymce a:hover, 385 | .ab-block-post-grid h2 a:hover, 386 | .ab-block-post-grid .ab-block-post-grid-link:hover { 387 | color: ' . esc_attr( $accent_color ) . '; 388 | box-shadow: inset 0 -2px 0 ' . esc_attr( $accent_color ) . '; 389 | } 390 | .wp-block:not([data-align="full"]):not([data-align="wide"]) { max-width: ' . esc_attr( $content_width ) . '; } 391 | '; 392 | return wp_strip_all_tags( $css ); 393 | } -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /inc/fontawesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/inc/fontawesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /inc/jetpack.php: -------------------------------------------------------------------------------- 1 | 'post-wrap', 18 | 'footer' => false, 19 | 'footer_widgets' => array( 'footer-1', 'footer-2', 'footer-3' ), 20 | 'render' => 'atomic_blocks_render_infinite_posts', 21 | 'wrapper' => 'new-infinite-posts', 22 | ) ); 23 | 24 | /** 25 | * Add support for Responsive Videos 26 | */ 27 | add_theme_support( 'jetpack-responsive-videos' ); 28 | } 29 | add_action( 'after_setup_theme', 'atomic_blocks_jetpack_setup' ); 30 | 31 | 32 | /** 33 | * Remove Related Posts CSS 34 | */ 35 | function atomic_blocks_rp_css() { 36 | wp_deregister_style( 'jetpack_related-posts' ); 37 | } 38 | add_action( 'wp_print_styles', 'atomic_blocks_rp_css' ); 39 | add_filter( 'jetpack_implode_frontend_css', '__return_false' ); 40 | 41 | 42 | /** 43 | * Render infinite posts by using template parts 44 | */ 45 | function atomic_blocks_render_infinite_posts() { 46 | while ( have_posts() ) { 47 | the_post(); 48 | 49 | if ( is_search() ) { 50 | get_template_part( 'template-parts/content-search' ); 51 | } else { 52 | get_template_part( 'template-parts/content' ); 53 | } 54 | } 55 | } 56 | 57 | 58 | /** 59 | * Changes the text of the "Older posts" button in infinite scroll 60 | */ 61 | function atomic_blocks_infinite_scroll_button_text( $js_settings ) { 62 | $js_settings['text'] = esc_html__( 'Load more', 'atomic-blocks' ); 63 | return $js_settings; 64 | } 65 | add_filter( 'infinite_scroll_js_settings', 'atomic_blocks_infinite_scroll_button_text' ); -------------------------------------------------------------------------------- /inc/sass/common.scss: -------------------------------------------------------------------------------- 1 | /* 2 | Styles for the block editor and front end 3 | */ 4 | 5 | p + .alignfull, 6 | p + .alignwide { 7 | margin-top: 2em; 8 | } 9 | 10 | .wp-block-columns { 11 | justify-content: space-between; 12 | 13 | @media only screen and (max-width: 600px) { 14 | display: block; 15 | } 16 | } 17 | 18 | .wp-block-column { 19 | width: 48%; 20 | flex: 0 1 auto; 21 | 22 | @media only screen and (max-width: 600px) { 23 | width: 100%; 24 | } 25 | } -------------------------------------------------------------------------------- /inc/sass/style-editor-extra.scss: -------------------------------------------------------------------------------- 1 | /* 2 | Additional styles for the editor 3 | This file is required for non-prefixed editor styles 4 | */ 5 | 6 | body.serif-font-option .editor-styles-wrapper { 7 | font-family: 'Frank Ruhl Libre', 'Georgia', serif; 8 | 9 | .editor-post-title__input, 10 | h1, 11 | h2, 12 | h3, 13 | h4, 14 | h5, 15 | h6, 16 | p, 17 | ul, 18 | ol, 19 | dl { 20 | font-family: 'Frank Ruhl Libre', 'Georgia', serif; 21 | } 22 | } -------------------------------------------------------------------------------- /inc/sass/style-editor.scss: -------------------------------------------------------------------------------- 1 | /* 2 | Styles for the block editor 3 | */ 4 | 5 | /* Import Atomic Blocks Sass Variables (inc/sass/variables.scss) */ 6 | 7 | body { 8 | color: #333; 9 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 10 | font-size: 20px; 11 | } 12 | 13 | p, ul, ol, dl { 14 | font-size: 20px; 15 | } 16 | 17 | h1, 18 | h2, 19 | h3, 20 | h4, 21 | h5, 22 | h6 { 23 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 24 | font-weight: 700; 25 | line-height: 1.3; 26 | margin: 0 0 20px; 27 | } 28 | 29 | a { 30 | text-decoration: none; 31 | } 32 | 33 | /* Editor post title */ 34 | .editor-post-title__input { 35 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 36 | font-size: 50px; 37 | font-weight: 700; 38 | line-height: 1.3; 39 | } 40 | 41 | /* Main column width */ 42 | .wp-block { 43 | max-width: 830px; 44 | } 45 | 46 | /* Width of "wide" blocks */ 47 | .wp-block[data-align="wide"] { 48 | max-width: 1080px; 49 | } 50 | 51 | /* Width of "full-wide" blocks */ 52 | .wp-block[data-align="full"] { 53 | max-width: none; 54 | } 55 | 56 | .wp-block[data-align="full"] .wp-block, 57 | .wp-block[data-align="wide"] .wp-block, 58 | .wp-block[data-type="atomic-blocks/ab-columns"] .wp-block, 59 | .ab-block-container .wp-block { 60 | max-width: 100%; 61 | } 62 | 63 | .wp-block-quote { 64 | font-weight: bold; 65 | padding-left: 30px; 66 | } 67 | 68 | .wp-block-separator { 69 | background-color: transparent; 70 | border: 0; 71 | height: 0px; 72 | margin: 2em 0; 73 | max-width: 100%; 74 | border: solid 1px #ddd; 75 | } 76 | 77 | .editor-block-list__block[data-align=center] { 78 | text-align: center; 79 | } 80 | 81 | #editor .wp-block-cover-text { 82 | font-size: 2em; 83 | } -------------------------------------------------------------------------------- /inc/sass/variables.css: -------------------------------------------------------------------------------- 1 | /*THIS FILE IS COMPILED FROM AN .SCSS FILE - DO NOT EDIT DIRECTLY*/ 2 | /* These variables are used througout style.scss. */ 3 | /* Body font styles */ 4 | /* Title font styles */ 5 | /* Color variables */ 6 | /* Responsive media query mixins */ 7 | /* Styles for small text with uppercase font style. Used on dates and post meta */ 8 | -------------------------------------------------------------------------------- /inc/sass/variables.scss: -------------------------------------------------------------------------------- 1 | /* These variables are used througout style.scss. */ 2 | 3 | /* Body font styles */ 4 | $body: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 5 | 6 | /* Title font styles */ 7 | $title: 'Muli', 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 8 | 9 | /* Color variables */ 10 | $gray: #62707c; 11 | $black: #272c30; 12 | $accent: #5a3fd6; 13 | 14 | /* Responsive media query mixins */ 15 | @mixin viewport($point) { 16 | @if $point == desktop { 17 | @media ( min-width: 1000px ) { @content; } 18 | } 19 | @else if $point == tablet { 20 | @media ( max-width: 1000px ) { @content; } 21 | } 22 | @else if $point == mobile { 23 | @media ( max-width: 600px ) { @content; } 24 | } 25 | } 26 | 27 | /* Styles for small text with uppercase font style. Used on dates and post meta */ 28 | @mixin sans-uppercase { 29 | color: $gray; 30 | font-family: $body; 31 | font-size: 13px; 32 | text-transform: uppercase; 33 | letter-spacing: 1px; 34 | font-weight: 400; 35 | } 36 | -------------------------------------------------------------------------------- /inc/template-tags.php: -------------------------------------------------------------------------------- 1 | 30 |
31 | 32 | 36 | 37 |
38 | 39 |

40 | 41 |

42 | 43 | 44 | 45 |

46 | 47 |
48 |
49 | 57 |
58 |

59 | 60 | 70 |
71 | 72 |
73 | 74 | 75 |
76 | 77 | ' . get_search_query() . '' ); 87 | } elseif ( is_404() ) { 88 | $title = _e( 'Page Not Found', 'atomic-blocks' ); 89 | } 90 | 91 | return $title; 92 | } 93 | add_filter( 'get_the_archive_title', 'atomic_blocks_change_archive_title' ); 94 | 95 | 96 | /** 97 | * Custom comment output 98 | */ 99 | function atomic_blocks_comment( $comment, $args, $depth ) { ?> 100 |
  • id="li-comment-"> 101 | 102 |
    103 | 104 |
    105 | 106 | 107 |
    108 | 109 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 | 117 |

    118 | $depth, 'max_depth' => $args['max_depth'] ) ) ) ?> 119 |

    120 |
    121 | 122 | comment_approved == '0' ) : ?> 123 | 124 | 125 |
    126 |
    127 | '' . esc_html__( 'Next:', 'atomic-blocks' ) . ' ' . 144 | '' . esc_html__( 'Next post:', 'atomic-blocks' ) . ' ' . 145 | '%title', 146 | 'prev_text' => '' . esc_html__( 'Previous:', 'atomic-blocks' ) . ' ' . 147 | '' . esc_html__( 'Previous post:', 'atomic-blocks' ) . ' ' . 148 | '%title', 149 | ) ); 150 | } endif; 151 | 152 | 153 | /** 154 | * Author post widget 155 | * 156 | * @since 1.0 157 | */ 158 | if ( ! function_exists( 'atomic_blocks_author_box' ) ) : 159 | function atomic_blocks_author_box() { 160 | global $post, $current_user; 161 | $author = get_userdata( $post->post_author ); 162 | if ( $author && ! empty( $author->description ) ) { 163 | ?> 164 |
    165 | 166 | 167 | 168 |
    169 |

    170 | 171 | 172 | 173 | 174 | 175 |

    176 | 177 |
    178 |

    179 |
    180 | 181 | 188 |
    189 |
    190 | 191 | 199 | post_author; 203 | ?> 204 | 217 | array( 239 | 'class' => array(), 240 | ), 241 | ) 242 | ); 243 | $title = '' . esc_html( $title_parts[0] ) . ': ' . $title; 244 | } 245 | return $title; 246 | } endif; 247 | add_filter( 'get_the_archive_title', 'atomic_blocks_modify_archive_title' ); 248 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
    11 |
    12 |
    13 | 28 |
    29 | 30 | 31 |
    32 |
    33 | 34 | 35 | -------------------------------------------------------------------------------- /js/atomic-blocks.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | $(document).ready(function() { 5 | 6 | $(window).on('load', function() { 7 | var current_width = $(window).width(); 8 | 9 | // Only run on desktop 10 | if ( current_width > 768 ) { 11 | 12 | // Find menu items with a drop menu and center them 13 | $('.main-navigation li').each(function() { 14 | if ($(this).find('ul:first-of-type').length > 0) { 15 | var parent_width = $(this).outerWidth(true); 16 | var child_width = $(this).find('ul').outerWidth(true); 17 | var new_width = parseInt((child_width - parent_width) / 2); 18 | $(this).find('ul').css('margin-left', -new_width + 'px'); 19 | } 20 | }); 21 | } 22 | }); 23 | 24 | 25 | // Standardize drop menu types 26 | $('.main-navigation .children').addClass('sub-menu'); 27 | $('.main-navigation .page_item_has_children').addClass('menu-item-has-children'); 28 | 29 | 30 | // Toggle the mobile menu 31 | $('.menu-toggle').click(function() { 32 | $('.mobile-navigation').toggleClass('toggle-active'); 33 | $('.drawer').toggle(); 34 | $(this).find('span').toggle(); 35 | }); 36 | 37 | // Append a clickable icon to mobile drop menus 38 | var item = $(''); 39 | 40 | // Append clickable icon for mobile drop menu 41 | if ($('.drawer .menu-item-has-children .toggle-sub').length == 0) { 42 | $('.drawer .menu-item-has-children,.drawer .page_item_has_children').append(item); 43 | } 44 | 45 | // Show sub menu when toggle is clicked 46 | $('.drawer .menu-item-has-children .toggle-sub').click(function(e) { 47 | $(this).each(function() { 48 | e.preventDefault(); 49 | 50 | // Change aria expanded value 51 | $(this).attr('aria-expanded', ($(this).attr('aria-expanded')=='false') ? 'true':'false'); 52 | 53 | // Open the drop menu 54 | $(this).closest('.menu-item-has-children').toggleClass('drop-open'); 55 | $(this).prev('.sub-menu').toggleClass('drop-active'); 56 | 57 | // Change the toggle icon 58 | $(this).find('i').toggleClass('fa-angle-down').toggleClass('fa-angle-up'); 59 | }); 60 | }); 61 | 62 | 63 | // Fitvids 64 | function fitVids() { 65 | $('.post,.featured-image').fitVids(); 66 | } 67 | fitVids(); 68 | 69 | 70 | // Scroll back to top 71 | $('.back-to-top a, .sticky-title').click(function(e) { 72 | e.preventDefault(); 73 | 74 | $('html,body').animate({ 75 | scrollTop: 0 76 | }, 700); 77 | 78 | return false; 79 | } ); 80 | 81 | 82 | // Infinite scroll 83 | $(document.body).on('post-load', function () { 84 | var $container = $('#post-wrap'); 85 | var $newItems = $('.new-infinite-posts').not('.is--replaced'); 86 | var $elements = $newItems.find('.post'); 87 | 88 | // Remove the empty elements that break the grid 89 | $('.new-infinite-posts,.infinite-loader').remove(); 90 | 91 | // Append IS posts 92 | $container.append($elements); 93 | 94 | // Run fitvids on newly arrived posts 95 | fitVids(); 96 | }); 97 | 98 | 99 | // Create the sticky nav bar if we're on the single page 100 | if ($('.single .header-text h1')[0]){ 101 | var section_single = $('#page').offset().top; 102 | 103 | // Show the nav bar when we get to the post title 104 | $(window).scroll(function() { 105 | if($(window).scrollTop() > section_single) { 106 | $('.home-nav').addClass('show-nav'); 107 | } else { 108 | $('.home-nav').removeClass('show-nav'); 109 | } 110 | }); 111 | } 112 | 113 | 114 | // Search togle 115 | $('.search-toggle').click(function(e) { 116 | 117 | // Add a class to the header 118 | $('.site-header').toggleClass('search-drawer-open'); 119 | 120 | // Toggle the expanded tag 121 | $('.search-drawer').attr('aria-expanded', ($('.search-drawer').attr('aria-expanded')=='false') ? 'true':'false').slideToggle(200); 122 | 123 | // Set the focus when the search is opened 124 | $('.big-search .search-input').focus(); 125 | 126 | // Change the toggle icon 127 | $('.search-toggle i').toggle(); 128 | 129 | return false; 130 | }); 131 | 132 | 133 | // Close the search drawer 134 | function closeDrawer() { 135 | $('.search-drawer').attr('aria-expanded','false').slideUp(200); 136 | $('.search-toggle span').hide(); 137 | $('.search-drawer-open .search-toggle i').toggle(); 138 | $('.site-header').removeClass('search-drawer-open'); 139 | } 140 | 141 | 142 | // Escape key closes drawer 143 | $(document).keyup(function(e) { 144 | if (e.keyCode == 27) { 145 | // Hide any drawers that are open 146 | closeDrawer(); 147 | } 148 | }); 149 | 150 | 151 | // Allow clicking in the drawer when it's open 152 | $('.search-drawer').click(function(event){ 153 | event.stopPropagation(); 154 | }); 155 | 156 | }); 157 | 158 | })(jQuery); 159 | -------------------------------------------------------------------------------- /js/customizer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Theme Customizer enhancements for a better user experience. 3 | * 4 | * Contains handlers to make Theme Customizer preview reload changes asynchronously. 5 | */ 6 | 7 | (function($){ 8 | 9 | // Site title and description 10 | wp.customize('blogname',function(value){ 11 | value.bind(function(to){ 12 | $('.site-title').text(to); 13 | }); 14 | }); 15 | 16 | 17 | wp.customize('blogdescription',function(value){ 18 | value.bind(function(to){ 19 | $('.site-description').text(to); 20 | }); 21 | }); 22 | 23 | 24 | // Accent background colors 25 | wp.customize('atomic_blocks_button_color',function(value) { 26 | value.bind( function( to ) { 27 | $('button:not(.preview-toggle), input[type="button"], input[type="reset"], input[type="submit"], .button, .comment-navigation a, .drawer .tax-widget a, .su-button, h3.comments-title, .page-numbers.current, .page-numbers:hover, .page-numbers a:hover, #page .more-link:hover').css('background-color',to); 28 | } ); 29 | } ); 30 | 31 | // Accent text colors 32 | wp.customize('atomic_blocks_button_color',function(value) { 33 | value.bind( function( to ) { 34 | $('.entry-content p a, .entry-content p a:hover, .post-navigation a:hover .post-title, .entry-header .entry-title a:hover, #page .more-link:hover, .site-footer a, .main-navigation a:hover, .main-navigation ul li.current-menu-item a, .main-navigation ul li.current-page-item a').css('color',to); 35 | } ); 36 | } ); 37 | 38 | // Content width 39 | wp.customize('atomic_blocks_content_width',function(value) { 40 | value.bind( function( to ) { 41 | $('#primary').css('width',to+'%'); 42 | } ); 43 | } ); 44 | 45 | // Title font size 46 | wp.customize('atomic_blocks_title_font_size',function(value) { 47 | value.bind( function( to ) { 48 | $('.entry-header .entry-title').css('font-size',to+'px'); 49 | } ); 50 | } ); 51 | 52 | })(jQuery); 53 | -------------------------------------------------------------------------------- /js/jquery.fitvids.js: -------------------------------------------------------------------------------- 1 | /*jshint browser:true */ 2 | /*! 3 | * FitVids 1.1 4 | * 5 | * Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com 6 | * Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ 7 | * Released under the WTFPL license - http://sam.zoy.org/wtfpl/ 8 | * 9 | */ 10 | 11 | ;(function( $ ){ 12 | 13 | 'use strict'; 14 | 15 | $.fn.fitVids = function( options ) { 16 | var settings = { 17 | customSelector: null, 18 | ignore: null 19 | }; 20 | 21 | if(!document.getElementById('fit-vids-style')) { 22 | // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js 23 | var head = document.head || document.getElementsByTagName('head')[0]; 24 | var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}'; 25 | var div = document.createElement("div"); 26 | div.innerHTML = '

    x

    '; 27 | head.appendChild(div.childNodes[1]); 28 | } 29 | 30 | if ( options ) { 31 | $.extend( settings, options ); 32 | } 33 | 34 | return this.each(function(){ 35 | var selectors = [ 36 | 'iframe[src*="player.vimeo.com"]', 37 | 'iframe[src*="youtube.com"]', 38 | 'iframe[src*="youtube-nocookie.com"]', 39 | 'iframe[src*="kickstarter.com"][src*="video.html"]', 40 | 'object', 41 | 'embed' 42 | ]; 43 | 44 | if (settings.customSelector) { 45 | selectors.push(settings.customSelector); 46 | } 47 | 48 | var ignoreList = '.fitvidsignore'; 49 | 50 | if(settings.ignore) { 51 | ignoreList = ignoreList + ', ' + settings.ignore; 52 | } 53 | 54 | var $allVideos = $(this).find(selectors.join(',')); 55 | $allVideos = $allVideos.not('object object'); // SwfObj conflict patch 56 | $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video. 57 | 58 | $allVideos.each(function(){ 59 | var $this = $(this); 60 | if($this.parents(ignoreList).length > 0) { 61 | return; // Disable FitVids on this video. 62 | } 63 | if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } 64 | if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width')))) 65 | { 66 | $this.attr('height', 9); 67 | $this.attr('width', 16); 68 | } 69 | var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), 70 | width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), 71 | aspectRatio = height / width; 72 | if(!$this.attr('name')){ 73 | var videoName = 'fitvid' + $.fn.fitVids._count; 74 | $this.attr('name', videoName); 75 | $.fn.fitVids._count++; 76 | } 77 | $this.wrap('
    ').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%'); 78 | $this.removeAttr('height').removeAttr('width'); 79 | }); 80 | }); 81 | }; 82 | 83 | // Internal counter for unique video names. 84 | $.fn.fitVids._count = 0; 85 | 86 | // Works with either jQuery or Zepto 87 | })( window.jQuery || window.Zepto ); 88 | -------------------------------------------------------------------------------- /languages/de_DE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/languages/de_DE.mo -------------------------------------------------------------------------------- /languages/de_DE.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018 atomicblocks 2 | # This file is distributed under the GPL2+. 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: Atomic Blocks 1.0.3\n" 6 | "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/atomicblocks\n" 7 | "POT-Creation-Date: 2018-07-28 11:32+0200\n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "PO-Revision-Date: 2018-07-28 11:44+0200\n" 12 | "Language-Team: Cornelie Müller-Gödecke, cmg@webdeerns.de\n" 13 | "X-Generator: Poedit 2.0.1\n" 14 | "Last-Translator: Cornelie Müller-Gödecke \n" 15 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 16 | "Language: de_DE\n" 17 | 18 | #: dist/custom-post-types/pricing-tables.php:55 19 | #: dist/custom-post-types/pricing-tables.php:57 20 | #: dist/custom-post-types/pricing-tables.php:67 21 | msgid "Pricing Tables" 22 | msgstr "Preistabellen" 23 | 24 | #: dist/custom-post-types/pricing-tables.php:56 25 | msgid "Pricing Table" 26 | msgstr "Preistabelle" 27 | 28 | #: dist/custom-post-types/pricing-tables.php:58 29 | msgid "Pricing" 30 | msgstr "Preise" 31 | 32 | #: dist/custom-post-types/pricing-tables.php:59 33 | #: dist/custom-post-types/team-members.php:59 34 | #: dist/custom-post-types/testimonials.php:59 35 | msgid "Add New" 36 | msgstr "Neu hinzufügen" 37 | 38 | #: dist/custom-post-types/pricing-tables.php:60 39 | msgid "Add New Pricing Table" 40 | msgstr "Neue Preistabelle hinzufügen" 41 | 42 | #: dist/custom-post-types/pricing-tables.php:61 43 | msgid "Edit Pricing Table" 44 | msgstr "Preistabelle bearbeiten" 45 | 46 | #: dist/custom-post-types/pricing-tables.php:62 47 | msgid "New Pricing Table" 48 | msgstr "Neue Preistabelle" 49 | 50 | #: dist/custom-post-types/pricing-tables.php:63 51 | msgid "View Pricing Table" 52 | msgstr "Preistabelle ansehen" 53 | 54 | #: dist/custom-post-types/pricing-tables.php:64 55 | msgid "Search Pricing Tables" 56 | msgstr "Preistabellen durchsuchen" 57 | 58 | #: dist/custom-post-types/pricing-tables.php:65 59 | msgid "No pricing tables found" 60 | msgstr "Keine Preistabellen gefunden" 61 | 62 | #: dist/custom-post-types/pricing-tables.php:66 63 | msgid "No pricing tables found in trash" 64 | msgstr "Keine Preistabelle im Papierkorb gefunden" 65 | 66 | #: dist/custom-post-types/pricing-tables.php:99 67 | msgid "Pricing Tables Categories" 68 | msgstr "Preistabellen - Kategorien" 69 | 70 | #: dist/custom-post-types/pricing-tables.php:100 71 | msgid "Pricing Table Category" 72 | msgstr "Preistabelle - Kategorie" 73 | 74 | #: dist/custom-post-types/pricing-tables.php:101 75 | #: dist/custom-post-types/team-members.php:101 76 | #: dist/custom-post-types/testimonials.php:101 77 | msgid "Categories" 78 | msgstr "Kategorien" 79 | 80 | #: dist/custom-post-types/pricing-tables.php:102 81 | #: dist/custom-post-types/team-members.php:102 82 | #: dist/custom-post-types/testimonials.php:102 83 | msgid "Category" 84 | msgstr "Kategorie" 85 | 86 | #: dist/custom-post-types/pricing-tables.php:103 87 | #: dist/custom-post-types/team-members.php:103 88 | #: dist/custom-post-types/testimonials.php:103 89 | msgid "Search Categories" 90 | msgstr "Kategorien durchsuchen" 91 | 92 | #: dist/custom-post-types/pricing-tables.php:104 93 | #: dist/custom-post-types/team-members.php:104 94 | #: dist/custom-post-types/testimonials.php:104 95 | msgid "Popular Categories" 96 | msgstr "Häufig verwendete Kategorien" 97 | 98 | #: dist/custom-post-types/pricing-tables.php:105 99 | #: dist/custom-post-types/team-members.php:105 100 | #: dist/custom-post-types/testimonials.php:105 101 | msgid "All Categories" 102 | msgstr "Alle Kategorien" 103 | 104 | #: dist/custom-post-types/pricing-tables.php:106 105 | #: dist/custom-post-types/team-members.php:106 106 | #: dist/custom-post-types/testimonials.php:106 107 | msgid "Edit Category" 108 | msgstr "Kategorie bearbeiten" 109 | 110 | #: dist/custom-post-types/pricing-tables.php:107 111 | #: dist/custom-post-types/team-members.php:107 112 | #: dist/custom-post-types/testimonials.php:107 113 | msgid "View Category" 114 | msgstr "Kategorie anzeigen" 115 | 116 | #: dist/custom-post-types/pricing-tables.php:108 117 | #: dist/custom-post-types/team-members.php:108 118 | #: dist/custom-post-types/testimonials.php:108 119 | msgid "Update Category" 120 | msgstr "Kategorie aktualisieren" 121 | 122 | #: dist/custom-post-types/pricing-tables.php:109 123 | #: dist/custom-post-types/team-members.php:109 124 | #: dist/custom-post-types/testimonials.php:109 125 | msgid "Add New Category" 126 | msgstr "Neue Kategorie hinzufügen" 127 | 128 | #: dist/custom-post-types/pricing-tables.php:110 129 | #: dist/custom-post-types/team-members.php:110 130 | #: dist/custom-post-types/testimonials.php:110 131 | msgid "New Category Name" 132 | msgstr "Name der neuen Kategorie" 133 | 134 | #: dist/custom-post-types/pricing-tables.php:111 135 | #: dist/custom-post-types/team-members.php:111 136 | #: dist/custom-post-types/testimonials.php:111 137 | msgid "Parent Category" 138 | msgstr "Übergeordnete Kategorie" 139 | 140 | #: dist/custom-post-types/pricing-tables.php:112 141 | #: dist/custom-post-types/team-members.php:112 142 | #: dist/custom-post-types/testimonials.php:112 143 | msgid "Parent Category:" 144 | msgstr "Übergeordnete Kategorie:" 145 | 146 | #: dist/custom-post-types/team-members.php:55 147 | #: dist/custom-post-types/team-members.php:57 148 | #: dist/custom-post-types/team-members.php:58 149 | #: dist/custom-post-types/team-members.php:67 150 | msgid "Team Members" 151 | msgstr "Teammitglieder" 152 | 153 | #: dist/custom-post-types/team-members.php:56 154 | msgid "Team Member" 155 | msgstr "Team Mitglied" 156 | 157 | #: dist/custom-post-types/team-members.php:60 158 | msgid "Add New Team Member" 159 | msgstr "Neues Teammitglied hinzufügen" 160 | 161 | #: dist/custom-post-types/team-members.php:61 162 | msgid "Edit Team Member" 163 | msgstr "Teammitglied bearbeiten" 164 | 165 | #: dist/custom-post-types/team-members.php:62 166 | msgid "New Team Member" 167 | msgstr "Neues Teammitglied" 168 | 169 | #: dist/custom-post-types/team-members.php:63 170 | msgid "View Team Member" 171 | msgstr "Teammitglied anzeigen" 172 | 173 | #: dist/custom-post-types/team-members.php:64 174 | msgid "Search Team Members" 175 | msgstr "Teammitglieder suchen" 176 | 177 | #: dist/custom-post-types/team-members.php:65 178 | msgid "No team members found" 179 | msgstr "Keine Team Mitglieder gefunden" 180 | 181 | #: dist/custom-post-types/team-members.php:66 182 | msgid "No team members found in trash" 183 | msgstr "Keine Team-Mitglieder im Papierkorb gefunden" 184 | 185 | #: dist/custom-post-types/team-members.php:99 186 | msgid "Team Member Categories" 187 | msgstr "Mitglieder - Kategorien" 188 | 189 | #: dist/custom-post-types/team-members.php:100 190 | msgid "Team Member Category" 191 | msgstr "Mitglieder - Kategorie" 192 | 193 | #: dist/custom-post-types/testimonials.php:55 194 | #: dist/custom-post-types/testimonials.php:57 195 | #: dist/custom-post-types/testimonials.php:67 196 | msgid "Testimonials" 197 | msgstr "Erfahrungsberichte" 198 | 199 | #: dist/custom-post-types/testimonials.php:56 200 | #: dist/custom-post-types/testimonials.php:58 201 | msgid "Testimonial" 202 | msgstr "Erfahrungsberichte" 203 | 204 | #: dist/custom-post-types/testimonials.php:60 205 | msgid "Add New Testimonial" 206 | msgstr "Neuen Erfahrungsbericht hinzufügen" 207 | 208 | #: dist/custom-post-types/testimonials.php:61 209 | msgid "Edit Testimonial" 210 | msgstr "Erfahrungsbericht bearbeiten" 211 | 212 | #: dist/custom-post-types/testimonials.php:62 213 | msgid "New Testimonial" 214 | msgstr "Neuen Erfahrungsbericht hinzufügen" 215 | 216 | #: dist/custom-post-types/testimonials.php:63 217 | msgid "View Testimonial" 218 | msgstr "Erfahrungsbericht anzeigen" 219 | 220 | #: dist/custom-post-types/testimonials.php:64 221 | msgid "Search Testimonials" 222 | msgstr "Erfahrungsberichte durchsuchen" 223 | 224 | #: dist/custom-post-types/testimonials.php:65 225 | msgid "No testimonials found" 226 | msgstr "Keine Erfahrungsberichte gefunden" 227 | 228 | #: dist/custom-post-types/testimonials.php:66 229 | msgid "No testimonials found in trash" 230 | msgstr "Keine Erfahrungsberichte im Papierkorb gefunden" 231 | 232 | #: dist/custom-post-types/testimonials.php:99 233 | msgid "Testimonial Categories" 234 | msgstr "Kategorien für Erfahrungsberichte" 235 | 236 | #: dist/custom-post-types/testimonials.php:100 237 | msgid "Testimonial Category" 238 | msgstr "Erfahrungsbericht - Kategorie" 239 | 240 | #. Plugin Name of the plugin/theme 241 | msgid "Atomic Blocks" 242 | msgstr "Atomic Blocks" 243 | 244 | #: dist/getting-started/getting-started.php:110 245 | msgid "Getting started with" 246 | msgstr "Beginnen mit" 247 | 248 | #: dist/getting-started/getting-started.php:114 249 | msgid "Plugin Help File" 250 | msgstr "Plugin-Hilfedatei" 251 | 252 | #: dist/getting-started/getting-started.php:115 253 | msgid "Theme Help File" 254 | msgstr "Hilfedatei für das Theme" 255 | 256 | #: dist/getting-started/getting-started.php:116 257 | msgid "Latest Updates" 258 | msgstr "Neuste Updates" 259 | 260 | #: dist/getting-started/getting-started.php:117 261 | msgid "Get More Themes" 262 | msgstr "Holen Sie sich mehrere Themen" 263 | 264 | #: dist/getting-started/getting-started.php:135 265 | #: dist/getting-started/getting-started.php:156 266 | msgid "" 267 | "This help file feed seems to be temporarily down. You can always view the " 268 | "help file on the Atomic Blocks site in the meantime." 269 | msgstr "" 270 | "Diesre Hilfe-Datei-Feed scheint vorübergehend nicht verfügbar sein. Sie " 271 | "können jedoch die Hilfedatei auf der Atomic-Blöcke-Website aufrufen." 272 | 273 | #: dist/getting-started/getting-started.php:174 274 | msgid "" 275 | "Array Themes has over 20 WordPress themes that will integrate seamlessly " 276 | "with the new block editor. Use the discount code ATOMICUSER to get " 277 | "15% off anything in the store!" 278 | msgstr "" 279 | "Array-Themen bietet mehr als 20 WordPress-Themes, die nahtlos mit dem neuen " 280 | "blockEditor zusammenspielen. Verwenden Sie den Rabatt-Code " 281 | "ATOMICUSER um 15 % Rabatt auf alles im Shop erwerben!" 282 | 283 | #: dist/getting-started/getting-started.php:177 284 | msgid "Browse the theme collection" 285 | msgstr "Themesammlung anzeigen →" 286 | 287 | #: dist/getting-started/getting-started.php:193 288 | msgid "" 289 | "This theme feed seems to be temporarily down. Please check back later, or " 290 | "visit our Themes page on Array." 291 | msgstr "" 292 | "Dieser Theme-Feed scheint vorübergehend nicht verfügbar sein. Versuchen Sie " 293 | "es später noch einmal oder besuchen Sie unsere Seite Themen " 294 | "auf Array." 295 | 296 | #: dist/getting-started/getting-started.php:209 297 | msgid "Quick Start Checklist" 298 | msgstr "Quick-Start-Checkliste" 299 | 300 | #: dist/getting-started/getting-started.php:214 301 | msgid "1. Install the Gutenberg plugin." 302 | msgstr "1. das Gutenberg-Plugin installieren." 303 | 304 | #: dist/getting-started/getting-started.php:215 305 | msgid "Gutenberg adds the new block-based editor to WordPress." 306 | msgstr "" 307 | "Gutenbeeg ist das Plugin für den neuen WordPress Editor. Sie benötigen dies " 308 | "für das Atomic-Blocks-Plugin." 309 | 310 | #: dist/getting-started/getting-started.php:218 311 | msgid "Install Gutenberg now" 312 | msgstr "Gutenberg jetzt installieren" 313 | 314 | #: dist/getting-started/getting-started.php:220 315 | #: dist/getting-started/getting-started.php:231 316 | msgid "Plugin already installed!" 317 | msgstr "Plugin ist bereits installiert." 318 | 319 | #: dist/getting-started/getting-started.php:225 320 | msgid "2. Install the Atomic Blocks plugin." 321 | msgstr "2. Installieren Sie das Atomic Blocks-Plugin." 322 | 323 | #: dist/getting-started/getting-started.php:226 324 | msgid "Atomic Blocks adds several handy blocks to the block editor." 325 | msgstr "" 326 | "Atomic Blocks fügt dem Gutenberg-Blockeditor mehrere nützliche Inhaltsblöcke " 327 | "hinzu." 328 | 329 | #: dist/getting-started/getting-started.php:229 330 | msgid "Install Atomic Blocks now" 331 | msgstr "Installieren Sie jetzt Atomic Blocks" 332 | 333 | #: dist/getting-started/getting-started.php:243 334 | msgid "Download the Theme" 335 | msgstr "Laden Sie das Theme herunter" 336 | 337 | #: dist/getting-started/getting-started.php:248 338 | msgid "" 339 | "Download our free Atomic Blocks theme to help you get started with the " 340 | "Atomic Blocks plugin and the new WordPress block editor." 341 | msgstr "" 342 | "Laden Sie das kostenlose Atomic-Blocks-Theme für den Einstieg in die Arbeit " 343 | "mit dem Atomic-Blocks-Plugin und dem neuen WordPress-Editor." 344 | 345 | #: dist/getting-started/getting-started.php:250 346 | msgid "Download Now" 347 | msgstr "Jetzt herunterladen" 348 | 349 | #: dist/getting-started/getting-started.php:260 350 | msgid "Stay Updated" 351 | msgstr "Auf dem Laufenden bleiben" 352 | 353 | #: dist/getting-started/getting-started.php:265 354 | msgid "" 355 | "The Atomic Blocks theme and plugin are both in early development. Join the " 356 | "newsletter and we will send you an email when we update the theme and plugin!" 357 | msgstr "" 358 | "Das Atomic Blocks Theme und das Plugin sind beide noch in einer frühen " 359 | "Entwicklungsphase. Melden Sie sich für den Newsletter an und wir senden " 360 | "Ihnen eine E-Mail, wenn wir das Thema und das Plugin aktualisieren!" 361 | 362 | #: dist/getting-started/getting-started.php:267 363 | msgid "Subscribe Now" 364 | msgstr "Jetzt abonnieren" 365 | 366 | #: dist/getting-started/getting-started.php:276 367 | msgid "Free Blocks & Tutorials" 368 | msgstr "Freie Blöcke & Tutorials" 369 | 370 | #: dist/getting-started/getting-started.php:281 371 | msgid "" 372 | "Check out the Atomic Blocks site to find block editor tutorials, free blocks " 373 | "and updates about the Atomic Blocks plugin and theme!" 374 | msgstr "" 375 | "Auf der Webseite von Atomic Blocks finden Sie Tutorials, freie Blöcke und " 376 | "Updates für das Atomic-Blocks-Plugin und das Theme!" 377 | 378 | #: dist/getting-started/getting-started.php:282 379 | msgid "Visit AtomicBlocks.com" 380 | msgstr "https://atomicblocks.com" 381 | 382 | #: dist/init.php:122 383 | msgid "No posts" 384 | msgstr "Keine Einträge" 385 | 386 | #. Plugin URI of the plugin/theme 387 | msgid "https://atomicblocks.com" 388 | msgstr "https://atomicblocks.com" 389 | 390 | #. Description of the plugin/theme 391 | msgid "" 392 | "A beautiful collection of WordPress editor blocks to help you effortlessly " 393 | "build the website you've always wanted." 394 | msgstr "" 395 | "Eine schöne Sammlung von WordPress Editor Blöcken für das mühelose Arbeiten " 396 | "mit dem Editor auf Ihrer Webseite." 397 | 398 | #. Author of the plugin/theme 399 | msgid "atomicblocks" 400 | msgstr "atomicblocks" 401 | 402 | #. Author URI of the plugin/theme 403 | msgid "http://arraythemes.com" 404 | msgstr "http://arraythemes.com" 405 | -------------------------------------------------------------------------------- /languages/de_DE@formal.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/languages/de_DE@formal.mo -------------------------------------------------------------------------------- /languages/de_DE@formal.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2018 atomicblocks 2 | # This file is distributed under the GPL2+. 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: Atomic Blocks 1.0.3\n" 6 | "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/atomicblocks\n" 7 | "POT-Creation-Date: 2018-07-28 11:32+0200\n" 8 | "MIME-Version: 1.0\n" 9 | "Content-Type: text/plain; charset=UTF-8\n" 10 | "Content-Transfer-Encoding: 8bit\n" 11 | "PO-Revision-Date: 2018-07-28 11:44+0200\n" 12 | "Language-Team: Cornelie Müller-Gödecke, cmg@webdeerns.de\n" 13 | "X-Generator: Poedit 2.0.1\n" 14 | "Last-Translator: Cornelie Müller-Gödecke \n" 15 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 16 | "Language: de_DE@formal\n" 17 | 18 | #: dist/custom-post-types/pricing-tables.php:55 19 | #: dist/custom-post-types/pricing-tables.php:57 20 | #: dist/custom-post-types/pricing-tables.php:67 21 | msgid "Pricing Tables" 22 | msgstr "Preistabellen" 23 | 24 | #: dist/custom-post-types/pricing-tables.php:56 25 | msgid "Pricing Table" 26 | msgstr "Preistabelle" 27 | 28 | #: dist/custom-post-types/pricing-tables.php:58 29 | msgid "Pricing" 30 | msgstr "Preise" 31 | 32 | #: dist/custom-post-types/pricing-tables.php:59 33 | #: dist/custom-post-types/team-members.php:59 34 | #: dist/custom-post-types/testimonials.php:59 35 | msgid "Add New" 36 | msgstr "Neu hinzufügen" 37 | 38 | #: dist/custom-post-types/pricing-tables.php:60 39 | msgid "Add New Pricing Table" 40 | msgstr "Neue Preistabelle hinzufügen" 41 | 42 | #: dist/custom-post-types/pricing-tables.php:61 43 | msgid "Edit Pricing Table" 44 | msgstr "Preistabelle bearbeiten" 45 | 46 | #: dist/custom-post-types/pricing-tables.php:62 47 | msgid "New Pricing Table" 48 | msgstr "Neue Preistabelle" 49 | 50 | #: dist/custom-post-types/pricing-tables.php:63 51 | msgid "View Pricing Table" 52 | msgstr "Preistabelle ansehen" 53 | 54 | #: dist/custom-post-types/pricing-tables.php:64 55 | msgid "Search Pricing Tables" 56 | msgstr "Preistabellen durchsuchen" 57 | 58 | #: dist/custom-post-types/pricing-tables.php:65 59 | msgid "No pricing tables found" 60 | msgstr "Keine Preistabellen gefunden" 61 | 62 | #: dist/custom-post-types/pricing-tables.php:66 63 | msgid "No pricing tables found in trash" 64 | msgstr "Keine Preistabelle im Papierkorb gefunden" 65 | 66 | #: dist/custom-post-types/pricing-tables.php:99 67 | msgid "Pricing Tables Categories" 68 | msgstr "Preistabellen - Kategorien" 69 | 70 | #: dist/custom-post-types/pricing-tables.php:100 71 | msgid "Pricing Table Category" 72 | msgstr "Preistabelle - Kategorie" 73 | 74 | #: dist/custom-post-types/pricing-tables.php:101 75 | #: dist/custom-post-types/team-members.php:101 76 | #: dist/custom-post-types/testimonials.php:101 77 | msgid "Categories" 78 | msgstr "Kategorien" 79 | 80 | #: dist/custom-post-types/pricing-tables.php:102 81 | #: dist/custom-post-types/team-members.php:102 82 | #: dist/custom-post-types/testimonials.php:102 83 | msgid "Category" 84 | msgstr "Kategorie" 85 | 86 | #: dist/custom-post-types/pricing-tables.php:103 87 | #: dist/custom-post-types/team-members.php:103 88 | #: dist/custom-post-types/testimonials.php:103 89 | msgid "Search Categories" 90 | msgstr "Kategorien durchsuchen" 91 | 92 | #: dist/custom-post-types/pricing-tables.php:104 93 | #: dist/custom-post-types/team-members.php:104 94 | #: dist/custom-post-types/testimonials.php:104 95 | msgid "Popular Categories" 96 | msgstr "Häufig verwendete Kategorien" 97 | 98 | #: dist/custom-post-types/pricing-tables.php:105 99 | #: dist/custom-post-types/team-members.php:105 100 | #: dist/custom-post-types/testimonials.php:105 101 | msgid "All Categories" 102 | msgstr "Alle Kategorien" 103 | 104 | #: dist/custom-post-types/pricing-tables.php:106 105 | #: dist/custom-post-types/team-members.php:106 106 | #: dist/custom-post-types/testimonials.php:106 107 | msgid "Edit Category" 108 | msgstr "Kategorie bearbeiten" 109 | 110 | #: dist/custom-post-types/pricing-tables.php:107 111 | #: dist/custom-post-types/team-members.php:107 112 | #: dist/custom-post-types/testimonials.php:107 113 | msgid "View Category" 114 | msgstr "Kategorie anzeigen" 115 | 116 | #: dist/custom-post-types/pricing-tables.php:108 117 | #: dist/custom-post-types/team-members.php:108 118 | #: dist/custom-post-types/testimonials.php:108 119 | msgid "Update Category" 120 | msgstr "Kategorie aktualisieren" 121 | 122 | #: dist/custom-post-types/pricing-tables.php:109 123 | #: dist/custom-post-types/team-members.php:109 124 | #: dist/custom-post-types/testimonials.php:109 125 | msgid "Add New Category" 126 | msgstr "Neue Kategorie hinzufügen" 127 | 128 | #: dist/custom-post-types/pricing-tables.php:110 129 | #: dist/custom-post-types/team-members.php:110 130 | #: dist/custom-post-types/testimonials.php:110 131 | msgid "New Category Name" 132 | msgstr "Name der neuen Kategorie" 133 | 134 | #: dist/custom-post-types/pricing-tables.php:111 135 | #: dist/custom-post-types/team-members.php:111 136 | #: dist/custom-post-types/testimonials.php:111 137 | msgid "Parent Category" 138 | msgstr "Übergeordnete Kategorie" 139 | 140 | #: dist/custom-post-types/pricing-tables.php:112 141 | #: dist/custom-post-types/team-members.php:112 142 | #: dist/custom-post-types/testimonials.php:112 143 | msgid "Parent Category:" 144 | msgstr "Übergeordnete Kategorie:" 145 | 146 | #: dist/custom-post-types/team-members.php:55 147 | #: dist/custom-post-types/team-members.php:57 148 | #: dist/custom-post-types/team-members.php:58 149 | #: dist/custom-post-types/team-members.php:67 150 | msgid "Team Members" 151 | msgstr "Teammitglieder" 152 | 153 | #: dist/custom-post-types/team-members.php:56 154 | msgid "Team Member" 155 | msgstr "Team Mitglied" 156 | 157 | #: dist/custom-post-types/team-members.php:60 158 | msgid "Add New Team Member" 159 | msgstr "Neues Teammitglied hinzufügen" 160 | 161 | #: dist/custom-post-types/team-members.php:61 162 | msgid "Edit Team Member" 163 | msgstr "Teammitglied bearbeiten" 164 | 165 | #: dist/custom-post-types/team-members.php:62 166 | msgid "New Team Member" 167 | msgstr "Neues Teammitglied" 168 | 169 | #: dist/custom-post-types/team-members.php:63 170 | msgid "View Team Member" 171 | msgstr "Teammitglied anzeigen" 172 | 173 | #: dist/custom-post-types/team-members.php:64 174 | msgid "Search Team Members" 175 | msgstr "Teammitglieder suchen" 176 | 177 | #: dist/custom-post-types/team-members.php:65 178 | msgid "No team members found" 179 | msgstr "Keine Team Mitglieder gefunden" 180 | 181 | #: dist/custom-post-types/team-members.php:66 182 | msgid "No team members found in trash" 183 | msgstr "Keine Team-Mitglieder im Papierkorb gefunden" 184 | 185 | #: dist/custom-post-types/team-members.php:99 186 | msgid "Team Member Categories" 187 | msgstr "Mitglieder - Kategorien" 188 | 189 | #: dist/custom-post-types/team-members.php:100 190 | msgid "Team Member Category" 191 | msgstr "Mitglieder - Kategorie" 192 | 193 | #: dist/custom-post-types/testimonials.php:55 194 | #: dist/custom-post-types/testimonials.php:57 195 | #: dist/custom-post-types/testimonials.php:67 196 | msgid "Testimonials" 197 | msgstr "Erfahrungsberichte" 198 | 199 | #: dist/custom-post-types/testimonials.php:56 200 | #: dist/custom-post-types/testimonials.php:58 201 | msgid "Testimonial" 202 | msgstr "Erfahrungsberichte" 203 | 204 | #: dist/custom-post-types/testimonials.php:60 205 | msgid "Add New Testimonial" 206 | msgstr "Neuen Erfahrungsbericht hinzufügen" 207 | 208 | #: dist/custom-post-types/testimonials.php:61 209 | msgid "Edit Testimonial" 210 | msgstr "Erfahrungsbericht bearbeiten" 211 | 212 | #: dist/custom-post-types/testimonials.php:62 213 | msgid "New Testimonial" 214 | msgstr "Neuen Erfahrungsbericht hinzufügen" 215 | 216 | #: dist/custom-post-types/testimonials.php:63 217 | msgid "View Testimonial" 218 | msgstr "Erfahrungsbericht anzeigen" 219 | 220 | #: dist/custom-post-types/testimonials.php:64 221 | msgid "Search Testimonials" 222 | msgstr "Erfahrungsberichte durchsuchen" 223 | 224 | #: dist/custom-post-types/testimonials.php:65 225 | msgid "No testimonials found" 226 | msgstr "Keine Erfahrungsberichte gefunden" 227 | 228 | #: dist/custom-post-types/testimonials.php:66 229 | msgid "No testimonials found in trash" 230 | msgstr "Keine Erfahrungsberichte im Papierkorb gefunden" 231 | 232 | #: dist/custom-post-types/testimonials.php:99 233 | msgid "Testimonial Categories" 234 | msgstr "Kategorien für Erfahrungsberichte" 235 | 236 | #: dist/custom-post-types/testimonials.php:100 237 | msgid "Testimonial Category" 238 | msgstr "Erfahrungsbericht - Kategorie" 239 | 240 | #. Plugin Name of the plugin/theme 241 | msgid "Atomic Blocks" 242 | msgstr "Atomic Blocks" 243 | 244 | #: dist/getting-started/getting-started.php:110 245 | msgid "Getting started with" 246 | msgstr "Beginnen mit" 247 | 248 | #: dist/getting-started/getting-started.php:114 249 | msgid "Plugin Help File" 250 | msgstr "Plugin-Hilfedatei" 251 | 252 | #: dist/getting-started/getting-started.php:115 253 | msgid "Theme Help File" 254 | msgstr "Hilfedatei für das Theme" 255 | 256 | #: dist/getting-started/getting-started.php:116 257 | msgid "Latest Updates" 258 | msgstr "Neuste Updates" 259 | 260 | #: dist/getting-started/getting-started.php:117 261 | msgid "Get More Themes" 262 | msgstr "Holen Sie sich mehrere Themen" 263 | 264 | #: dist/getting-started/getting-started.php:135 265 | #: dist/getting-started/getting-started.php:156 266 | msgid "" 267 | "This help file feed seems to be temporarily down. You can always view the " 268 | "help file on the Atomic Blocks site in the meantime." 269 | msgstr "" 270 | "Diesre Hilfe-Datei-Feed scheint vorübergehend nicht verfügbar sein. Sie " 271 | "können jedoch die Hilfedatei auf der Atomic-Blöcke-Website aufrufen." 272 | 273 | #: dist/getting-started/getting-started.php:174 274 | msgid "" 275 | "Array Themes has over 20 WordPress themes that will integrate seamlessly " 276 | "with the new block editor. Use the discount code ATOMICUSER to get " 277 | "15% off anything in the store!" 278 | msgstr "" 279 | "Array-Themen bietet mehr als 20 WordPress-Themes, die nahtlos mit dem neuen " 280 | "blockEditor zusammenspielen. Verwenden Sie den Rabatt-Code " 281 | "ATOMICUSER um 15 % Rabatt auf alles im Shop erwerben!" 282 | 283 | #: dist/getting-started/getting-started.php:177 284 | msgid "Browse the theme collection" 285 | msgstr "Themesammlung anzeigen →" 286 | 287 | #: dist/getting-started/getting-started.php:193 288 | msgid "" 289 | "This theme feed seems to be temporarily down. Please check back later, or " 290 | "visit our Themes page on Array." 291 | msgstr "" 292 | "Dieser Theme-Feed scheint vorübergehend nicht verfügbar sein. Versuchen Sie " 293 | "es später noch einmal oder besuchen Sie unsere Seite Themen " 294 | "auf Array." 295 | 296 | #: dist/getting-started/getting-started.php:209 297 | msgid "Quick Start Checklist" 298 | msgstr "Quick-Start-Checkliste" 299 | 300 | #: dist/getting-started/getting-started.php:214 301 | msgid "1. Install the Gutenberg plugin." 302 | msgstr "1. das Gutenberg-Plugin installieren." 303 | 304 | #: dist/getting-started/getting-started.php:215 305 | msgid "Gutenberg adds the new block-based editor to WordPress." 306 | msgstr "" 307 | "Gutenbeeg ist das Plugin für den neuen WordPress Editor. Sie benötigen dies " 308 | "für das Atomic-Blocks-Plugin." 309 | 310 | #: dist/getting-started/getting-started.php:218 311 | msgid "Install Gutenberg now" 312 | msgstr "Gutenberg jetzt installieren" 313 | 314 | #: dist/getting-started/getting-started.php:220 315 | #: dist/getting-started/getting-started.php:231 316 | msgid "Plugin already installed!" 317 | msgstr "Plugin ist bereits installiert." 318 | 319 | #: dist/getting-started/getting-started.php:225 320 | msgid "2. Install the Atomic Blocks plugin." 321 | msgstr "2. Installieren Sie das Atomic Blocks-Plugin." 322 | 323 | #: dist/getting-started/getting-started.php:226 324 | msgid "Atomic Blocks adds several handy blocks to the block editor." 325 | msgstr "" 326 | "Atomic Blocks fügt dem Gutenberg-Blockeditor mehrere nützliche Inhaltsblöcke " 327 | "hinzu." 328 | 329 | #: dist/getting-started/getting-started.php:229 330 | msgid "Install Atomic Blocks now" 331 | msgstr "Installieren Sie jetzt Atomic Blocks" 332 | 333 | #: dist/getting-started/getting-started.php:243 334 | msgid "Download the Theme" 335 | msgstr "Laden Sie das Theme herunter" 336 | 337 | #: dist/getting-started/getting-started.php:248 338 | msgid "" 339 | "Download our free Atomic Blocks theme to help you get started with the " 340 | "Atomic Blocks plugin and the new WordPress block editor." 341 | msgstr "" 342 | "Laden Sie das kostenlose Atomic-Blocks-Theme für den Einstieg in die Arbeit " 343 | "mit dem Atomic-Blocks-Plugin und dem neuen WordPress-Editor." 344 | 345 | #: dist/getting-started/getting-started.php:250 346 | msgid "Download Now" 347 | msgstr "Jetzt herunterladen" 348 | 349 | #: dist/getting-started/getting-started.php:260 350 | msgid "Stay Updated" 351 | msgstr "Auf dem Laufenden bleiben" 352 | 353 | #: dist/getting-started/getting-started.php:265 354 | msgid "" 355 | "The Atomic Blocks theme and plugin are both in early development. Join the " 356 | "newsletter and we will send you an email when we update the theme and plugin!" 357 | msgstr "" 358 | "Das Atomic Blocks Theme und das Plugin sind beide noch in einer frühen " 359 | "Entwicklungsphase. Melden Sie sich für den Newsletter an und wir senden " 360 | "Ihnen eine E-Mail, wenn wir das Thema und das Plugin aktualisieren!" 361 | 362 | #: dist/getting-started/getting-started.php:267 363 | msgid "Subscribe Now" 364 | msgstr "Jetzt abonnieren" 365 | 366 | #: dist/getting-started/getting-started.php:276 367 | msgid "Free Blocks & Tutorials" 368 | msgstr "Freie Blöcke & Tutorials" 369 | 370 | #: dist/getting-started/getting-started.php:281 371 | msgid "" 372 | "Check out the Atomic Blocks site to find block editor tutorials, free blocks " 373 | "and updates about the Atomic Blocks plugin and theme!" 374 | msgstr "" 375 | "Auf der Webseite von Atomic Blocks finden Sie Tutorials, freie Blöcke und " 376 | "Updates für das Atomic-Blocks-Plugin und das Theme!" 377 | 378 | #: dist/getting-started/getting-started.php:282 379 | msgid "Visit AtomicBlocks.com" 380 | msgstr "https://atomicblocks.com" 381 | 382 | #: dist/init.php:122 383 | msgid "No posts" 384 | msgstr "Keine Einträge" 385 | 386 | #. Plugin URI of the plugin/theme 387 | msgid "https://atomicblocks.com" 388 | msgstr "https://atomicblocks.com" 389 | 390 | #. Description of the plugin/theme 391 | msgid "" 392 | "A beautiful collection of WordPress editor blocks to help you effortlessly " 393 | "build the website you've always wanted." 394 | msgstr "" 395 | "Eine schöne Sammlung von WordPress Editor Blöcken für das mühelose Arbeiten " 396 | "mit dem Editor auf Ihrer Webseite." 397 | 398 | #. Author of the plugin/theme 399 | msgid "atomicblocks" 400 | msgstr "atomicblocks" 401 | 402 | #. Author URI of the plugin/theme 403 | msgid "http://arraythemes.com" 404 | msgstr "http://arraythemes.com" 405 | -------------------------------------------------------------------------------- /languages/fr_FR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/languages/fr_FR.mo -------------------------------------------------------------------------------- /languages/readme.txt: -------------------------------------------------------------------------------- 1 | Place your theme language files in this directory. 2 | 3 | Please visit the following links to learn more about translating WordPress themes: 4 | 5 | http://codex.wordpress.org/Translating_WordPress 6 | http://codex.wordpress.org/Function_Reference/load_theme_textdomain 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "atomic-blocks", 3 | "version": "1.0.0", 4 | "devDependencies": { 5 | "grunt": "^1.0.4", 6 | "grunt-autoprefixer": "^0.8.0", 7 | "grunt-browser-sync": "^2.1.3", 8 | "grunt-cli": "^1.3.2", 9 | "grunt-contrib-sass": "^0.7.3", 10 | "grunt-contrib-watch": "^1.1.0", 11 | "grunt-csscomb": "^4.0.0", 12 | "grunt-cssjanus": "^0.2.4", 13 | "grunt-sass": "^3.0.2", 14 | "grunt-shell": "^1.1.1", 15 | "grunt-string-replace": "^1.0.0", 16 | "grunt-wp-i18n": "^1.0.3", 17 | "node-sass": "^4.13.1" 18 | }, 19 | "dependencies": { 20 | "diff": "^3.5.0", 21 | "js-yaml": "^3.13.1" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /page.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
    11 |
    12 | 13 | 19 | 20 |
    21 |
    22 | 23 | 24 | -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | === Atomic Blocks === 2 | Contributors: arrayhq 3 | Donate link: https://atomicblocks.com/ 4 | Tags: one-column, featured-images, theme-options, custom-background, custom-colors, custom-menu, editor-style, translation-ready, footer-widgets, full-width-template, blog, gutenberg 5 | Requires at least: 4.0 6 | Tested up to: 5.2.2 7 | Stable tag: 1.2.6 8 | License: GPLv2 or later 9 | License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 | 11 | A beautifully-simple yet powerful WordPress theme that integrates perfectly with the new Gutenberg editor and the Atomic Blocks plugin. Start building amazing websites with the new WordPress editor today! Atomic Blocks comes with theme options to customize your font style, body and title font sizes, content width and more! Install the Atomic Blocks plugin (atomicblocks.com) to add even more page-building blocks such as testimonials, sharing icons, notices, call to actions, buttons and more. Theme Demo: https://preview.arraythemes.com/atomicblocks 12 | 13 | == Description == 14 | 15 | A beautifully-simple yet powerful WordPress theme that integrates perfectly with the new Gutenberg editor and the Atomic Blocks plugin. Start building amazing websites with the new WordPress editor today! Atomic Blocks comes with theme options to customize your font style, body and title font sizes, content width and more! Install the Atomic Blocks plugin (atomicblocks.com) to add even more page-building blocks such as testimonials, sharing icons, notices, call to actions, buttons and more. Theme Demo: https://preview.arraythemes.com/atomicblocks 16 | 17 | == Copyright == 18 | 19 | Atomic Blocks WordPress Theme, Copyright 2018 Array Themes 20 | Atomic Blocks is distributed under the terms of the GNU GPL 21 | 22 | This program is free software: you can redistribute it and/or modify 23 | it under the terms of the GNU General Public License as published by 24 | the Free Software Foundation, either version 2 of the License, or 25 | (at your option) any later version. 26 | 27 | This program is distributed in the hope that it will be useful, 28 | but WITHOUT ANY WARRANTY; without even the implied warranty of 29 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 30 | GNU General Public License for more details. 31 | 32 | Atomic Blocks bundles the following third-party resources: 33 | 34 | Fitvids, Copyright Chris Coyier and Paravel 35 | Licenses: GNU GPL 36 | Source: https://github.com/davatron5000/FitVids.js 37 | 38 | Font Awesome icons, Copyright Dave Gandy 39 | License: SIL Open Font License, version 5.0.12. 40 | Source: http://fontawesome.io/ 41 | 42 | Screenshot mountain image 43 | License: CC0 1.0 Universal (CC0 1.0) 44 | Source: https://pixabay.com/en/france-mountains-fog-mist-sunrise-1790999/ 45 | 46 | Screenshot hiking image 47 | License: CC0 1.0 Universal (CC0 1.0) 48 | Source: https://pixabay.com/en/girl-person-walking-footbridge-918706/ 49 | 50 | == Change Log == 51 | 52 | = 1.2.6 - 10/16/19 = 53 | * Improve alignment styles. 54 | * Improve block editor styles for default themes. 55 | * Fix editor width setting in Customizer to match block editor width. 56 | * Remove specific heading colors in favor of body styles. 57 | * Remove forced image width. 58 | 59 | = 1.2.5 - 6/26/19 = 60 | * Minor style improvements for AB plugin section and layouts. 61 | 62 | = 1.2.4 - 1/14/19 = 63 | * Rework editor styles to match core. 64 | * Fix footer text wrap. 65 | * Fix Disable Google Font error. 66 | * Remove unnecessary masonry and imagesLoaded. 67 | * Fix font family in lists. 68 | 69 | = 1.2.3 - 10/5/18 = 70 | * Fix mobile responsiveness for columns. 71 | 72 | = 1.2.2 - 9/25/18 = 73 | * Fix wide and full width alignment styles. 74 | * Fix list style in Firefox. 75 | * Fix padding on video embeds. 76 | 77 | = 1.2.1 - 9/18/18 = 78 | * Fix editor width. 79 | 80 | = 1.2.0 - 9/6/18 = 81 | * Fix hover accent color on post grid. 82 | * Fix gallery styles. 83 | 84 | = 1.1.9 - 8/15/18 = 85 | * Improve template functions to work better with child themes. 86 | * Add French translation files. 87 | 88 | = 1.1.8 - 8/14/18 = 89 | * Improve display of wide and full width styles. 90 | 91 | = 1.1.7 - 8/9/18 = 92 | * Remove transition from links in block editor. 93 | 94 | = 1.1.6 - 8/9/18 = 95 | * Fix alignleft and alignright styling on mobile. 96 | * Display customizer options (title and body font size, accent color) in the block editor. 97 | 98 | = 1.1.5 - 7/26/18 = 99 | * Add fix for comment avatar positioning. 100 | 101 | = 1.1.4 - 7/25/18 = 102 | * Improve styles for Jetpack modules. 103 | 104 | = 1.1.3 - 7/20/18 = 105 | * Improve full width styles for Gutenberg. 106 | * Remove CSS that was hiding update notice on Getting Started page. 107 | 108 | = 1.1.0 - 5/30/18 = 109 | * Fix typo in readme.txt. 110 | * Add cursor style to search toggle. 111 | 112 | = 1.0.9 - 5/29/18 = 113 | * Add search icon to header. 114 | * Optimize images and other resources. 115 | 116 | = 1.0.8 - 5/24/18 = 117 | * Fix characters in Getting Started page. 118 | 119 | = 1.0.7 - 5/24/18 = 120 | * Improved Getting Started dashboard. 121 | * Improved styles for footer and page templates. 122 | 123 | = 1.0.6 - 5/8/18 = 124 | * Update FontAwesome to newest version. 125 | * Minor style tweaks. 126 | 127 | = 1.0.5 - 4/23/18 = 128 | * Improve full width and wide alignment styles. 129 | 130 | = 1.0.4 - 4/20/18 = 131 | * Change h2 title tag to h1 on single pages. 132 | 133 | = 1.0.3 - 4/18/18 = 134 | * Add prefixes to styles in Getting Started page. 135 | * Improve plugin install links in Getting Started page. 136 | * Change folder name back to atomic-blocks-theme. 137 | 138 | = 1.0.2 - 4/15/18 = 139 | * Fix redirect to Getting Started page. 140 | * Change folder name to atomic-blocks. 141 | 142 | = 1.0.1 - 3/12/18 = 143 | * Fix width of title in Gutenberg editor styles. 144 | * Improve plugin install from Getting Started sidebar. 145 | 146 | = 1.0 - 2/26/18 = 147 | * Initial release. 148 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrayHQ/atomic-blocks-theme/b7ed26ba2b03ff91eee36c189b48c45cce4a8ad6/screenshot.png -------------------------------------------------------------------------------- /search.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
    11 |
    12 |
    13 | 23 |

    24 | 26 |
    27 | 28 | 29 |
    30 |
    31 | 32 | 33 | -------------------------------------------------------------------------------- /searchform.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 20 | -------------------------------------------------------------------------------- /sidebar.php: -------------------------------------------------------------------------------- 1 | 10 | 17 | 10 | 11 |
    12 |
    13 | 14 | 20 | 21 |
    22 |
    23 | 24 | 25 | -------------------------------------------------------------------------------- /style-editor-extra.css: -------------------------------------------------------------------------------- 1 | /* 2 | Additional styles for the editor 3 | This file is required for non-prefixed editor styles 4 | */ 5 | body.serif-font-option .editor-styles-wrapper { 6 | font-family: 'Frank Ruhl Libre', 'Georgia', serif; 7 | } 8 | body.serif-font-option .editor-styles-wrapper .editor-post-title__input, 9 | body.serif-font-option .editor-styles-wrapper h1, 10 | body.serif-font-option .editor-styles-wrapper h2, 11 | body.serif-font-option .editor-styles-wrapper h3, 12 | body.serif-font-option .editor-styles-wrapper h4, 13 | body.serif-font-option .editor-styles-wrapper h5, 14 | body.serif-font-option .editor-styles-wrapper h6, 15 | body.serif-font-option .editor-styles-wrapper p, 16 | body.serif-font-option .editor-styles-wrapper ul, 17 | body.serif-font-option .editor-styles-wrapper ol, 18 | body.serif-font-option .editor-styles-wrapper dl { 19 | font-family: 'Frank Ruhl Libre', 'Georgia', serif; 20 | } 21 | 22 | /*# sourceMappingURL=style-editor-extra.css.map */ 23 | -------------------------------------------------------------------------------- /style-editor.css: -------------------------------------------------------------------------------- 1 | /* 2 | Styles for the block editor 3 | */ 4 | /* Import Atomic Blocks Sass Variables (inc/sass/variables.scss) */ 5 | body { 6 | color: #333; 7 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 8 | font-size: 20px; 9 | } 10 | 11 | p, ul, ol, dl { 12 | font-size: 20px; 13 | } 14 | 15 | h1, 16 | h2, 17 | h3, 18 | h4, 19 | h5, 20 | h6 { 21 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 22 | font-weight: 700; 23 | line-height: 1.3; 24 | margin: 0 0 20px; 25 | } 26 | 27 | a { 28 | text-decoration: none; 29 | } 30 | 31 | /* Editor post title */ 32 | .editor-post-title__input { 33 | font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 34 | font-size: 50px; 35 | font-weight: 700; 36 | line-height: 1.3; 37 | } 38 | 39 | /* Main column width */ 40 | .wp-block { 41 | max-width: 830px; 42 | } 43 | 44 | /* Width of "wide" blocks */ 45 | .wp-block[data-align="wide"] { 46 | max-width: 1080px; 47 | } 48 | 49 | /* Width of "full-wide" blocks */ 50 | .wp-block[data-align="full"] { 51 | max-width: none; 52 | } 53 | 54 | .wp-block[data-align="full"] .wp-block, 55 | .wp-block[data-align="wide"] .wp-block, 56 | .wp-block[data-type="atomic-blocks/ab-columns"] .wp-block, 57 | .ab-block-container .wp-block { 58 | max-width: 100%; 59 | } 60 | 61 | .wp-block-quote { 62 | font-weight: bold; 63 | padding-left: 30px; 64 | } 65 | 66 | .wp-block-separator { 67 | background-color: transparent; 68 | border: 0; 69 | height: 0px; 70 | margin: 2em 0; 71 | max-width: 100%; 72 | border: solid 1px #ddd; 73 | } 74 | 75 | .editor-block-list__block[data-align=center] { 76 | text-align: center; 77 | } 78 | 79 | #editor .wp-block-cover-text { 80 | font-size: 2em; 81 | } 82 | 83 | /*# sourceMappingURL=style-editor.css.map */ 84 | -------------------------------------------------------------------------------- /template-parts/content-menu-drawer.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
    11 | 21 |
    22 | 23 |
    24 |
    25 | 30 | 31 | 32 |
    33 |
    34 | -------------------------------------------------------------------------------- /template-parts/content-meta.php: -------------------------------------------------------------------------------- 1 | 13 | 16 |
      17 | 20 |
    • 21 | 22 | 23 | 24 |
    • 25 | 26 | 27 | 31 |
    • 32 | 33 | 34 |
    • 35 | 36 | 37 | 40 |
    • 41 | 42 | 49 |
    • 50 | 51 | 52 | 55 |
    • 56 | 57 | 60 |
    • 61 | 62 |
    63 | 64 | -------------------------------------------------------------------------------- /template-parts/content-none.php: -------------------------------------------------------------------------------- 1 | 10 | 11 |
    12 |
    13 |

    14 |
    15 | 16 |
    17 | 18 | 19 |

    Get started here.', 'atomic-blocks' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( admin_url( 'post-new.php' ) ) ); ?>

    20 | 21 | 22 | 23 | 24 |

    25 | 26 | 27 | 28 | 29 |

    30 | 31 | 32 | 33 |
    34 |
    35 | -------------------------------------------------------------------------------- /template-parts/content-page.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |
    > 10 | 11 |
    12 |
    13 |

    14 | 15 |

    16 |
    17 | 18 | 19 | 22 | 23 | 24 |
    25 | 26 | '', 34 | ) ); 35 | 36 | // Comments template 37 | comments_template(); ?> 38 |
    39 |
    40 | 41 |
    42 | -------------------------------------------------------------------------------- /template-parts/content-search.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |
    > 10 | 11 |
    12 | 13 |
    14 |

    15 | 16 |
    17 | 18 | 19 |
    20 | 21 | 22 | 23 | 24 | 25 |
    26 |
    27 | 28 |
    29 | -------------------------------------------------------------------------------- /template-parts/content.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |
    > 10 |
    11 | 12 |
    13 | 14 |

    15 | 16 |

    17 | 18 |

    19 | 20 |

    21 | 22 | 23 | 24 |
    25 | 26 | 27 | 34 | 35 | 36 |
    37 | 38 | '', 46 | ) ); 47 | 48 | if ( is_single() ) { 49 | // Post meta sidebar 50 | get_template_part( 'template-parts/content-meta' ); 51 | 52 | // Author profile box 53 | atomic_blocks_author_box(); 54 | 55 | // Post navigations 56 | if( is_single() ) { 57 | if( get_next_post() || get_previous_post() ) { 58 | atomic_blocks_post_navs(); 59 | } } 60 | 61 | // Comments template 62 | comments_template(); 63 | } ?> 64 |
    65 |
    66 | 67 |
    68 | -------------------------------------------------------------------------------- /templates/template-builder.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
    13 |
    14 | 15 | 16 | 17 |
    > 18 | 19 |
    20 | 21 | 22 | 23 |
    24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /templates/template-full-width.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
    11 |
    12 | 13 | 28 | 29 |
    30 |
    31 | 32 | 33 | --------------------------------------------------------------------------------