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 @@
+
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-portrait-editorial.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
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 @@
+
+
+
+
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 @@
+
+
+
+
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 @@
+
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-front.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-metal-table.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-staircase.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-pendant-lamp.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-polygons.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-front.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-capital.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-back.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-studio-closeup.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-lead-letter.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-metal-table.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-staircase.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-pendant-lamp.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-polygons.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-front.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-capital.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-back.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-studio-closeup.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-lead-letter.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-metal-table.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-staircase.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-pendant-lamp.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-polygons.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-front.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-capital.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-back.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-studio-closeup.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-lead-letter.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-facade.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
 ); ?>/assets/images/ipsum-sculpture.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
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 @@
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-metal-table.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-staircase.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-pendant-lamp.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-front.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-polygons.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-lead-letter.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-capital.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-desk-fan.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-portrait-editorial.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
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 @@
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-metal-table.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-staircase.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-pendant-lamp.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-monobloc-front.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-polygons.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-lead-letter.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-capital.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-desk-fan.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-portrait-editorial.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
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 @@
+
+
+
+
+
 ); ?>/assets/images/ipsum-avatar-cora.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-avatar-iris.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-portrait-tall.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-portrait-tall.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-cover-essays.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-cover-pictures.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
 ); ?>/assets/images/ipsum-cover-sounds.webp?ver=<?php echo esc_attr( wp_get_theme( get_template() )->get( 'Version' ) ); ?>)
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
essays.', 'ipsum' ) ); ?>
+
+
+
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 );
}