diff --git a/.github/workflows/test-and-zip-default-themes.yml b/.github/workflows/test-and-zip-default-themes.yml index 75de38f8f700b..d0ac2d43e0378 100644 --- a/.github/workflows/test-and-zip-default-themes.yml +++ b/.github/workflows/test-and-zip-default-themes.yml @@ -83,6 +83,7 @@ jobs: fail-fast: false matrix: theme: [ + 'ipsum', 'twentytwentyfive', 'twentytwentyfour', 'twentytwentythree', @@ -224,6 +225,7 @@ jobs: fail-fast: false matrix: theme: [ + 'ipsum', 'twentytwentyfive', 'twentytwentyfour', 'twentytwentythree', diff --git a/.gitignore b/.gitignore index 15876fa47fee8..f96e379fbb304 100644 --- a/.gitignore +++ b/.gitignore @@ -72,6 +72,7 @@ wp-tests-config.php !/src/wp-content/themes/twentytwentythree !/src/wp-content/themes/twentytwentyfour !/src/wp-content/themes/twentytwentyfive +!/src/wp-content/themes/ipsum /src/wp-content/upgrade /src/wp-content/uploads /src/wp-content/advanced-cache.php diff --git a/Gruntfile.js b/Gruntfile.js index 4bcf906cc1871..f96eda8ce5f61 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -25,6 +25,7 @@ module.exports = function(grunt) { 'wp-content/index.php', 'wp-content/themes/index.php', 'wp-content/themes/twenty*/**', + 'wp-content/themes/ipsum/**', 'wp-content/plugins/index.php', 'wp-content/plugins/hello.php', 'wp-content/plugins/akismet/**', @@ -1715,7 +1716,7 @@ module.exports = function(grunt) { if( grunt.option( 'minimal-copy' ) ) { var copyFilesOptions = grunt.config.get( 'copy.files.files' ); copyFilesOptions[0].src.push( '!wp-content/plugins/**' ); - copyFilesOptions[0].src.push( '!wp-content/themes/!(twenty*)/**' ); + copyFilesOptions[0].src.push( '!wp-content/themes/!(twenty*|ipsum)/**' ); grunt.config.set( 'copy.files.files', copyFilesOptions ); } diff --git a/phpcompat.xml.dist b/phpcompat.xml.dist index c4ebab64ea19b..4ad70ff62e374 100644 --- a/phpcompat.xml.dist +++ b/phpcompat.xml.dist @@ -46,8 +46,8 @@ /src/wp-content/plugins/* - - /src/wp-content/themes/(?!twenty)* + + /src/wp-content/themes/(?!twenty|ipsum)* /src/wp-content/languages/* diff --git a/phpcs.xml.dist b/phpcs.xml.dist index 5a62c500f3150..9f15c0c3670d6 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -112,8 +112,8 @@ /src/wp-content/plugins/* - - /src/wp-content/themes/(?!twenty)* + + /src/wp-content/themes/(?!twenty|ipsum)* /src/wp-content/languages/* diff --git a/src/wp-admin/includes/update-core.php b/src/wp-admin/includes/update-core.php index 4b91dca2b183a..84aea97c5767d 100644 --- a/src/wp-admin/includes/update-core.php +++ b/src/wp-admin/includes/update-core.php @@ -1305,6 +1305,7 @@ 'themes/twentytwentythree/' => '6.1', 'themes/twentytwentyfour/' => '6.4', 'themes/twentytwentyfive/' => '6.7', + 'themes/ipsum/' => '7.2', ); /** diff --git a/src/wp-content/themes/ipsum/assets/css/editor-style.css b/src/wp-content/themes/ipsum/assets/css/editor-style.css new file mode 100644 index 0000000000000..f459c3833eb86 --- /dev/null +++ b/src/wp-content/themes/ipsum/assets/css/editor-style.css @@ -0,0 +1,11 @@ +/* + * Editor-only overrides. The editors load style.css first, so this file holds + * only what the editors need on top of it. + * + * Sticky header part and pinned search bar: !important because the editor + * forces position:relative on block wrappers. + */ +header.wp-block-template-part:has(> .is-position-sticky), +.sticky-bottom { + position: sticky !important; +} diff --git a/src/wp-content/themes/ipsum/assets/fonts/archivo-condensed/archivo-condensed-var-italic.woff2 b/src/wp-content/themes/ipsum/assets/fonts/archivo-condensed/archivo-condensed-var-italic.woff2 new file mode 100644 index 0000000000000..6baccf86fc32a Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/archivo-condensed/archivo-condensed-var-italic.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/archivo-condensed/archivo-condensed-var-normal.woff2 b/src/wp-content/themes/ipsum/assets/fonts/archivo-condensed/archivo-condensed-var-normal.woff2 new file mode 100644 index 0000000000000..4439bd78f6612 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/archivo-condensed/archivo-condensed-var-normal.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/archivo/archivo-var-italic.woff2 b/src/wp-content/themes/ipsum/assets/fonts/archivo/archivo-var-italic.woff2 new file mode 100644 index 0000000000000..92edd34de4d67 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/archivo/archivo-var-italic.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/archivo/archivo-var-normal.woff2 b/src/wp-content/themes/ipsum/assets/fonts/archivo/archivo-var-normal.woff2 new file mode 100644 index 0000000000000..0ff9a1db5ad77 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/archivo/archivo-var-normal.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/besley/besley-var-italic.woff2 b/src/wp-content/themes/ipsum/assets/fonts/besley/besley-var-italic.woff2 new file mode 100644 index 0000000000000..b59070f732165 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/besley/besley-var-italic.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/besley/besley-var-normal.woff2 b/src/wp-content/themes/ipsum/assets/fonts/besley/besley-var-normal.woff2 new file mode 100644 index 0000000000000..97e2b01df2351 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/besley/besley-var-normal.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/inter/inter-var-italic.woff2 b/src/wp-content/themes/ipsum/assets/fonts/inter/inter-var-italic.woff2 new file mode 100644 index 0000000000000..a9783a345cc86 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/inter/inter-var-italic.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/inter/inter-var-normal.woff2 b/src/wp-content/themes/ipsum/assets/fonts/inter/inter-var-normal.woff2 new file mode 100644 index 0000000000000..d7a784bbe447c Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/inter/inter-var-normal.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2 b/src/wp-content/themes/ipsum/assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2 new file mode 100644 index 0000000000000..62f1eeb4fd644 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2 b/src/wp-content/themes/ipsum/assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2 new file mode 100644 index 0000000000000..5a08dd98ce5f8 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/manrope/manrope-var-normal.woff2 b/src/wp-content/themes/ipsum/assets/fonts/manrope/manrope-var-normal.woff2 new file mode 100644 index 0000000000000..44f81dcc5e194 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/manrope/manrope-var-normal.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/stix-two-text/stix-two-text-var-italic.woff2 b/src/wp-content/themes/ipsum/assets/fonts/stix-two-text/stix-two-text-var-italic.woff2 new file mode 100644 index 0000000000000..58648e6bd20d9 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/stix-two-text/stix-two-text-var-italic.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/fonts/stix-two-text/stix-two-text-var-normal.woff2 b/src/wp-content/themes/ipsum/assets/fonts/stix-two-text/stix-two-text-var-normal.woff2 new file mode 100644 index 0000000000000..c8f1cdc7a53bf Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/fonts/stix-two-text/stix-two-text-var-normal.woff2 differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-avatar-cora.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-avatar-cora.webp new file mode 100644 index 0000000000000..e90abe035c67e Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-avatar-cora.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-avatar-iris.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-avatar-iris.webp new file mode 100644 index 0000000000000..418972328d372 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-avatar-iris.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-capital.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-capital.webp new file mode 100644 index 0000000000000..7d04ddf49b0d8 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-capital.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-cover-essays.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-cover-essays.webp new file mode 100644 index 0000000000000..ce680f0c4b337 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-cover-essays.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-cover-pictures.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-cover-pictures.webp new file mode 100644 index 0000000000000..6aba3d27a04a1 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-cover-pictures.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-cover-sounds.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-cover-sounds.webp new file mode 100644 index 0000000000000..dd3adfea8ec14 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-cover-sounds.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-desk-fan.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-desk-fan.webp new file mode 100644 index 0000000000000..5f1d593579fca Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-desk-fan.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-facade.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-facade.webp new file mode 100644 index 0000000000000..c022e26a47eb0 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-facade.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-lead-letter.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-lead-letter.webp new file mode 100644 index 0000000000000..5b7515af42d00 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-lead-letter.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-metal-table.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-metal-table.webp new file mode 100644 index 0000000000000..7b5f9b1e6aa84 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-metal-table.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc-back.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc-back.webp new file mode 100644 index 0000000000000..ce60c9d2e07c8 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc-back.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc-front.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc-front.webp new file mode 100644 index 0000000000000..d14fc0248a8eb Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc-front.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc.webp new file mode 100644 index 0000000000000..aadb500d49c86 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-monobloc.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-pendant-lamp.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-pendant-lamp.webp new file mode 100644 index 0000000000000..e0cf1c8f0670c Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-pendant-lamp.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-polygons.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-polygons.webp new file mode 100644 index 0000000000000..82eb652160dcd Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-polygons.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-portrait-editorial.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-portrait-editorial.webp new file mode 100644 index 0000000000000..f15d7691ae365 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-portrait-editorial.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-portrait-tall.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-portrait-tall.webp new file mode 100644 index 0000000000000..ba98981c362f2 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-portrait-tall.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-sculpture.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-sculpture.webp new file mode 100644 index 0000000000000..e1a2235335cd7 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-sculpture.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-staircase.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-staircase.webp new file mode 100644 index 0000000000000..52a467a4fa636 Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-staircase.webp differ diff --git a/src/wp-content/themes/ipsum/assets/images/ipsum-studio-closeup.webp b/src/wp-content/themes/ipsum/assets/images/ipsum-studio-closeup.webp new file mode 100644 index 0000000000000..2640b918f713c Binary files /dev/null and b/src/wp-content/themes/ipsum/assets/images/ipsum-studio-closeup.webp differ diff --git a/src/wp-content/themes/ipsum/functions.php b/src/wp-content/themes/ipsum/functions.php new file mode 100644 index 0000000000000..3732aed3e0e5c --- /dev/null +++ b/src/wp-content/themes/ipsum/functions.php @@ -0,0 +1,208 @@ +get( 'Version' ) + ); + + // Enqueue theme stylesheet. + wp_enqueue_style( 'ipsum-style' ); + } +endif; +add_action( 'wp_enqueue_scripts', 'ipsum_enqueue_styles' ); + +if ( ! function_exists( 'ipsum_comments_cta_binding' ) ) : + /** + * Returns the comments call to action for the current post. + * + * @since Ipsum 1.0 + * + * @param array $source_args Block binding source arguments. + * @param WP_Block $block_instance The block instance. + * @return string The call to action text. + */ + function ipsum_comments_cta_binding( $source_args, $block_instance ) { + $post_id = $block_instance->context['postId'] ?? get_the_ID(); + + if ( get_comments_number( $post_id ) > 0 ) { + $text = __( 'Join the conversation', 'ipsum' ); + } else { + $text = __( 'Be the first to comment', 'ipsum' ); + } + + return '' . esc_html( $text ) . ''; + } +endif; + +if ( ! function_exists( 'ipsum_register_block_bindings' ) ) : + /** + * Registers the comments call-to-action block binding source. + * + * @since Ipsum 1.0 + * + * @return void + */ + function ipsum_register_block_bindings() { + register_block_bindings_source( + 'ipsum/comments-cta', + array( + 'label' => __( 'Comments call to action', 'ipsum' ), + 'get_value_callback' => 'ipsum_comments_cta_binding', + 'uses_context' => array( 'postId' ), + ) + ); + } +endif; +add_action( 'init', 'ipsum_register_block_bindings' ); + +if ( ! function_exists( 'ipsum_sidebar_template_types' ) ) : + /** + * Registers the sidebar template variants as template types, so they are + * listed with proper titles and descriptions in the Site Editor. + * + * @since Ipsum 1.0 + * + * @param array $default_template_types The default template types. + * @return array The template types, with the sidebar variants added. + */ + function ipsum_sidebar_template_types( $default_template_types ) { + $default_template_types['index-sidebar'] = array( + 'title' => _x( 'Index Sidebar', 'Template name', 'ipsum' ), + 'description' => __( 'Displays the latest posts beside a sidebar with categories and recent posts.', 'ipsum' ), + ); + $default_template_types['archive-sidebar'] = array( + 'title' => _x( 'All Archives Sidebar', 'Template name', 'ipsum' ), + 'description' => __( 'Displays post archives beside a sidebar with categories and recent posts.', 'ipsum' ), + ); + return $default_template_types; + } +endif; +add_filter( 'default_template_types', 'ipsum_sidebar_template_types' ); + +if ( ! function_exists( 'ipsum_register_pattern_categories' ) ) : + /** + * Registers the pattern categories the theme's patterns use beyond core's. + * + * @since Ipsum 1.0 + * + * @return void + */ + function ipsum_register_pattern_categories() { + register_block_pattern_category( + 'ipsum_page', + array( + 'label' => _x( 'Pages', 'Block pattern category', 'ipsum' ), + 'description' => __( 'Full page layouts, ready to be applied to a page.', 'ipsum' ), + ) + ); + } +endif; +add_action( 'init', 'ipsum_register_pattern_categories' ); + +if ( ! function_exists( 'ipsum_search_aria_label_support' ) ) : + /** + * Lets the Search block take an ARIA label, so its search landmark can be named. + * + * Every Search block is a search landmark, and a page can hold more than one, + * such as the search bar next to the search call to action, or next to the + * search in the navigation overlay. Repeated landmarks need unique names, but + * the block has no ariaLabel support of its own, so this turns on core's and + * the patterns set the name. + * + * @since Ipsum 1.0 + * + * @param array $metadata Metadata for the block type being registered. + * @return array The block metadata, with ARIA label support on the Search block. + */ + function ipsum_search_aria_label_support( $metadata ) { + if ( isset( $metadata['name'] ) && 'core/search' === $metadata['name'] ) { + $metadata['supports']['ariaLabel'] = true; + } + return $metadata; + } +endif; +add_filter( 'block_type_metadata', 'ipsum_search_aria_label_support' ); + +if ( ! function_exists( 'ipsum_register_block_styles' ) ) : + /** + * Registers block style variations. + * + * The Evening code style keeps the Evening palette's literals on purpose, + * so the block reads as a dark slab under every style variation. + * + * @since Ipsum 1.0 + * + * @return void + */ + function ipsum_register_block_styles() { + register_block_style( + 'core/code', + array( + 'name' => 'evening', + 'label' => _x( 'Evening', 'Block style label', 'ipsum' ), + 'inline_style' => '.wp-block-code.is-style-evening{background-color:#000000;color:#fafafa;border-color:#fafafa40;}', + ) + ); + + register_block_style( + 'core/site-logo', + array( + 'name' => 'sharp', + 'label' => _x( 'Sharp', 'Block style label', 'ipsum' ), + 'inline_style' => '.wp-block-site-logo.is-style-sharp{border-radius:0;}', + ) + ); + } +endif; +add_action( 'init', 'ipsum_register_block_styles' ); diff --git a/src/wp-content/themes/ipsum/parts/footer-wide.html b/src/wp-content/themes/ipsum/parts/footer-wide.html new file mode 100644 index 0000000000000..533fb910dfdad --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/footer-wide.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/parts/footer.html b/src/wp-content/themes/ipsum/parts/footer.html new file mode 100644 index 0000000000000..181edd1e56747 --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/footer.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/parts/header-collapsed.html b/src/wp-content/themes/ipsum/parts/header-collapsed.html new file mode 100644 index 0000000000000..039b2c9953718 --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/header-collapsed.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/parts/header-sticky.html b/src/wp-content/themes/ipsum/parts/header-sticky.html new file mode 100644 index 0000000000000..6d6f9cb3554e2 --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/header-sticky.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/parts/header.html b/src/wp-content/themes/ipsum/parts/header.html new file mode 100644 index 0000000000000..94b2fa9136d95 --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/header.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/parts/navigation-overlay.html b/src/wp-content/themes/ipsum/parts/navigation-overlay.html new file mode 100644 index 0000000000000..279cf286b100d --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/navigation-overlay.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/parts/search-bar.html b/src/wp-content/themes/ipsum/parts/search-bar.html new file mode 100644 index 0000000000000..2cdce074a826c --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/search-bar.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/parts/sidebar.html b/src/wp-content/themes/ipsum/parts/sidebar.html new file mode 100644 index 0000000000000..7befe48da1ca7 --- /dev/null +++ b/src/wp-content/themes/ipsum/parts/sidebar.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/patterns/about-row.php b/src/wp-content/themes/ipsum/patterns/about-row.php new file mode 100644 index 0000000000000..542589d3efaea --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/about-row.php @@ -0,0 +1,36 @@ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/archive-columns.php b/src/wp-content/themes/ipsum/patterns/archive-columns.php new file mode 100644 index 0000000000000..ae6b1879ce21b --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-columns.php @@ -0,0 +1,43 @@ + + +
+ +
+ + +
+ +
+
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/archive-compact.php b/src/wp-content/themes/ipsum/patterns/archive-compact.php new file mode 100644 index 0000000000000..ee5a01a547276 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-compact.php @@ -0,0 +1,55 @@ + + +
+ +
+
+ + +
+ + +

+ + +
+
+ + + +
+ +
+
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/archive-full.php b/src/wp-content/themes/ipsum/patterns/archive-full.php new file mode 100644 index 0000000000000..947282c196d35 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-full.php @@ -0,0 +1,65 @@ + + +
+ +
+
+ + + +
+ + +
+ + +

+ + +
+
+ + + + + +
+
+ + +

+ + + +

+ + + +

+
+
+
+ + + + +
+ + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/archive-lead.php b/src/wp-content/themes/ipsum/patterns/archive-lead.php new file mode 100644 index 0000000000000..b54020fbbd9bf --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-lead.php @@ -0,0 +1,55 @@ + + +
+
+

+
+ + + +
+ +
+
+ + +
+ + +

+ + +
+
+ + + +
+ +
+
+ + + + +
+ +

+ +
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/archive-minimal.php b/src/wp-content/themes/ipsum/patterns/archive-minimal.php new file mode 100644 index 0000000000000..b5b7f8ec9f7c7 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-minimal.php @@ -0,0 +1,39 @@ + + +
+ +
+ +
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/archive-photographic.php b/src/wp-content/themes/ipsum/patterns/archive-photographic.php new file mode 100644 index 0000000000000..674f77ad3b137 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-photographic.php @@ -0,0 +1,39 @@ + + +
+ +
+ +
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/archive-simple.php b/src/wp-content/themes/ipsum/patterns/archive-simple.php new file mode 100644 index 0000000000000..ca39141da0997 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-simple.php @@ -0,0 +1,53 @@ + + +
+ +
+ + +
+ + +

+ + + + + +

+ + +
+
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/archive-standard.php b/src/wp-content/themes/ipsum/patterns/archive-standard.php new file mode 100644 index 0000000000000..aea2b64ea48da --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/archive-standard.php @@ -0,0 +1,59 @@ + + +
+ +
+
+ + + +
+ + +
+ + +

+ + +
+
+ + + +
+ +
+
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/contact-say-hi.php b/src/wp-content/themes/ipsum/patterns/contact-say-hi.php new file mode 100644 index 0000000000000..c17c43112f695 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/contact-say-hi.php @@ -0,0 +1,34 @@ + + +
+
+

Feel free to reach out.', 'ipsum' ) ); ?>

+ + + + + + + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/cta-membership.php b/src/wp-content/themes/ipsum/patterns/cta-membership.php new file mode 100644 index 0000000000000..6e78eedcf3035 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/cta-membership.php @@ -0,0 +1,42 @@ + + +
+
+
<?php echo esc_attr_x( 'Rows of glossy black hollow cones catching the light.', 'Alt text for the polygons image', 'ipsum' ); ?>
+ + + +
+
+

+ + + +

+
+ + + +
+
+ + + +
+
+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/cta-search.php b/src/wp-content/themes/ipsum/patterns/cta-search.php new file mode 100644 index 0000000000000..d2271df11c472 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/cta-search.php @@ -0,0 +1,14 @@ + +

diff --git a/src/wp-content/themes/ipsum/patterns/events-list.php b/src/wp-content/themes/ipsum/patterns/events-list.php new file mode 100644 index 0000000000000..69986acc5a47c --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/events-list.php @@ -0,0 +1,140 @@ + + +
+
+
+

+ + + +

+
+ + + +
+
+

+ + + +
+
+
+

+
+ + + +

+
+ + + +
+

+ + +
+
+
+ + + +
+

+ + + +
+
+
+

+
+ + + +

+
+ + + +
+

+ + +
+
+
+ + + +
+

+ + + +
+
+
+

+
+ + + +

+
+ + + +
+

+ + +
+
+
+ + + +
+

+ + + +
+
+
+

+
+ + + +

+
+ + + +
+

+ + +
+
+
+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/footer-centered.php b/src/wp-content/themes/ipsum/patterns/footer-centered.php new file mode 100644 index 0000000000000..205b85c1ef138 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/footer-centered.php @@ -0,0 +1,34 @@ + + +
+ +
+ diff --git a/src/wp-content/themes/ipsum/patterns/footer-social.php b/src/wp-content/themes/ipsum/patterns/footer-social.php new file mode 100644 index 0000000000000..836dc4dd41bb9 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/footer-social.php @@ -0,0 +1,38 @@ + + +
+
+ + + +
+ + + +

+', '' ); +?> +

+
+ diff --git a/src/wp-content/themes/ipsum/patterns/footer-subscribe.php b/src/wp-content/themes/ipsum/patterns/footer-subscribe.php new file mode 100644 index 0000000000000..5fc7abce8eed3 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/footer-subscribe.php @@ -0,0 +1,48 @@ + + +
+ + + + +
+

+', '' ); +?> +

+ + + +

+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/footer-wide.php b/src/wp-content/themes/ipsum/patterns/footer-wide.php new file mode 100644 index 0000000000000..b61fc25f18060 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/footer-wide.php @@ -0,0 +1,33 @@ + + +
+
+

+', '' ); +?> +

+ + + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/footer.php b/src/wp-content/themes/ipsum/patterns/footer.php new file mode 100644 index 0000000000000..4b52895fbd84c --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/footer.php @@ -0,0 +1,34 @@ + + +
+
+

+', '' ); +?> +

+ + + + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/format-audio.php b/src/wp-content/themes/ipsum/patterns/format-audio.php new file mode 100644 index 0000000000000..1e61018d10b42 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/format-audio.php @@ -0,0 +1,34 @@ + + +
+
+
<?php echo esc_attr_x( 'A blurred plastic chair in blue and cream tones.', 'Alt text for the monobloc chair image', 'ipsum' ); ?>
+ + + +
+

+ + + +

+
+ + + +
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/format-link.php b/src/wp-content/themes/ipsum/patterns/format-link.php new file mode 100644 index 0000000000000..76fcbac149c22 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/format-link.php @@ -0,0 +1,26 @@ + + +
+
+

+ + + +
+

+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/gallery-grid-full.php b/src/wp-content/themes/ipsum/patterns/gallery-grid-full.php new file mode 100644 index 0000000000000..f32a8a8452a1c --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/gallery-grid-full.php @@ -0,0 +1,64 @@ + + +
+
+
+ +
+ + + +
<?php echo esc_attr_x( 'A dark metal tabletop on a single thin leg against a hazy sky.', 'Alt text for the metal table image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A black staircase climbing a white wall.', 'Alt text for the staircase image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A glowing pendant lamp above a warm orange room.', 'Alt text for the pendant lamp image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'Rows of glossy black hollow cones catching the light.', 'Alt text for the polygons image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A blurred plastic chair in blue and cream tones.', 'Alt text for the monobloc chair image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A capital A pressed into brushed metal.', 'Alt text for the capital letter image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A blurred plastic chair seen from behind, in iridescent pastel tones.', 'Alt text for the back view of the monobloc chair image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'Metal cylinders standing on a gray surface.', 'Alt text for the studio close-up image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'The number 27 fading into blue and pink light.', 'Alt text for the lead letter image', 'ipsum' ); ?>
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/gallery-grid-wide.php b/src/wp-content/themes/ipsum/patterns/gallery-grid-wide.php new file mode 100644 index 0000000000000..4a14747d0e16d --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/gallery-grid-wide.php @@ -0,0 +1,64 @@ + + +
+
+
+ +
+ + + +
<?php echo esc_attr_x( 'A dark metal tabletop on a single thin leg against a hazy sky.', 'Alt text for the metal table image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A black staircase climbing a white wall.', 'Alt text for the staircase image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A glowing pendant lamp above a warm orange room.', 'Alt text for the pendant lamp image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'Rows of glossy black hollow cones catching the light.', 'Alt text for the polygons image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A blurred plastic chair in blue and cream tones.', 'Alt text for the monobloc chair image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A capital A pressed into brushed metal.', 'Alt text for the capital letter image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A blurred plastic chair seen from behind, in iridescent pastel tones.', 'Alt text for the back view of the monobloc chair image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'Metal cylinders standing on a gray surface.', 'Alt text for the studio close-up image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'The number 27 fading into blue and pink light.', 'Alt text for the lead letter image', 'ipsum' ); ?>
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/gallery-grid.php b/src/wp-content/themes/ipsum/patterns/gallery-grid.php new file mode 100644 index 0000000000000..9922ce8148b41 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/gallery-grid.php @@ -0,0 +1,72 @@ + + +
+
+
+ +
+ + + +
<?php echo esc_attr_x( 'A dark metal tabletop on a single thin leg against a hazy sky.', 'Alt text for the metal table image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A black staircase climbing a white wall.', 'Alt text for the staircase image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A glowing pendant lamp above a warm orange room.', 'Alt text for the pendant lamp image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'Rows of glossy black hollow cones catching the light.', 'Alt text for the polygons image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A blurred plastic chair in blue and cream tones.', 'Alt text for the monobloc chair image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A capital A pressed into brushed metal.', 'Alt text for the capital letter image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A blurred plastic chair seen from behind, in iridescent pastel tones.', 'Alt text for the back view of the monobloc chair image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'Metal cylinders standing on a gray surface.', 'Alt text for the studio close-up image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'The number 27 fading into blue and pink light.', 'Alt text for the lead letter image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A blurred figure walking past an orange facade.', 'Alt text for the facade image', 'ipsum' ); ?>
+ + + +
<?php echo esc_attr_x( 'A black ribbon-like sculpture curving across a pale background.', 'Alt text for the sculpture image', 'ipsum' ); ?>
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/gallery-offset-full.php b/src/wp-content/themes/ipsum/patterns/gallery-offset-full.php new file mode 100644 index 0000000000000..a9f97ad206108 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/gallery-offset-full.php @@ -0,0 +1,86 @@ + + +
+
+
+
<?php echo esc_attr_x( 'A dark metal tabletop on a single thin leg against a hazy sky.', 'Alt text for the metal table image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A black staircase climbing a white wall.', 'Alt text for the staircase image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A glowing pendant lamp above a warm orange room.', 'Alt text for the pendant lamp image', 'ipsum' ); ?>
+
+ + + +
+ + + + +
<?php echo esc_attr_x( 'A blurred plastic chair in blue and cream tones.', 'Alt text for the monobloc chair image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'Rows of glossy black hollow cones catching the light.', 'Alt text for the polygons image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'The number 27 fading into blue and pink light.', 'Alt text for the lead letter image', 'ipsum' ); ?>
+
+ + + +
+
<?php echo esc_attr_x( 'A capital A pressed into brushed metal.', 'Alt text for the capital letter image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A desk fan blurred mid-spin against a blue background.', 'Alt text for the desk fan image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A person in profile, in shadow against a blue sky.', 'Alt text for the editorial portrait image', 'ipsum' ); ?>
+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/gallery-offset.php b/src/wp-content/themes/ipsum/patterns/gallery-offset.php new file mode 100644 index 0000000000000..4f5022d5e9d8e --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/gallery-offset.php @@ -0,0 +1,86 @@ + + +
+
+
+
<?php echo esc_attr_x( 'A dark metal tabletop on a single thin leg against a hazy sky.', 'Alt text for the metal table image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A black staircase climbing a white wall.', 'Alt text for the staircase image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A glowing pendant lamp above a warm orange room.', 'Alt text for the pendant lamp image', 'ipsum' ); ?>
+
+ + + +
+ + + + +
<?php echo esc_attr_x( 'A blurred plastic chair in blue and cream tones.', 'Alt text for the monobloc chair image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'Rows of glossy black hollow cones catching the light.', 'Alt text for the polygons image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'The number 27 fading into blue and pink light.', 'Alt text for the lead letter image', 'ipsum' ); ?>
+
+ + + +
+
<?php echo esc_attr_x( 'A capital A pressed into brushed metal.', 'Alt text for the capital letter image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A desk fan blurred mid-spin against a blue background.', 'Alt text for the desk fan image', 'ipsum' ); ?>
+ + + + + + + +
<?php echo esc_attr_x( 'A person in profile, in shadow against a blue sky.', 'Alt text for the editorial portrait image', 'ipsum' ); ?>
+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/header-collapsed.php b/src/wp-content/themes/ipsum/patterns/header-collapsed.php new file mode 100644 index 0000000000000..22d739aa9d7b1 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/header-collapsed.php @@ -0,0 +1,29 @@ + + +
+
+
+ + + +
+ + + +
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/header-default.php b/src/wp-content/themes/ipsum/patterns/header-default.php new file mode 100644 index 0000000000000..d3447c953d76d --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/header-default.php @@ -0,0 +1,25 @@ + + +
+
+
+ +
+ + +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/header-sticky.php b/src/wp-content/themes/ipsum/patterns/header-sticky.php new file mode 100644 index 0000000000000..72eac9a87fc4c --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/header-sticky.php @@ -0,0 +1,27 @@ + + +
+
+
+
+ +
+ + +
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/header-vertical.php b/src/wp-content/themes/ipsum/patterns/header-vertical.php new file mode 100644 index 0000000000000..740f3d7488141 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/header-vertical.php @@ -0,0 +1,23 @@ + + +
+
+
+ +
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/hero-colophon.php b/src/wp-content/themes/ipsum/patterns/hero-colophon.php new file mode 100644 index 0000000000000..36d7b06a47c1b --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hero-colophon.php @@ -0,0 +1,31 @@ + + +
+
+ + +
+

+ + + +

+ + +
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/hero-epigraph.php b/src/wp-content/themes/ipsum/patterns/hero-epigraph.php new file mode 100644 index 0000000000000..21b54b684cdab --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hero-epigraph.php @@ -0,0 +1,44 @@ + + +
+
+
+
+
+ +
+ + +
+
+ + + +

+' ); +?> +

+ + + +
+

+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/hidden-404.php b/src/wp-content/themes/ipsum/patterns/hidden-404.php new file mode 100644 index 0000000000000..afce9b2a14076 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-404.php @@ -0,0 +1,28 @@ + + + + +
+
+

+ + + +

+
+ + +
+ + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-archive-sidebar.php b/src/wp-content/themes/ipsum/patterns/hidden-archive-sidebar.php new file mode 100644 index 0000000000000..23382a9a4af33 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-archive-sidebar.php @@ -0,0 +1,72 @@ + + + + +
+
+
+
+ + + +
+ +
+ + +
+ + +

+ + + + + +

+ + +
+
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+
+ + + +
+
+
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-archive.php b/src/wp-content/themes/ipsum/patterns/hidden-archive.php new file mode 100644 index 0000000000000..0d090bf8860b3 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-archive.php @@ -0,0 +1,25 @@ + + + + +
+
+ + +
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-comments.php b/src/wp-content/themes/ipsum/patterns/hidden-comments.php new file mode 100644 index 0000000000000..a76897c82290e --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-comments.php @@ -0,0 +1,50 @@ + + +
+
+

+ + +
+ + + + +
+
+ + +
+ + +
+ + + +
+
+
+ + +
+ + + + + + + + + +
+ diff --git a/src/wp-content/themes/ipsum/patterns/hidden-index-sidebar.php b/src/wp-content/themes/ipsum/patterns/hidden-index-sidebar.php new file mode 100644 index 0000000000000..33bc60155e8ba --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-index-sidebar.php @@ -0,0 +1,84 @@ + + + + +
+

+ + + +
+
+
+ +
+
+ + + +
+ + +
+ + +

+ + +
+
+ + + + + +
+
+ + +

+ + + +

+ + + +

+
+
+
+ + + + +
+ + + +
+
+
+ + + +
+
+
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-index.php b/src/wp-content/themes/ipsum/patterns/hidden-index.php new file mode 100644 index 0000000000000..9eafea8af305f --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-index.php @@ -0,0 +1,75 @@ + + + + +
+

+ + + +
+ +
+
+ + + +
+ + +
+ + +

+ + +
+
+ + + + + +
+
+ + +

+ + + +

+ + + +

+
+
+
+ + + + +
+ + + +
+
+
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-keep-reading.php b/src/wp-content/themes/ipsum/patterns/hidden-keep-reading.php new file mode 100644 index 0000000000000..6e3c6aee486b4 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-keep-reading.php @@ -0,0 +1,26 @@ + + +
+

+ + + +
+ +
+ +
+ +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/hidden-page-no-title.php b/src/wp-content/themes/ipsum/patterns/hidden-page-no-title.php new file mode 100644 index 0000000000000..0b218a6f0fb0f --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-page-no-title.php @@ -0,0 +1,24 @@ + + + + +
+
+
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-page-sidebar.php b/src/wp-content/themes/ipsum/patterns/hidden-page-sidebar.php new file mode 100644 index 0000000000000..cd067249b73e7 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-page-sidebar.php @@ -0,0 +1,40 @@ + + + + +
+
+
+
+ + + +
+ + + +
+
+ + + +
+
+
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-page.php b/src/wp-content/themes/ipsum/patterns/hidden-page.php new file mode 100644 index 0000000000000..c61afee1258f3 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-page.php @@ -0,0 +1,29 @@ + + + + +
+
+ + + +
+ + +
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-search-bar.php b/src/wp-content/themes/ipsum/patterns/hidden-search-bar.php new file mode 100644 index 0000000000000..3b0fd0689eecd --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-search-bar.php @@ -0,0 +1,14 @@ + + +
+ diff --git a/src/wp-content/themes/ipsum/patterns/hidden-search.php b/src/wp-content/themes/ipsum/patterns/hidden-search.php new file mode 100644 index 0000000000000..03d2f0abc1083 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-search.php @@ -0,0 +1,64 @@ + + + + +
+
+ +
+ + + +
+ +
+
+ + +
+ + +

+ + +
+
+ + + +
+ +
+
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+
+ + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-sidebar.php b/src/wp-content/themes/ipsum/patterns/hidden-sidebar.php new file mode 100644 index 0000000000000..873cc368a7f75 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-sidebar.php @@ -0,0 +1,36 @@ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-single-sidebar.php b/src/wp-content/themes/ipsum/patterns/hidden-single-sidebar.php new file mode 100644 index 0000000000000..1a6f6195d95a3 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-single-sidebar.php @@ -0,0 +1,80 @@ + + + + +
+
+
+
+ + + +
+ + +
+ + +

+ + +
+
+ + + +
+ + +
+ + +
+
+ + +
+

+ + +
+
+
+
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+
+
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/hidden-single.php b/src/wp-content/themes/ipsum/patterns/hidden-single.php new file mode 100644 index 0000000000000..d48ec8647f015 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/hidden-single.php @@ -0,0 +1,69 @@ + + + + +
+
+ + + +
+ + +
+ + +

+ + +
+
+ + + +
+ + + + + +
+
+ + +
+

+ + +
+
+
+ + + +
+ + + + + +
+ + +
+ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/kind-words.php b/src/wp-content/themes/ipsum/patterns/kind-words.php new file mode 100644 index 0000000000000..21eeb508dfbe9 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/kind-words.php @@ -0,0 +1,38 @@ + + +
+
+
<?php echo esc_attr_x( 'Black-and-white portrait of a woman with short curly hair in a dark blazer.', 'Alt text for a reader portrait', 'ipsum' ); ?>
+ + + +
+

+
+
+ + + +
+
<?php echo esc_attr_x( 'Black-and-white portrait of a smiling woman with curly hair.', 'Alt text for a reader portrait', 'ipsum' ); ?>
+ + + +
+

+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/navigation-overlay.php b/src/wp-content/themes/ipsum/patterns/navigation-overlay.php new file mode 100644 index 0000000000000..b9abd1041b3b7 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/navigation-overlay.php @@ -0,0 +1,37 @@ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/overlay-contents.php b/src/wp-content/themes/ipsum/patterns/overlay-contents.php new file mode 100644 index 0000000000000..dedfec5d924c5 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/overlay-contents.php @@ -0,0 +1,29 @@ + + + + diff --git a/src/wp-content/themes/ipsum/patterns/overlay-profile.php b/src/wp-content/themes/ipsum/patterns/overlay-profile.php new file mode 100644 index 0000000000000..79048f94a4eaf --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/overlay-profile.php @@ -0,0 +1,65 @@ + + +
+
+ + + +
+
<?php esc_attr_e( 'Portrait of the author.', 'ipsum' ); ?>
+ + + +
+

+ + + +

+
+
+ + + +
+ + +
+

+ + + +

+ + + +

+ + + +

+
+
+ + + +
+
+
+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/page-bio.php b/src/wp-content/themes/ipsum/patterns/page-bio.php new file mode 100644 index 0000000000000..17beb6a083223 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/page-bio.php @@ -0,0 +1,46 @@ + + +
+ +
+ diff --git a/src/wp-content/themes/ipsum/patterns/page-blog-home.php b/src/wp-content/themes/ipsum/patterns/page-blog-home.php new file mode 100644 index 0000000000000..04f70741d9955 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/page-blog-home.php @@ -0,0 +1,106 @@ + + +
+
+

essays.', 'ipsum' ) ); ?>

+
+
+ + + +
+
+ +
+
+ + + +
+ + +
+ + +

+ + +
+
+ + + +
+ + + +
+
+ + +

+ + + +

+ + + +

+
+
+
+ + + + +
+ +

+ +
+ + + +
+ + + +
+
+
+ + + +
+ +
+ diff --git a/src/wp-content/themes/ipsum/patterns/page-soon.php b/src/wp-content/themes/ipsum/patterns/page-soon.php new file mode 100644 index 0000000000000..99c18ad1def16 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/page-soon.php @@ -0,0 +1,36 @@ + + +
+
+ +
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/text-alternating.php b/src/wp-content/themes/ipsum/patterns/text-alternating.php new file mode 100644 index 0000000000000..23b49480e5d50 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/text-alternating.php @@ -0,0 +1,74 @@ + + +
+
+
+
<?php echo esc_attr_x( 'Pale branching channels running through dark green moss, seen from above.', 'Alt text for the Essays section image', 'ipsum' ); ?>
+
+ + + +
+
+

+ + + +

+
+
+
+ + + +
+
+
+

+ + + +

+
+
+ + + +
+
<?php echo esc_attr_x( 'Close-up of ruffled white petals against a dark green background.', 'Alt text for the Pictures section image', 'ipsum' ); ?>
+
+
+ + + +
+
+
<?php echo esc_attr_x( 'Pale winding lines crossing dark green grass, seen from above.', 'Alt text for the Sounds section image', 'ipsum' ); ?>
+
+ + + +
+
+

+ + + +

+
+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/text-faqs.php b/src/wp-content/themes/ipsum/patterns/text-faqs.php new file mode 100644 index 0000000000000..a73f7862f5d2e --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/text-faqs.php @@ -0,0 +1,70 @@ + + +
+
+

+ + + +
+
+

+ + + +
+

+
+
+ + + +
+

+ + + +
+

+
+
+ + + +
+

+ + + +
+

+
+
+ + + +
+

+ + + +
+

+
+
+
+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/text-statement-wide.php b/src/wp-content/themes/ipsum/patterns/text-statement-wide.php new file mode 100644 index 0000000000000..1b73ccdbf5a22 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/text-statement-wide.php @@ -0,0 +1,20 @@ + + +
+
+

essays.', 'ipsum' ) ); ?>

+
+
+ diff --git a/src/wp-content/themes/ipsum/patterns/text-statement.php b/src/wp-content/themes/ipsum/patterns/text-statement.php new file mode 100644 index 0000000000000..ddb82fc9f8e68 --- /dev/null +++ b/src/wp-content/themes/ipsum/patterns/text-statement.php @@ -0,0 +1,20 @@ + + +
+ +
+ diff --git a/src/wp-content/themes/ipsum/readme.txt b/src/wp-content/themes/ipsum/readme.txt new file mode 100644 index 0000000000000..d7deb8fabd96a --- /dev/null +++ b/src/wp-content/themes/ipsum/readme.txt @@ -0,0 +1,93 @@ +=== Ipsum === +Contributors: wordpressdotorg +Requires at least: 7.2 +Tested up to: 7.2 +Requires PHP: 7.4 +Stable tag: 1.0 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + + +== Description == + +Ipsum is a blank canvas built around the blogging experience, our proposal for what a default theme should be. Named after lorem ipsum, the placeholder that fills a page until real content arrives, it is composed enough to stand on its own and to be transformed the moment people start writing. + +== Changelog == + += 1.0 = +* Released: December 8, 2026 + +https://wordpress.org/documentation/article/ipsum-changelog/#Version_1.0 + + +== Copyright == + +Ipsum WordPress Theme, (C) 2026 WordPress.org and contributors. +Ipsum is distributed under the terms of the GNU GPL. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + + +Ipsum is based on Ichi (https://themeshaper.com/ichi/), (C) Automattic, [GPLv2 or later](http://www.gnu.org/licenses/gpl-2.0.html) + + +== Images == + +Title: screenshot.jpg +The imagery in the screenshot was generated with AI using Midjourney. +Author: Henrique Iamarino (https://profiles.wordpress.org/iamarinoh) +License: CC0 1.0 Universal - dedicated to the public domain by the author. +License URL: https://creativecommons.org/publicdomain/zero/1.0/ + +Title: assets/images/ipsum-*.webp +The images bundled with the theme's patterns were generated with AI using Midjourney. +Author: Henrique Iamarino (https://profiles.wordpress.org/iamarinoh) +License: CC0 1.0 Universal - dedicated to the public domain by the author. +License URL: https://creativecommons.org/publicdomain/zero/1.0/ + +== Fonts == + +Archivo +Copyright 2020 The Archivo Project Authors (https://github.com/Omnibus-Type/Archivo) +License: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL +Source: http://www.omnibus-type.com + +Archivo Condensed +Copyright 2020 The Archivo Project Authors (https://github.com/Omnibus-Type/Archivo) +License: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL +Source: http://www.omnibus-type.com + +Besley +Copyright 2020 The Besley Project Authors (https://github.com/indestructible-type/Besley) +License: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL +Source: https://indestructibletype.com/Home.html + +Inter +Copyright 2016 The Inter Project Authors (https://github.com/rsms/inter) +License: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org +Source: https://rsms.me/ + +JetBrains Mono +Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) +License: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL +Source: https://www.jetbrains.com + +Manrope +Copyright 2019 The Manrope Project Authors (https://github.com/sharanda/manrope) +License: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL +Source: http://gent.media + +STIX Two Text +Copyright 2001-2021 The STIX Fonts Project Authors (https://github.com/stipub/stixfonts) +License: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL +Source: https://www.stixfonts.org + + diff --git a/src/wp-content/themes/ipsum/screenshot.jpg b/src/wp-content/themes/ipsum/screenshot.jpg new file mode 100644 index 0000000000000..ef35dbd2410c7 Binary files /dev/null and b/src/wp-content/themes/ipsum/screenshot.jpg differ diff --git a/src/wp-content/themes/ipsum/style.css b/src/wp-content/themes/ipsum/style.css new file mode 100644 index 0000000000000..854f16bbacaf2 --- /dev/null +++ b/src/wp-content/themes/ipsum/style.css @@ -0,0 +1,309 @@ +/* +Theme Name: Ipsum +Theme URI: https://wordpress.org/themes/ipsum/ +Author: the WordPress team +Author URI: https://wordpress.org +Description: Ipsum is a blank canvas built around the blogging experience, our proposal for what a default theme should be. Named after lorem ipsum, the placeholder that fills a page until real content arrives, it is composed enough to stand on its own and to be transformed the moment people start writing. +Requires at least: 7.2 +Tested up to: 7.2 +Requires PHP: 7.4 +Version: 1.0 +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html +Text Domain: ipsum +Tags: one-column, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, blog +*/ + +/* Crossfade page transition */ + +@view-transition { + navigation: auto; +} + +/* Font smoothing */ +body { + text-rendering: geometricprecision; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + /* + * Let long unbroken strings, such as URLs, break onto the next line + * instead of pushing the page wider than the viewport when zoomed in. + * https://www.w3.org/WAI/WCAG22/Understanding/reflow.html + */ + overflow-wrap: break-word; +} + +/* + * Progressive enhancement to reduce widows and orphans + * https://github.com/WordPress/gutenberg/issues/55190 + */ +h1, +h2, +h3, +h4, +h5, +h6, +blockquote, +caption, +figcaption, +p { + text-wrap: pretty; +} + +/* + * Link styles + * https://github.com/WordPress/gutenberg/issues/42319 + * Dotted editorial underlines; !important also keeps the style from being reset + * by the text-decoration shorthand emitted in generated global styles. + * The span selector catches the editor's inline underline format. + */ +a, +u, +ins, +span[style*="text-decoration"] { + text-decoration-thickness: 1px !important; + text-decoration-style: dotted !important; + text-underline-offset: 0.1em; +} + +/* + * Breathing room when jumping to in-page anchors (e.g. the comments CTA + * landing on #comments or #respond), so targets don't sit flush with the + * viewport edge. + */ +:target { + scroll-margin-block-start: var(--wp--preset--spacing--50); +} + +/* + * The comments list starts flush with its heading, unlike the comment form, + * whose internal whitespace pads its landing — match their perceived offset. + */ +#comments { + scroll-margin-block-start: var(--wp--preset--spacing--70); +} + +/* + * Change the position of the more block on the front, by making it a block level element. + * https://github.com/WordPress/gutenberg/issues/65934 + */ +.more-link { + display: block; +} + +/* + * Prevents unnecessary scrollbars while handling long lines of preformatted text. + * https://core.trac.wordpress.org/ticket/63875 + */ +:where(pre) { + overflow-x: auto; +} + +/* + * Make sure headers and footers have no margin, so the root block gap + * never adds spacing the parts don't control themselves. + * https://github.com/WordPress/gutenberg/issues/47637 + */ +header.wp-block-template-part, +footer.wp-block-template-part { + margin-block-start: 0; +} + +/* + * Tables. All table styling lives here in one block (theme.json css strings + * cannot carry comments, and its table css remaps selectors onto the inner + * table) — edit or remove any rule below independently. + * + * Strokes: every table line — outer border, cell grid, and the rule under + * the header — draws in the ink wash, matching the calendar and form fields. + */ +.wp-block-table table, +.wp-block-table th, +.wp-block-table td { + border-color: var(--wp--preset--color--theme-4); +} + +/* + * Header row: the palette wash as ground, a single hairline underneath + * (!important beats core's `thead { border-bottom: 3px solid }`, whose color + * would otherwise resolve to currentColor), and the theme's meta voice — + * Manrope, small, bold — for the labels. + */ +.wp-block-table thead { + background-color: var(--wp--preset--color--theme-5); + border-bottom-width: 1px !important; + border-bottom-color: var(--wp--preset--color--theme-4); +} + +.wp-block-table thead th { + text-align: left; + font-family: var(--wp--preset--font-family--manrope); + font-size: var(--wp--preset--font-size--small); + font-style: normal; + font-weight: 700; +} + +/* + * Striped tables: tint rows and rule with the palette wash instead of core's + * fixed gray, so stripes stay legible under every color variation. + */ +.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { + background-color: var(--wp--preset--color--theme-5); +} + +.wp-block-table.is-style-stripes { + border-bottom-color: var(--wp--preset--color--theme-5); +} + +/* + * Utility class prefixing an element with the "·" meta separator. Used where + * neighbors render conditionally (e.g. the comment Edit link only exists for + * users who can edit), so the dot appears and disappears with its element + * instead of leaving orphan separators. The padding carries the breathing + * room — literal spaces in generated content can collapse — so rows using + * this class need no block gap of their own. + */ +.dot-before::before { + content: "·"; + font-weight: 600; + padding-inline: 0.5em; +} + +/* + * Sticky headers: a sticky root block inside a template part has no room to + * travel — the part's wrapper element is exactly as tall as its content — so + * the wrapper itself must carry the stickiness. Keyed on the class core emits + * for the position support, so any header design set to sticky just works. + */ +header.wp-block-template-part:has(> .is-position-sticky) { + position: sticky; + inset-block-start: 0; + z-index: 10; +} + +/* + * Keep a sticky header clear of the admin bar: it is fixed over the viewport, + * so logged-in users would see the header slide beneath it. Core publishes the + * bar's height (32px desktop / 46px small screens) as a custom property. + */ +.admin-bar header.wp-block-template-part:has(> .is-position-sticky) { + inset-block-start: var(--wp-admin--admin-bar--height, 32px); +} + +/* + * Short pages: a sticky bottom bar can only pin within the page's own height, + * so the site wrapper must reach at least the viewport; main grows to push + * the footer and the pinned bar down on pages with little content. + */ +.wp-site-blocks { + display: flex; + flex-direction: column; + min-height: 100vh; + min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px)); +} + +.wp-site-blocks > main { + flex-grow: 1; +} + +/* Utility class for pinning an element to the bottom of the viewport. */ +.sticky-bottom { + position: sticky; + inset-block-end: 0; + z-index: 10; + width: fit-content; + margin-inline-start: auto; +} + +/* + * Quiet search button inside the pinned Search Bar part only: light ground, + * outlined; global button states take back over on hover/focus/active. + */ +.sticky-bottom .wp-block-search__button.wp-element-button:not(:hover):not(:focus):not(:active) { + background-color: var(--wp--preset--color--theme-1); + border: 1px dotted var(--wp--preset--color--theme-2); + color: var(--wp--preset--color--theme-2); +} + +/* + * Utility class for a query loop whose post rows hover as one: hovering any + * visible content of a row colors the whole row. Keyed on the row's child + * blocks because the row group's own box spans the full alignwide band. + */ +.hover-together .wp-block-post > .wp-block-group, +.hover-together .wp-block-post > .wp-block-group a { + transition: color 0.15s ease-out; +} + +.hover-together .wp-block-post > .wp-block-group:has(> :hover), +.hover-together .wp-block-post > .wp-block-group:has(> :hover) a { + color: var(--wp--preset--color--theme-6); +} + +/* + * Arrival bar: the blank canvas keeps index and single visually close, so a + * thin accent bar sweeps the top of the viewport when a single post loads, + * then fades — a quiet confirmation that navigation happened. The sweep is a + * scaleX() transform rather than a width change so it runs on the compositor + * instead of relaying out and repainting every frame while the page loads. + * Transforms have no logical origin, so RTL flips the origin to follow the + * reading direction. + */ +@media (prefers-reduced-motion: no-preference) { + .single::before { + content: ""; + position: fixed; + inset-block-start: 0; + inset-inline-start: 0; + block-size: 3px; + inline-size: 100%; + background-color: var(--wp--preset--color--theme-3); + z-index: 99; + pointer-events: none; + transform-origin: left; + animation: ipsum-arrival 0.9s ease-out forwards; + } + + .rtl.single::before { + transform-origin: right; + } + + .admin-bar.single::before { + inset-block-start: var(--wp-admin--admin-bar--height, 32px); + } + + @keyframes ipsum-arrival { + 0% { + transform: scaleX(0); + opacity: 1; + } + + 60% { + transform: scaleX(1); + opacity: 1; + } + + 100% { + transform: scaleX(1); + opacity: 0; + } + } +} + +/* A light tilt-and-settle on the row's featured image when the row is hovered. */ +@media (prefers-reduced-motion: no-preference) { + @keyframes tilt-settle { + 35% { + transform: rotate(-1deg); + } + + 100% { + transform: rotate(0deg); + } + } + + .hover-together .wp-block-post > .wp-block-group:has(> :hover) .wp-block-post-featured-image img { + animation: tilt-settle 0.5s ease-out; + } +} diff --git a/src/wp-content/themes/ipsum/styles/blocks/crop-contents.json b/src/wp-content/themes/ipsum/styles/blocks/crop-contents.json new file mode 100644 index 0000000000000..30697e9a7de05 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/blocks/crop-contents.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Crop Contents", + "slug": "crop-contents", + "blockTypes": ["core/group"], + "styles": { + "css": "overflow:clip;" + } +} diff --git a/src/wp-content/themes/ipsum/styles/blocks/display.json b/src/wp-content/themes/ipsum/styles/blocks/display.json new file mode 100644 index 0000000000000..16ebb4ee24ac3 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/blocks/display.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Display", + "slug": "text-display", + "blockTypes": ["core/heading", "core/paragraph", "core/post-title", "core/site-title", "core/query-title"], + "styles": { + "typography": { + "fontSize": "clamp(2.2rem, 2.2rem + ((1vw - 0.2rem) * 1.333), 3.5rem)", + "lineHeight": "1.2" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/blocks/quote-mark-on-color.json b/src/wp-content/themes/ipsum/styles/blocks/quote-mark-on-color.json new file mode 100644 index 0000000000000..13e472894edbb --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/blocks/quote-mark-on-color.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Quote Mark on Color", + "slug": "text-quote-mark-on-color", + "blockTypes": ["core/heading", "core/paragraph"], + "styles": { + "css": "&::before{content:\"❝\" / \"\";display:block;color:currentcolor;font-size:var(--wp--preset--font-size--2-x-large);line-height:1;}" + } +} diff --git a/src/wp-content/themes/ipsum/styles/blocks/quote-mark.json b/src/wp-content/themes/ipsum/styles/blocks/quote-mark.json new file mode 100644 index 0000000000000..5e4c336cb49b4 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/blocks/quote-mark.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Quote Mark", + "slug": "text-quote-mark", + "blockTypes": ["core/heading", "core/paragraph"], + "styles": { + "css": "&::before{content:\"❝\" / \"\";display:block;color:var(--wp--preset--color--theme-4);font-size:var(--wp--preset--font-size--2-x-large);line-height:1;}" + } +} diff --git a/src/wp-content/themes/ipsum/styles/colors/01-blue-hour.json b/src/wp-content/themes/ipsum/styles/colors/01-blue-hour.json new file mode 100644 index 0000000000000..13a094638313a --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/colors/01-blue-hour.json @@ -0,0 +1,78 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Blue Hour", + "settings": { + "color": { + "duotone": [ + { + "colors": [ + "#0d1b26", + "#ecf7fe" + ], + "name": "Ink on paper", + "slug": "duotone-1" + } + ], + "palette": [ + { + "color": "#ecf7fe", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#0d1b26bf", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#006699", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#0d1b2633", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#0d1b2608", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#0d1b26", + "name": "Color 6", + "slug": "theme-6" + } + ] + }, + "custom": { + "controlScheme": "light" + } + }, + "styles": { + "blocks": { + "core/post-featured-image": { + "filter": { + "duotone": "var:preset|duotone|duotone-1" + } + }, + "core/site-tagline": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--stix-two-text)" + } + }, + "core/site-title": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--stix-two-text)" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--stix-two-text)", + "fontStyle": "normal", + "fontWeight": "400" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/colors/02-sunrise.json b/src/wp-content/themes/ipsum/styles/colors/02-sunrise.json new file mode 100644 index 0000000000000..b483569b0f2fa --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/colors/02-sunrise.json @@ -0,0 +1,61 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Sunrise", + "settings": { + "color": { + "duotone": [ + { + "colors": [ + "#26220d", + "#fef8ec" + ], + "name": "Pumice on paper", + "slug": "duotone-1" + } + ], + "palette": [ + { + "color": "#fef8ec", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#26220dbf", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#996600", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#26220d33", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#26220d08", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#26220d", + "name": "Color 6", + "slug": "theme-6" + } + ] + }, + "custom": { + "controlScheme": "light" + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--besley)", + "fontStyle": "normal", + "fontWeight": "400" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/colors/03-morning.json b/src/wp-content/themes/ipsum/styles/colors/03-morning.json new file mode 100644 index 0000000000000..866721ebfafc3 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/colors/03-morning.json @@ -0,0 +1,61 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Morning", + "settings": { + "color": { + "duotone": [ + { + "colors": [ + "#12260d", + "#eefbec" + ], + "name": "Moss on paper", + "slug": "duotone-1" + } + ], + "palette": [ + { + "color": "#eefbec", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#12260dbf", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#47730a", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#12260d33", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#12260d08", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#12260d", + "name": "Color 6", + "slug": "theme-6" + } + ] + }, + "custom": { + "controlScheme": "light" + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--archivo)", + "fontStyle": "normal", + "fontWeight": "400" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/colors/04-high-noon.json b/src/wp-content/themes/ipsum/styles/colors/04-high-noon.json new file mode 100644 index 0000000000000..24cecb05823fa --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/colors/04-high-noon.json @@ -0,0 +1,59 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "High Noon", + "settings": { + "custom": { + "controlScheme": "light" + }, + "color": { + "duotone": [ + { + "colors": [ + "#000000", + "#FFFF66" + ], + "name": "Black and acid", + "slug": "duotone-1" + } + ], + "palette": [ + { + "color": "#FFFF66", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#000000bf", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#465800", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#00000033", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#00000008", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#000000", + "name": "Color 6", + "slug": "theme-6" + } + ] + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--jetbrains-mono)" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/colors/05-golden-hour.json b/src/wp-content/themes/ipsum/styles/colors/05-golden-hour.json new file mode 100644 index 0000000000000..b0476c0eb48c3 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/colors/05-golden-hour.json @@ -0,0 +1,77 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Golden Hour", + "settings": { + "color": { + "duotone": [ + { + "colors": [ + "#7a1000", + "#ffd9bd" + ], + "name": "Peach on maroon", + "slug": "duotone-1" + } + ], + "palette": [ + { + "color": "#7a1000", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#ffd9bd", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#ff8c52", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#ffd9bd40", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#ffd9bd1a", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#fff1e8", + "name": "Color 6", + "slug": "theme-6" + } + ] + }, + "custom": { + "controlScheme": "dark" + } + }, + "styles": { + "blocks": { + "core/post-featured-image": { + "filter": { + "duotone": "var:preset|duotone|duotone-1" + } + } + }, + "elements": { + "heading": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontStyle": "normal", + "fontWeight": "500" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontStyle": "normal", + "fontWeight": "400" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/colors/06-evening.json b/src/wp-content/themes/ipsum/styles/colors/06-evening.json new file mode 100644 index 0000000000000..40e40e0da8400 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/colors/06-evening.json @@ -0,0 +1,54 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "Evening", + "settings": { + "custom": { + "controlScheme": "dark" + }, + "color": { + "duotone": [ + { + "colors": [ + "#000000", + "#FFFFFF" + ], + "name": "Black and white", + "slug": "duotone-1" + } + ], + "palette": [ + { + "color": "#000000", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#FAFAFA", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#FE4C57", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#FAFAFA40", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#FAFAFA1A", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#FFFFFF", + "name": "Color 6", + "slug": "theme-6" + } + ] + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/colors/07-after-hours.json b/src/wp-content/themes/ipsum/styles/colors/07-after-hours.json new file mode 100644 index 0000000000000..5db32ae6c2bcb --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/colors/07-after-hours.json @@ -0,0 +1,66 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "title": "After Hours", + "settings": { + "custom": { + "controlScheme": "dark" + }, + "color": { + "duotone": [ + { + "colors": [ + "#310c25", + "#e26bbe" + ], + "name": "Pink on black", + "slug": "duotone-1" + } + ], + "palette": [ + { + "color": "#310c25", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#e26bbe", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#f2a3d8", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#e26bbe40", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#e26bbe1a", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#ffcdec", + "name": "Color 6", + "slug": "theme-6" + } + ] + } + }, + "styles": { + "elements": { + "heading": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--archivo-condensed)" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--archivo)" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/typography/archivo-condensed.json b/src/wp-content/themes/ipsum/styles/typography/archivo-condensed.json new file mode 100644 index 0000000000000..4cfc77cf00163 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/typography/archivo-condensed.json @@ -0,0 +1,83 @@ +{ + "version": 3, + "$schema": "https://schemas.wp.org/trunk/theme.json", + "title": "Archivo Condensed", + "slug": "archivo-condensed", + "settings": { + "typography": { + "fontFamilies": [ + { + "fontFace": [ + { + "fontFamily": "Archivo Condensed", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo-condensed/archivo-condensed-var-normal.woff2" + ] + }, + { + "fontFamily": "Archivo Condensed", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo-condensed/archivo-condensed-var-italic.woff2" + ] + } + ], + "fontFamily": "\"Archivo Condensed\", sans-serif", + "name": "Archivo Condensed", + "slug": "archivo-condensed" + }, + { + "fontFace": [ + { + "fontFamily": "Manrope", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "200 800", + "src": [ + "file:./assets/fonts/manrope/manrope-var-normal.woff2" + ] + } + ], + "fontFamily": "\"Manrope\", sans-serif", + "name": "Manrope", + "slug": "manrope" + }, + { + "fontFace": [ + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2" + ] + }, + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2" + ] + } + ], + "fontFamily": "\"JetBrains Mono\", monospace", + "name": "JetBrains Mono", + "slug": "jetbrains-mono" + } + ] + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--archivo-condensed)" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/typography/archivo.json b/src/wp-content/themes/ipsum/styles/typography/archivo.json new file mode 100644 index 0000000000000..dafd2b85971e7 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/typography/archivo.json @@ -0,0 +1,83 @@ +{ + "version": 3, + "$schema": "https://schemas.wp.org/trunk/theme.json", + "title": "Archivo", + "slug": "archivo", + "settings": { + "typography": { + "fontFamilies": [ + { + "name": "Archivo", + "slug": "archivo", + "fontFamily": "\"Archivo\", sans-serif", + "fontFace": [ + { + "fontFamily": "Archivo", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo/archivo-var-normal.woff2" + ] + }, + { + "fontFamily": "Archivo", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo/archivo-var-italic.woff2" + ] + } + ] + }, + { + "fontFace": [ + { + "fontFamily": "Manrope", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "200 800", + "src": [ + "file:./assets/fonts/manrope/manrope-var-normal.woff2" + ] + } + ], + "fontFamily": "\"Manrope\", sans-serif", + "name": "Manrope", + "slug": "manrope" + }, + { + "fontFace": [ + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2" + ] + }, + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2" + ] + } + ], + "fontFamily": "\"JetBrains Mono\", monospace", + "name": "JetBrains Mono", + "slug": "jetbrains-mono" + } + ] + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--archivo)" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/typography/besley.json b/src/wp-content/themes/ipsum/styles/typography/besley.json new file mode 100644 index 0000000000000..6c2d53460f5d1 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/typography/besley.json @@ -0,0 +1,81 @@ +{ + "version": 3, + "$schema": "https://schemas.wp.org/trunk/theme.json", + "title": "Besley", + "slug": "besley", + "settings": { + "typography": { + "fontFamilies": [ + { + "name": "Besley", + "slug": "besley", + "fontFamily": "\"Besley\", serif", + "fontFace": [ + { + "fontFamily": "Besley", + "fontStyle": "normal", + "fontWeight": "400 900", + "src": [ + "file:./assets/fonts/besley/besley-var-normal.woff2" + ] + }, + { + "fontFamily": "Besley", + "fontStyle": "italic", + "fontWeight": "400 900", + "src": [ + "file:./assets/fonts/besley/besley-var-italic.woff2" + ] + } + ] + }, + { + "fontFace": [ + { + "fontFamily": "Manrope", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "200 800", + "src": [ + "file:./assets/fonts/manrope/manrope-var-normal.woff2" + ] + } + ], + "fontFamily": "\"Manrope\", sans-serif", + "name": "Manrope", + "slug": "manrope" + }, + { + "fontFace": [ + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2" + ] + }, + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2" + ] + } + ], + "fontFamily": "\"JetBrains Mono\", monospace", + "name": "JetBrains Mono", + "slug": "jetbrains-mono" + } + ] + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--besley)" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/typography/jetbrains-mono.json b/src/wp-content/themes/ipsum/styles/typography/jetbrains-mono.json new file mode 100644 index 0000000000000..f539148c047b3 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/typography/jetbrains-mono.json @@ -0,0 +1,58 @@ +{ + "version": 3, + "$schema": "https://schemas.wp.org/trunk/theme.json", + "title": "JetBrains Mono", + "slug": "jetbrains-mono", + "settings": { + "typography": { + "fontFamilies": [ + { + "fontFace": [ + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2" + ] + }, + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2" + ] + } + ], + "fontFamily": "\"JetBrains Mono\", monospace", + "name": "JetBrains Mono", + "slug": "jetbrains-mono" + }, + { + "fontFace": [ + { + "fontFamily": "Manrope", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "200 800", + "src": [ + "file:./assets/fonts/manrope/manrope-var-normal.woff2" + ] + } + ], + "fontFamily": "\"Manrope\", sans-serif", + "name": "Manrope", + "slug": "manrope" + } + ] + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--jetbrains-mono)" + } + } +} diff --git a/src/wp-content/themes/ipsum/styles/typography/stix-two-text.json b/src/wp-content/themes/ipsum/styles/typography/stix-two-text.json new file mode 100644 index 0000000000000..8125f77da9be3 --- /dev/null +++ b/src/wp-content/themes/ipsum/styles/typography/stix-two-text.json @@ -0,0 +1,81 @@ +{ + "version": 3, + "$schema": "https://schemas.wp.org/trunk/theme.json", + "title": "STIX Two Text", + "slug": "stix-two-text", + "settings": { + "typography": { + "fontFamilies": [ + { + "name": "STIX Two Text", + "slug": "stix-two-text", + "fontFamily": "\"STIX Two Text\", serif", + "fontFace": [ + { + "fontFamily": "STIX Two Text", + "fontStyle": "normal", + "fontWeight": "400 700", + "src": [ + "file:./assets/fonts/stix-two-text/stix-two-text-var-normal.woff2" + ] + }, + { + "fontFamily": "STIX Two Text", + "fontStyle": "italic", + "fontWeight": "400 700", + "src": [ + "file:./assets/fonts/stix-two-text/stix-two-text-var-italic.woff2" + ] + } + ] + }, + { + "fontFace": [ + { + "fontFamily": "Manrope", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "200 800", + "src": [ + "file:./assets/fonts/manrope/manrope-var-normal.woff2" + ] + } + ], + "fontFamily": "\"Manrope\", sans-serif", + "name": "Manrope", + "slug": "manrope" + }, + { + "fontFace": [ + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2" + ] + }, + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2" + ] + } + ], + "fontFamily": "\"JetBrains Mono\", monospace", + "name": "JetBrains Mono", + "slug": "jetbrains-mono" + } + ] + } + }, + "styles": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--stix-two-text)" + } + } +} diff --git a/src/wp-content/themes/ipsum/templates/404.html b/src/wp-content/themes/ipsum/templates/404.html new file mode 100644 index 0000000000000..8ce8c70d17879 --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/404.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/archive-sidebar.html b/src/wp-content/themes/ipsum/templates/archive-sidebar.html new file mode 100644 index 0000000000000..123d5ac96b9ea --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/archive-sidebar.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/archive.html b/src/wp-content/themes/ipsum/templates/archive.html new file mode 100644 index 0000000000000..1ceaafcc97ce8 --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/archive.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/index-sidebar.html b/src/wp-content/themes/ipsum/templates/index-sidebar.html new file mode 100644 index 0000000000000..4faa0ed96eb54 --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/index-sidebar.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/index.html b/src/wp-content/themes/ipsum/templates/index.html new file mode 100644 index 0000000000000..c5031460799b4 --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/index.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/page-no-title.html b/src/wp-content/themes/ipsum/templates/page-no-title.html new file mode 100644 index 0000000000000..dd8f43d9e13da --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/page-no-title.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/page-sidebar.html b/src/wp-content/themes/ipsum/templates/page-sidebar.html new file mode 100644 index 0000000000000..61d4b68e4206d --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/page-sidebar.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/page.html b/src/wp-content/themes/ipsum/templates/page.html new file mode 100644 index 0000000000000..f2ad8d3cb5a3c --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/page.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/search.html b/src/wp-content/themes/ipsum/templates/search.html new file mode 100644 index 0000000000000..2dde681d9349b --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/search.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/single-sidebar.html b/src/wp-content/themes/ipsum/templates/single-sidebar.html new file mode 100644 index 0000000000000..fc514f76d06d6 --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/single-sidebar.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/templates/single.html b/src/wp-content/themes/ipsum/templates/single.html new file mode 100644 index 0000000000000..b18f861947599 --- /dev/null +++ b/src/wp-content/themes/ipsum/templates/single.html @@ -0,0 +1 @@ + diff --git a/src/wp-content/themes/ipsum/theme.json b/src/wp-content/themes/ipsum/theme.json new file mode 100644 index 0000000000000..6419fa45d9dc4 --- /dev/null +++ b/src/wp-content/themes/ipsum/theme.json @@ -0,0 +1,1330 @@ +{ + "$schema": "https://schemas.wp.org/trunk/theme.json", + "version": 3, + "customTemplates": [ + { + "name": "single-sidebar", + "postTypes": [ + "post" + ], + "title": "Single Posts Sidebar" + }, + { + "name": "page-sidebar", + "postTypes": [ + "page" + ], + "title": "Pages Sidebar" + }, + { + "name": "page-no-title", + "postTypes": [ + "page" + ], + "title": "Pages No Title" + } + ], + "settings": { + "appearanceTools": true, + "color": { + "defaultDuotone": false, + "defaultGradients": false, + "defaultPalette": false, + "duotone": [ + { + "colors": [ + "#000000", + "#FFFFFF" + ], + "name": "Black and white", + "slug": "duotone-1" + } + ], + "gradients": [ + { + "gradient": "linear-gradient(to bottom, var(--wp--preset--color--theme-5) 0%, var(--wp--preset--color--theme-1) 100%)", + "name": "Vertical soft wash to base", + "slug": "gradient-1" + }, + { + "gradient": "linear-gradient(to bottom, var(--wp--preset--color--theme-5) 90%, var(--wp--preset--color--theme-1) 90%)", + "name": "Vertical hard wash to base", + "slug": "gradient-2" + } + ], + "palette": [ + { + "color": "#fcfcfc", + "name": "Color 1", + "slug": "theme-1" + }, + { + "color": "#000000bf", + "name": "Color 2", + "slug": "theme-2" + }, + { + "color": "#3355ff", + "name": "Color 3", + "slug": "theme-3" + }, + { + "color": "#0a0a0a33", + "name": "Color 4", + "slug": "theme-4" + }, + { + "color": "#0a0a0a08", + "name": "Color 5", + "slug": "theme-5" + }, + { + "color": "#000000", + "name": "Color 6", + "slug": "theme-6" + } + ] + }, + "layout": { + "contentSize": "640px", + "wideSize": "1280px" + }, + "shadow": { + "presets": [ + { + "name": "Soft", + "shadow": "0 2px 8px rgba(0, 0, 0, 0.08)", + "slug": "soft" + } + ] + }, + "spacing": { + "defaultSpacingSizes": false, + "spacingSizes": [ + { + "name": "2X-Small", + "size": "8px", + "slug": "20" + }, + { + "name": "X-Small", + "size": "16px", + "slug": "30" + }, + { + "name": "Small", + "size": "clamp(24px, 2.33vw, 32px)", + "slug": "40" + }, + { + "name": "Regular", + "size": "clamp(32px, 3.49vw, 48px)", + "slug": "50" + }, + { + "name": "Large", + "size": "clamp(48px, 4.65vw, 64px)", + "slug": "60" + }, + { + "name": "X-Large", + "size": "clamp(64px, 6.98vw, 96px)", + "slug": "70" + }, + { + "name": "2X-Large", + "size": "clamp(96px, 9.31vw, 128px)", + "slug": "80" + } + ], + "units": [ + "%", + "px", + "em", + "rem", + "vh", + "dvh", + "vw" + ] + }, + "typography": { + "defaultFontSizes": false, + "fluid": true, + "fontFamilies": [ + { + "fontFace": [ + { + "fontFamily": "Manrope", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "200 800", + "src": [ + "file:./assets/fonts/manrope/manrope-var-normal.woff2" + ] + } + ], + "fontFamily": "\"Manrope\", sans-serif", + "name": "Manrope", + "slug": "manrope" + }, + { + "fontFace": [ + { + "fontFamily": "Inter", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/inter/inter-var-normal.woff2" + ] + }, + { + "fontFamily": "Inter", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/inter/inter-var-italic.woff2" + ] + } + ], + "fontFamily": "\"Inter\", sans-serif", + "name": "Inter", + "slug": "inter" + }, + { + "fontFace": [ + { + "fontFamily": "Archivo", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo/archivo-var-normal.woff2" + ] + }, + { + "fontFamily": "Archivo", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo/archivo-var-italic.woff2" + ] + } + ], + "fontFamily": "\"Archivo\", sans-serif", + "name": "Archivo", + "slug": "archivo" + }, + { + "fontFace": [ + { + "fontFamily": "Besley", + "fontStyle": "normal", + "fontWeight": "400 900", + "src": [ + "file:./assets/fonts/besley/besley-var-normal.woff2" + ] + }, + { + "fontFamily": "Besley", + "fontStyle": "italic", + "fontWeight": "400 900", + "src": [ + "file:./assets/fonts/besley/besley-var-italic.woff2" + ] + } + ], + "fontFamily": "\"Besley\", serif", + "name": "Besley", + "slug": "besley" + }, + { + "fontFace": [ + { + "fontFamily": "STIX Two Text", + "fontStyle": "normal", + "fontWeight": "400 700", + "src": [ + "file:./assets/fonts/stix-two-text/stix-two-text-var-normal.woff2" + ] + }, + { + "fontFamily": "STIX Two Text", + "fontStyle": "italic", + "fontWeight": "400 700", + "src": [ + "file:./assets/fonts/stix-two-text/stix-two-text-var-italic.woff2" + ] + } + ], + "fontFamily": "\"STIX Two Text\", serif", + "name": "STIX Two Text", + "slug": "stix-two-text" + }, + { + "fontFace": [ + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-normal.woff2" + ] + }, + { + "fontFamily": "JetBrains Mono", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 800", + "src": [ + "file:./assets/fonts/jetbrains-mono/jetbrains-mono-var-italic.woff2" + ] + } + ], + "fontFamily": "\"JetBrains Mono\", monospace", + "name": "JetBrains Mono", + "slug": "jetbrains-mono" + }, + { + "fontFace": [ + { + "fontFamily": "Archivo Condensed", + "fontStretch": "normal", + "fontStyle": "normal", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo-condensed/archivo-condensed-var-normal.woff2" + ] + }, + { + "fontFamily": "Archivo Condensed", + "fontStretch": "normal", + "fontStyle": "italic", + "fontWeight": "100 900", + "src": [ + "file:./assets/fonts/archivo-condensed/archivo-condensed-var-italic.woff2" + ] + } + ], + "fontFamily": "\"Archivo Condensed\", sans-serif", + "name": "Archivo Condensed", + "slug": "archivo-condensed" + } + ], + "fontSizes": [ + { + "fluid": false, + "name": "Small", + "size": "0.875rem", + "slug": "small" + }, + { + "fluid": false, + "name": "Medium", + "size": "1.125rem", + "slug": "medium" + }, + { + "fluid": false, + "name": "Large", + "size": "1.4375rem", + "slug": "large" + }, + { + "fluid": { + "max": "1.75rem", + "min": "1.5rem" + }, + "name": "X-Large", + "size": "1.75rem", + "slug": "x-large" + }, + { + "fluid": { + "max": "2.1875rem", + "min": "1.625rem" + }, + "name": "2X-Large", + "size": "2.1875rem", + "slug": "2-x-large" + } + ], + "writingMode": true + }, + "useRootPaddingAwareAlignments": true + }, + "styles": { + "blocks": { + "core/accordion": { + "spacing": { + "blockGap": "var(--wp--preset--spacing--50)" + } + }, + "core/accordion-heading": { + "border": { + "top": { + "style": "dotted", + "width": "1px" + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "700", + "letterSpacing": "0rem" + } + }, + "core/accordion-item": { + "spacing": { + "blockGap": "var(--wp--preset--spacing--30)" + } + }, + "core/accordion-panel": { + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--50)" + } + } + }, + "core/audio": { + "css": "& audio{background-color:var(--wp--preset--color--theme-5);border-radius:10px;color:var(--wp--preset--color--theme-2);color-scheme:var(--wp--custom--control-scheme, light);} & audio::-webkit-media-controls-enclosure{background-color:transparent;border-radius:10px;} & audio::-webkit-media-controls-panel{background-color:transparent;} & audio::-webkit-media-controls-current-time-display{text-shadow:none;color:var(--wp--preset--color--theme-2);} & audio::-webkit-media-controls-time-remaining-display{text-shadow:none;color:var(--wp--preset--color--theme-2);}" + }, + "core/avatar": { + "border": { + "radius": { + "bottomLeft": "10px", + "bottomRight": "10px", + "topLeft": "10px", + "topRight": "10px" + } + } + }, + "core/button": { + ":active": { + "color": { + "background": "color-mix(in srgb, var(--wp--preset--color--theme-2) 85%, transparent)", + "text": "var(--wp--preset--color--theme-1)" + } + }, + ":focus": { + "border": { + "bottom": { + "style": "dotted", + "width": "1px" + }, + "left": { + "style": "dotted", + "width": "1px" + }, + "right": { + "style": "dotted", + "width": "1px" + }, + "top": { + "style": "dotted", + "width": "1px" + } + }, + "color": { + "background": "color-mix(in srgb, var(--wp--preset--color--theme-2) 85%, transparent)", + "text": "var(--wp--preset--color--theme-1)" + }, + "outline": { + "offset": "4px" + } + }, + ":focus-visible": { + "border": { + "bottom": { + "style": "dotted", + "width": "1px" + }, + "left": { + "style": "dotted", + "width": "1px" + }, + "right": { + "style": "dotted", + "width": "1px" + }, + "top": { + "style": "dotted", + "width": "1px" + } + } + }, + ":hover": { + "color": { + "background": "var(--wp--preset--color--theme-6)", + "text": "var(--wp--preset--color--theme-1)" + } + }, + "border": { + "bottom": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + }, + "left": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + }, + "radius": { + "bottomLeft": "10px", + "bottomRight": "10px", + "topLeft": "10px", + "topRight": "10px" + }, + "right": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + }, + "top": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + } + }, + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--30)", + "left": "var(--wp--preset--spacing--40)", + "right": "var(--wp--preset--spacing--40)", + "top": "var(--wp--preset--spacing--30)" + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "600", + "letterSpacing": "0rem" + }, + "variations": { + "outline": { + ":active": { + "color": { + "background": "color-mix(in srgb, var(--wp--preset--color--theme-2) 85%, transparent)", + "text": "var(--wp--preset--color--theme-1)" + } + }, + ":focus": { + "border": { + "bottom": { + "style": "dotted", + "width": "1px" + }, + "left": { + "style": "dotted", + "width": "1px" + }, + "right": { + "style": "dotted", + "width": "1px" + }, + "top": { + "style": "dotted", + "width": "1px" + } + }, + "color": { + "background": "color-mix(in srgb, var(--wp--preset--color--theme-2) 85%, transparent)", + "text": "var(--wp--preset--color--theme-1)" + }, + "outline": { + "offset": "4px" + } + }, + ":focus-visible": { + "border": { + "bottom": { + "style": "dotted", + "width": "1px" + }, + "left": { + "style": "dotted", + "width": "1px" + }, + "right": { + "style": "dotted", + "width": "1px" + }, + "top": { + "style": "dotted", + "width": "1px" + } + } + }, + ":hover": { + "color": { + "background": "var(--wp--preset--color--theme-5)", + "text": "var(--wp--preset--color--theme-6)" + } + }, + "border": { + "bottom": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + }, + "left": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + }, + "right": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + }, + "top": { + "color": "var(--wp--preset--color--theme-2)", + "style": "solid", + "width": "1px" + } + }, + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--30)", + "left": "var(--wp--preset--spacing--40)", + "right": "var(--wp--preset--spacing--40)", + "top": "var(--wp--preset--spacing--30)" + } + }, + "typography": { + "letterSpacing": "0rem" + } + } + } + }, + "core/buttons": { + "spacing": { + "blockGap": "var(--wp--preset--spacing--30)" + } + }, + "core/calendar": { + "css": "& :where(table:not(.has-text-color)) td{border-color: var(--wp--preset--color--theme-4) !important;} & :where(table:not(.has-text-color)) th{border-color: var(--wp--preset--color--theme-4) !important;} & :where(table:not(.has-text-color)){color:var(--wp--preset--color--theme-2)} & :where(.wp-block-calendar table:not(.has-background) th){background-color:var(--wp--preset--color--theme-5)}" + }, + "core/categories": { + "css": "& {padding-inline-start: var(--wp--preset--spacing--30);} & ul {padding-inline-start: var(--wp--preset--spacing--30);}" + }, + "core/code": { + "border": { + "color": "var(--wp--preset--color--theme-4)", + "radius": "5px", + "style": "solid", + "width": "1px" + }, + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--30)", + "left": "var(--wp--preset--spacing--30)", + "right": "var(--wp--preset--spacing--30)", + "top": "var(--wp--preset--spacing--30)" + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--jetbrains-mono)" + } + }, + "core/comment-author-name": { + "elements": { + "link": { + "typography": { + "textDecoration": "none" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600", + "letterSpacing": "0rem" + } + }, + "core/comment-content": { + "border": { + "radius": { + "bottomLeft": "10px", + "bottomRight": "10px", + "topLeft": "10px", + "topRight": "10px" + } + }, + "color": { + "background": "var(--wp--preset--color--theme-5)" + }, + "css": "& p{margin-top:var(--wp--preset--spacing--40); margin-bottom:0;} & > :first-child{margin-top:0;}", + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--30)", + "left": "var(--wp--preset--spacing--30)", + "right": "var(--wp--preset--spacing--30)", + "top": "var(--wp--preset--spacing--30)" + } + } + }, + "core/comment-date": { + "elements": { + "link": { + "typography": { + "textDecoration": "none" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "400", + "letterSpacing": "0rem" + } + }, + "core/comment-edit-link": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "400", + "textTransform": "none", + "letterSpacing": "0rem" + } + }, + "core/comment-reply-link": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "400", + "textTransform": "none", + "letterSpacing": "0rem" + } + }, + "core/comments": { + "spacing": { + "margin": { + "bottom": "var(--wp--preset--spacing--60)", + "top": "var(--wp--preset--spacing--60)" + } + } + }, + "core/comments-pagination": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "600" + } + }, + "core/comments-title": { + "spacing": { + "margin": { + "bottom": "var(--wp--preset--spacing--50)" + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "400", + "fontStyle": "normal", + "letterSpacing": "0rem" + } + }, + "core/details": { + "border": { + "top": { + "style": "dotted", + "width": "1px" + } + }, + "css": "& summary{font-family:var(--wp--preset--font-family--manrope);font-size:var(--wp--preset--font-size--small);font-style:normal;font-weight:700;list-style:none;display:flex;align-items:baseline;gap:var(--wp--preset--spacing--20);cursor:pointer;} & summary::-webkit-details-marker{display:none;} & summary::before{content:\"\\25B8\";} &[open] > summary::before{content:\"\\25BE\";}", + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--20)", + "top": "var(--wp--preset--spacing--20)" + } + } + }, + "core/heading": { + "spacing": { + "margin": { + "bottom": "var(--wp--preset--spacing--20)", + "top": "var(--wp--preset--spacing--50)" + } + } + }, + "core/image": { + "border": { + "radius": { + "bottomLeft": "5px", + "bottomRight": "5px", + "topLeft": "5px", + "topRight": "5px" + } + } + }, + "core/latest-comments": { + "css": "& .wp-block-latest-comments__comment-date{font-size: inherit;} & .wp-block-latest-comments__comment-excerpt p {font-size:inherit !important;margin: 0 !important;}" + }, + "core/latest-posts": { + "css": "& .wp-block-latest-posts__post-author{font-size:inherit;} & .wp-block-latest-posts__post-date{font-size:inherit;} & li:not(:first-of-type) {margin-top: var(--wp--style--block-gap);} & .wp-block-latest-posts__post-excerpt{margin-top: var(--wp--style--block-gap);} & .wp-block-latest-posts__post-full-content{margin-top: var(--wp--style--block-gap);}" + }, + "core/list": { + "css": "& li{margin-top: 0.5rem;} &{padding-inline-start:var(--wp--preset--spacing--40);} & ul{padding-inline-start:var(--wp--preset--spacing--40);} & ol{padding-inline-start:var(--wp--preset--spacing--40);} & li::marker{font-family:var(--wp--preset--font-family--manrope);} &:where(ul){list-style-type:\"• \";} & ul{list-style-type:\"• \";} &:where(ul) > li::marker{color:var(--wp--preset--color--theme-4);} & ul > li::marker{color:var(--wp--preset--color--theme-4);}", + "spacing": { + "padding": { + "left": "0" + } + } + }, + "core/navigation": { + "@mobile": { + "typography": { + "fontFamily": "inherit" + } + }, + "@tablet": { + "typography": { + "fontFamily": "inherit" + } + }, + "css": "& .wp-block-navigation__container{row-gap:0;} & .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{gap:0 !important;} & .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{gap:0 !important;padding:0 0 0 var(--wp--preset--spacing--30) !important;} & .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:0 !important;} &.is-vertical .wp-block-navigation-item{gap:0 !important;} &.is-vertical .wp-block-navigation__submenu-container{gap:0 !important;padding:0 0 0 var(--wp--preset--spacing--30) !important;} &.is-vertical .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:0 !important;}", + "elements": { + "link": { + ":hover": { + "typography": { + "textDecoration": "underline" + } + }, + "typography": { + "textDecoration": "none" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--medium)", + "fontStyle": "normal", + "fontWeight": "500" + } + }, + "core/paragraph": { + "typography": { + "lineHeight": "1.6" + } + }, + "core/post-author": { + "css": "& .wp-block-post-author__bio{font-size:inherit;margin:0;} & .wp-block-post-author__byline{font-size:inherit;}" + }, + "core/post-author-biography": { + "typography": { + "fontSize": "var(--wp--preset--font-size--medium)" + } + }, + "core/post-author-name": { + "border": { + "radius": { + "bottomLeft": "2px", + "bottomRight": "2px", + "topLeft": "2px", + "topRight": "2px" + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600", + "letterSpacing": "0rem" + } + }, + "core/post-comments-form": { + "css": "& textarea{background-color:var(--wp--preset--color--theme-1);color:var(--wp--preset--color--theme-2);border-color: var(--wp--preset--color--theme-2);border-radius:5px;} & input:not([type=submit]){background-color:var(--wp--preset--color--theme-1);color:var(--wp--preset--color--theme-2);border-color: var(--wp--preset--color--theme-2);border-radius:5px;} & textarea:hover{border-color: var(--wp--preset--color--theme-6);} & input:not([type=submit]):hover{border-color: var(--wp--preset--color--theme-6);} & input[type=checkbox]{margin:0 .5rem 0 0 !important;border-radius:0;} & label {font-family:var(--wp--preset--font-family--manrope);font-size: var(--wp--preset--font-size--small);font-weight:600;} & .comment-form > * {margin-top: var(--wp--style--block-gap);margin-bottom: 0;}" + }, + "core/post-comments-link": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "600" + } + }, + "core/post-date": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600" + } + }, + "core/post-excerpt": { + "css": "& .wp-block-post-excerpt__excerpt {line-height: inherit;}" + }, + "core/post-featured-image": { + "border": { + "radius": { + "bottomLeft": "10px", + "bottomRight": "10px", + "topLeft": "10px", + "topRight": "10px" + } + } + }, + "core/post-navigation-link": { + "elements": { + "link": { + ":hover": { + "typography": { + "textDecoration": "underline" + } + }, + "typography": { + "textDecoration": "none" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "600" + } + }, + "core/post-terms": { + "css": "& a {white-space: nowrap;} &.taxonomy-post_tag {display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--20);} &.taxonomy-post_tag .wp-block-post-terms__separator {display: none;} &.taxonomy-post_tag a {background-color: var(--wp--preset--color--theme-5); color: var(--wp--preset--color--theme-2); border-radius: 10px; padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); text-decoration: none; transition: color 0.15s ease-out;} &.taxonomy-post_tag a:hover {color: var(--wp--preset--color--theme-6);}", + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600" + } + }, + "core/post-time-to-read": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600" + } + }, + "core/post-title": { + "elements": { + "link": { + ":hover": { + "typography": { + "textDecoration": "underline" + } + }, + "typography": { + "textDecoration": "none" + } + } + } + }, + "core/preformatted": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--jetbrains-mono)" + } + }, + "core/pullquote": { + "border": { + "radius": "5px" + }, + "color": { + "background": "var(--wp--preset--color--theme-5)" + }, + "css": "& blockquote::before{content:\"❝\";display:block;color:var(--wp--preset--color--theme-4);font-size:var(--wp--preset--font-size--2-x-large);line-height:1;} & cite::before{content:\"— \";} & p:last-of-type {margin-bottom: var(--wp--preset--spacing--40);}", + "elements": { + "cite": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600" + } + } + }, + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--40)", + "left": "var(--wp--preset--spacing--40)", + "right": "var(--wp--preset--spacing--40)", + "top": "var(--wp--preset--spacing--40)" + } + }, + "typography": { + "textAlign": "start" + } + }, + "core/query-no-results": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600", + "letterSpacing": "0rem" + } + }, + "core/query-pagination": { + "elements": { + "link": { + ":hover": { + "typography": { + "textDecoration": "underline" + } + }, + "typography": { + "textDecoration": "none" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600", + "letterSpacing": "0rem" + } + }, + "core/query-title": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "600" + } + }, + "core/quote": { + "border": { + "radius": "5px" + }, + "color": { + "background": "var(--wp--preset--color--theme-5)" + }, + "css": "&::before{content:\"❝\";display:block;color:var(--wp--preset--color--theme-4);font-size:var(--wp--preset--font-size--2-x-large);line-height:1;} & cite::before{content:\"— \";}", + "elements": { + "cite": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "600" + } + } + }, + "spacing": { + "padding": { + "bottom": "var(--wp--preset--spacing--40)", + "left": "var(--wp--preset--spacing--30)", + "right": "var(--wp--preset--spacing--30)", + "top": "var(--wp--preset--spacing--40)" + } + }, + "variations": { + "plain": { + "border": { + "radius": "0px" + }, + "color": { + "background": "transparent" + }, + "spacing": { + "padding": { + "bottom": "0px", + "left": "0px", + "right": "0px", + "top": "0px" + } + } + } + } + }, + "core/read-more": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "600" + } + }, + "core/search": { + "css": "& .wp-block-search__input{background-color:var(--wp--preset--color--theme-1);color:var(--wp--preset--color--theme-2);border-color:var(--wp--preset--color--theme-2);border-radius:5px;} & .wp-block-search__input::placeholder{color:var(--wp--preset--color--theme-2);opacity:0.9;} & .wp-block-search__input:hover{border-color:var(--wp--preset--color--theme-6);} &.wp-block-search__button-inside .wp-block-search__inside-wrapper {background-color:var(--wp--preset--color--theme-1);border-color:var(--wp--preset--color--theme-2);border-radius:5px;} &.wp-block-search__button-inside .wp-block-search__inside-wrapper:hover {border-color:var(--wp--preset--color--theme-6);} & .wp-block-search__label{display:block;font-size:var(--wp--preset--font-size--small);font-weight:600;margin-bottom:var(--wp--preset--spacing--20);} &.wp-block-search__button-only .wp-block-search__inside-wrapper{flex-direction:row;} &.wp-block-search__button-only .wp-block-search__input{transition:none;} &.wp-block-search__text-button .wp-block-search__button{border:1px solid var(--wp--preset--color--theme-6);padding:var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);}", + "elements": { + "button": { + "border": { + "radius": "4px" + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontWeight": "600" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)" + } + }, + "core/separator": { + "border": { + "color": "currentColor", + "style": "solid", + "width": "0 0 1px 0" + }, + "color": { + "text": "var(--wp--preset--color--theme-4)" + }, + "spacing": { + "margin": { + "bottom": "var(--wp--preset--spacing--60)", + "top": "var(--wp--preset--spacing--60)" + } + }, + "variations": { + "wide": { + "css": " &:not(.alignfull){max-width: var(--wp--style--global--wide-size) !important;}" + } + } + }, + "core/site-logo": { + "border": { + "radius": "5px" + }, + "variations": { + "rounded": { + "border": { + "radius": "9999px" + } + } + } + }, + "core/site-tagline": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "500", + "letterSpacing": "0.01rem" + } + }, + "core/site-title": { + "border": { + "radius": { + "bottomLeft": "4px", + "bottomRight": "4px", + "topLeft": "4px", + "topRight": "4px" + } + }, + "elements": { + "link": { + ":hover": { + "typography": { + "textDecoration": "none" + } + }, + "typography": { + "textDecoration": "underline" + } + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)", + "fontStyle": "normal", + "fontWeight": "700", + "letterSpacing": "0.01rem" + } + }, + "core/social-links": { + "spacing": { + "blockGap": "var(--wp--preset--spacing--30)" + }, + "variations": { + "logos-only": { + "css": " & li.wp-social-link{color: currentcolor;}" + } + } + }, + "core/spacer": { + "spacing": { + "margin": { + "bottom": "0", + "top": "0" + } + } + }, + "core/tab-list": { + "typography": { + "fontFamily": "var(--wp--preset--font-family--manrope)", + "fontSize": "var(--wp--preset--font-size--small)" + } + }, + "core/term-description": { + "css": "& p:not(:first-of-type){margin-top: var(--wp--preset--spacing--40) !important;}" + }, + "core/verse": { + "typography": { + "fontSize": "var(--wp--preset--font-size--medium)", + "fontStyle": "italic", + "fontWeight": "500" + } + }, + "jetpack/contact-form": { + "css": "& .grunion-field:not([type=checkbox]):not([type=radio]){border-color:var(--wp--preset--color--theme-2);border-radius:5px;} & .grunion-field:not([type=checkbox]):not([type=radio]):hover{border-color:var(--wp--preset--color--theme-6);} & .grunion-field-label{font-family:var(--wp--preset--font-family--manrope);font-size:var(--wp--preset--font-size--small);font-weight:600;}" + } + }, + "color": { + "background": "var(--wp--preset--color--theme-1)", + "text": "var(--wp--preset--color--theme-2)" + }, + "elements": { + "button": { + ":active": { + "color": { + "background": "color-mix(in srgb, var(--wp--preset--color--theme-2) 85%, transparent)", + "text": "var(--wp--preset--color--theme-1)" + } + }, + ":focus": { + "color": { + "background": "color-mix(in srgb, var(--wp--preset--color--theme-2) 85%, transparent)", + "text": "var(--wp--preset--color--theme-1)" + }, + "outline": { + "color": "currentColor", + "offset": "-4px", + "style": "dotted", + "width": "1px" + } + }, + ":focus-visible": { + "outline": { + "color": "currentColor", + "offset": "-4px", + "style": "dotted", + "width": "1px" + } + }, + ":hover": { + "color": { + "background": "var(--wp--preset--color--theme-6)", + "text": "var(--wp--preset--color--theme-1)" + } + }, + "color": { + "background": "var(--wp--preset--color--theme-2)", + "text": "var(--wp--preset--color--theme-1)" + } + }, + "h1": { + "typography": { + "fontSize": "var(--wp--preset--font-size--2-x-large)", + "letterSpacing": "-0.02rem" + } + }, + "h2": { + "typography": { + "fontSize": "var(--wp--preset--font-size--x-large)", + "letterSpacing": "-0.02rem" + } + }, + "h3": { + "typography": { + "fontSize": "var(--wp--preset--font-size--large)", + "letterSpacing": "-0.01rem" + } + }, + "h4": { + "typography": { + "fontSize": "var(--wp--preset--font-size--medium)" + } + }, + "h5": { + "typography": { + "fontSize": "var(--wp--preset--font-size--small)" + } + }, + "h6": { + "typography": { + "fontSize": "var(--wp--preset--font-size--small)" + } + }, + "heading": { + "typography": { + "fontWeight": "500", + "lineHeight": "calc( 1em + 0.5rem )" + } + }, + "link": { + ":hover": { + "color": { + "text": "var(--wp--preset--color--theme-6)" + }, + "typography": { + "textDecoration": "none" + } + }, + "color": { + "text": "var(--wp--preset--color--theme-2)" + } + } + }, + "spacing": { + "blockGap": "var(--wp--preset--spacing--40)", + "padding": { + "left": "var(--wp--preset--spacing--40)", + "right": "var(--wp--preset--spacing--40)" + } + }, + "typography": { + "fontFamily": "var(--wp--preset--font-family--inter)", + "fontSize": "var(--wp--preset--font-size--medium)", + "fontWeight": "400", + "lineHeight": "1.5" + } + }, + "templateParts": [ + { + "area": "header", + "name": "header", + "title": "Header" + }, + { + "area": "header", + "name": "header-collapsed", + "title": "Header Collapsed" + }, + { + "area": "header", + "name": "header-sticky", + "title": "Header Sticky" + }, + { + "area": "footer", + "name": "footer", + "title": "Footer" + }, + { + "area": "footer", + "name": "footer-wide", + "title": "Footer Wide" + }, + { + "area": "uncategorized", + "name": "search-bar", + "title": "Search Bar" + }, + { + "area": "navigation-overlay", + "name": "navigation-overlay", + "title": "Navigation Overlay" + }, + { + "area": "uncategorized", + "name": "sidebar", + "title": "Sidebar" + } + ] +} diff --git a/src/wp-includes/class-wp-theme.php b/src/wp-includes/class-wp-theme.php index 87fcd7eec72b4..2d89320e834fa 100644 --- a/src/wp-includes/class-wp-theme.php +++ b/src/wp-includes/class-wp-theme.php @@ -63,6 +63,7 @@ final class WP_Theme implements ArrayAccess { * @since 6.1.0 Added the Twenty Twenty-Three theme. * @since 6.4.0 Added the Twenty Twenty-Four theme. * @since 6.7.0 Added the Twenty Twenty-Five theme. + * @since 7.2.0 Added the Ipsum theme. * @var string[] */ private static $default_themes = array( @@ -83,6 +84,7 @@ final class WP_Theme implements ArrayAccess { 'twentytwentythree' => 'Twenty Twenty-Three', 'twentytwentyfour' => 'Twenty Twenty-Four', 'twentytwentyfive' => 'Twenty Twenty-Five', + 'ipsum' => 'Ipsum', ); /** diff --git a/src/wp-includes/default-constants.php b/src/wp-includes/default-constants.php index 11d2bc4338631..782d3e37145ac 100644 --- a/src/wp-includes/default-constants.php +++ b/src/wp-includes/default-constants.php @@ -434,6 +434,6 @@ function wp_templating_constants() { * @see WP_Theme::get_core_default_theme() */ if ( ! defined( 'WP_DEFAULT_THEME' ) ) { - define( 'WP_DEFAULT_THEME', 'twentytwentyfive' ); + define( 'WP_DEFAULT_THEME', 'ipsum' ); } } diff --git a/tests/phpstan/base.neon b/tests/phpstan/base.neon index 1a6ed5ead871d..04e13eb2fb6cb 100644 --- a/tests/phpstan/base.neon +++ b/tests/phpstan/base.neon @@ -261,6 +261,7 @@ parameters: paths: - ../../src/wp-admin - ../../src/wp-includes + - ../../src/wp-content/themes/ipsum - ../../src/wp-content/themes/twentyeleven - ../../src/wp-content/themes/twentyfifteen - ../../src/wp-content/themes/twentyfourteen diff --git a/tests/phpstan/bootstrap.php b/tests/phpstan/bootstrap.php index d3308c298a114..1d54a5c1e238a 100644 --- a/tests/phpstan/bootstrap.php +++ b/tests/phpstan/bootstrap.php @@ -83,9 +83,9 @@ define( 'WP_CRON_LOCK_TIMEOUT', MINUTE_IN_SECONDS ); /** @see wp_templating_constants() */ -define( 'TEMPLATEPATH', WP_CONTENT_DIR . '/themes/twentytwentyfive' ); -define( 'STYLESHEETPATH', WP_CONTENT_DIR . '/themes/twentytwentyfive' ); -define( 'WP_DEFAULT_THEME', 'twentytwentyfive' ); +define( 'TEMPLATEPATH', WP_CONTENT_DIR . '/themes/ipsum' ); +define( 'STYLESHEETPATH', WP_CONTENT_DIR . '/themes/ipsum' ); +define( 'WP_DEFAULT_THEME', 'ipsum' ); /** @see ms_file_constants() */ define( 'WPMU_SENDFILE', false ); diff --git a/tests/phpunit/tests/theme.php b/tests/phpunit/tests/theme.php index d3c9873406e17..ac0eebb77a9e5 100644 --- a/tests/phpunit/tests/theme.php +++ b/tests/phpunit/tests/theme.php @@ -24,6 +24,7 @@ class Tests_Theme extends WP_UnitTestCase { 'twentytwentythree', 'twentytwentyfour', 'twentytwentyfive', + 'ipsum', ); /** @@ -228,11 +229,12 @@ public function test_wp_get_theme_contents() { * Make sure we update the default theme list to include the latest default theme. * * @ticket 29925 + * @ticket 66352 */ public function test_default_theme_in_default_theme_list() { $latest_default_theme = WP_Theme::get_core_default_theme(); - if ( ! $latest_default_theme->exists() || 'twenty' !== substr( $latest_default_theme->get_stylesheet(), 0, 6 ) ) { - $this->fail( 'No Twenty* series default themes are installed.' ); + if ( ! $latest_default_theme->exists() ) { + $this->fail( 'No default themes are installed.' ); } $this->assertContains( $latest_default_theme->get_stylesheet(), $this->default_themes ); }