浏览代码

Create Pendant Base Theme (#5694)

* Cloned 'Block Canvas' and adjusted the palette colors as a starting point
Co-authored-by: Jeff Ong <jonger4@gmail.com>
Jason Crist 3 年之前
父节点
当前提交
d4929cbefb

+ 58 - 0
pendant/functions.php

@@ -0,0 +1,58 @@
+<?php
+/**
+ * Pendant functions and definitions
+ *
+ * @link https://developer.wordpress.org/themes/basics/theme-functions/
+ *
+ * @package Pendant
+ * @since Pendant 1.0
+ */
+
+
+if ( ! function_exists( 'pendant_support' ) ) :
+
+	/**
+	 * Sets up theme defaults and registers support for various WordPress features.
+	 *
+	 * @since Block Canvas 1.0
+	 *
+	 * @return void
+	 */
+	function pendant_support() {
+
+		// Enqueue editor styles.
+		add_editor_style( 'style.css' );
+
+	}
+
+endif;
+
+add_action( 'after_setup_theme', 'pendant_support' );
+
+if ( ! function_exists( 'pendant_styles' ) ) :
+
+	/**
+	 * Enqueue styles.
+	 *
+	 * @since Block Canvas 1.0
+	 *
+	 * @return void
+	 */
+	function pendant_styles() {
+
+		// Register theme stylesheet.
+		wp_register_style(
+			'pendant-style',
+			get_template_directory_uri() . '/style.css',
+			array(),
+			wp_get_theme()->get( 'Version' )
+		);
+
+		// Enqueue theme stylesheet.
+		wp_enqueue_style( 'pendant-style' );
+
+	}
+
+endif;
+
+add_action( 'wp_enqueue_scripts', 'pendant_styles' );

+ 2 - 0
pendant/index.php

@@ -0,0 +1,2 @@
+<?php
+	# This page intentionally left blank

+ 11 - 0
pendant/parts/footer.html

@@ -0,0 +1,11 @@
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group">
+	<!-- wp:group {"style":{"spacing":{"padding":{"top":"80px","bottom":"30px"}}}} -->
+	<div class="wp-block-group" style="padding-top:80px;padding-bottom:30px">
+		<!-- wp:paragraph {"align":"center"} -->
+		<p class="has-text-align-center">Proudly Powered by <a href="https://wordpress.org" rel="nofollow">WordPress</a></p>
+		<!-- /wp:paragraph -->
+	</div>
+	<!-- /wp:group -->
+</div>
+<!-- /wp:group -->

+ 29 - 0
pendant/parts/header.html

@@ -0,0 +1,29 @@
+<!-- wp:group {"className":"gapless-group","layout":{"inherit":"true"}} -->
+<div class="wp-block-group gapless-group">
+	<!-- wp:group {"align":"full","className":"site-header","layout":{"type":"flex","justifyContent":"space-between"},"style":{"spacing":{"padding":{"bottom":"var(--wp--custom--gap--vertical)","top":"var(--wp--custom--gap--vertical)"}}}} -->
+	<div class="wp-block-group site-header alignfull" style="padding-bottom:var(--wp--custom--gap--vertical);padding-top:var(--wp--custom--gap--vertical)">
+	
+		<!-- wp:group {"className":"site-brand","layout":{"type":"flex"}} -->
+		<div class="wp-block-group site-brand">
+			<!-- wp:site-logo {"width":64} /-->
+	
+			<!-- wp:group -->
+			<div class="wp-block-group">
+				<!-- wp:site-title /-->
+				<!-- wp:site-tagline /-->
+			</div>
+			<!-- /wp:group -->
+		</div>
+		<!-- /wp:group -->
+	
+		<!-- wp:navigation {"__unstableLocation":"primary","__unstableSocialLinks":"social","layout":{"type":"flex","setCascadingProperties":true,"justifyContent":"right","orientation":"horizontal"},"style":{"spacing":{"margin":{"top":"0"}}}} /-->
+	
+	</div>
+	<!-- /wp:group -->
+
+</div>
+<!-- /wp:group -->
+
+<!-- wp:spacer {"height":50} -->
+<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>
+<!-- /wp:spacer -->

+ 8 - 0
pendant/parts/post-meta.html

@@ -0,0 +1,8 @@
+<!-- wp:group {"layout":{"type":"flex"}} -->
+<div class="wp-block-group">
+	<!-- wp:post-author {"showAvatar":false,"showBio":false,"style":{"typography":{"fontSize":"var(--wp--custom--font-sizes--x-small)"}}} /-->
+	<!-- wp:post-date {"isLink":true,"style":{"typography":{"fontSize":"var(--wp--custom--font-sizes--x-small)"}}} /-->
+	<!-- wp:post-terms {"term":"category","style":{"typography":{"fontSize":"var(--wp--custom--font-sizes--x-small)"}}} /-->
+	<!-- wp:post-terms {"term": "post_tag","style":{"typography":{"fontSize":"var(--wp--custom--font-sizes--x-small)"}}} /-->
+</div>
+<!-- /wp:group -->

+ 15 - 0
pendant/patterns/404.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ * Pattern Name: A 404 page
+ * Inserter: no
+ */
+
+?>
+
+<!-- wp:heading {"textAlign":"center","level":1,"fontSize":"medium"} -->
+<h1 class="has-text-align-center has-medium-font-size" id="oops-that-page-can-t-be-found"><?php echo esc_html__( 'Oops! That page can&rsquo;t be found.', 'pendant' ); ?></h1>
+<!-- /wp:heading -->
+
+<!-- wp:paragraph -->
+<p><?php echo  esc_html__( 'It looks like nothing was found at this location. Maybe try a search?', 'pendant' ); ?></p>
+<!-- /wp:paragraph -->

+ 31 - 0
pendant/readme.txt

@@ -0,0 +1,31 @@
+=== Pendant ===
+Contributors: Automattic
+Requires at least: 5.8
+Tested up to: 5.9
+Requires PHP: 5.7
+License: GPLv2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+
+== Description ==
+
+An elegant product-focused theme
+
+== Changelog ==
+
+= 0.0.1 =
+* Initial release
+
+== Copyright ==
+
+Pendant WordPress Theme, (C) 2022 Automattic
+Pendant 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.

二进制
pendant/screenshot.png


+ 118 - 0
pendant/style.css

@@ -0,0 +1,118 @@
+/*
+Theme Name: Pendant
+Theme URI: https://github.com/Automattic/themes/tree/trunk/pendant
+Author: Automattic
+Author URI: https://automattic.com
+Description: An elegant product-focused theme
+Requires at least: 5.8
+Tested up to: 5.9
+Requires PHP: 5.7
+Version: 0.0.1
+License: GNU General Public License v2 or later
+License URI: https://raw.githubusercontent.com/Automattic/themes/trunk/LICENSE
+Template: 
+Text Domain: pendant
+Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, rtl-language-support, theme-options, threaded-comments, translation-ready, wide-blocks
+*//*
+ * Font smoothing
+ */
+
+ body {
+	-moz-osx-font-smoothing: grayscale;
+	-webkit-font-smoothing: antialiased;
+}
+
+/*
+ * Button hover styles.
+ * Necessary until the following issue is resolved in Gutenberg:
+ * https://github.com/WordPress/gutenberg/issues/27075
+ */
+
+.wp-block-search__button:hover,
+.wp-block-file .wp-block-file__button:hover,
+.wp-block-button__link:hover {
+	background-color: var(--wp--preset--color--primary);
+}
+
+/*
+ * Search and File Block button styles.
+ * Necessary until the following issues are resolved in Gutenberg:
+ * https://github.com/WordPress/gutenberg/issues/36444
+ * https://github.com/WordPress/gutenberg/issues/27760
+ */
+
+.wp-block-search__button,
+.wp-block-file .wp-block-file__button {
+	background-color: var(--wp--preset--color--foreground);
+	border-radius: 0;
+	border: none;
+	color: var(--wp--preset--color--background);
+	font-size: var(--wp--preset--typography--font-size--normal);
+	padding: calc(0.667em + 2px) calc(1.333em + 2px);
+}
+
+/*
+ * Alignment styles, borrowed from Twenty Twenty-Two.
+ * These rules are temporary, and should not be relied on or
+ * modified too heavily by themes or plugins that build on
+ * Twenty Twenty-Two. These are meant to be a precursor to
+ * a global solution provided by the Block Editor.
+ *
+ * Relevant issues:
+ * https://github.com/WordPress/gutenberg/issues/35607
+ * https://github.com/WordPress/gutenberg/issues/35884
+ */
+
+.wp-site-blocks,
+body > .is-root-container,
+.edit-post-visual-editor__post-title-wrapper,
+.wp-block-group.alignfull,
+.wp-block-group.has-background,
+.wp-block-columns.alignfull.has-background,
+.wp-block-cover.alignfull,
+.is-root-container .wp-block[data-align='full'] > .wp-block-group,
+.is-root-container .wp-block[data-align='full'] > .wp-block-columns.has-background,
+.is-root-container .wp-block[data-align='full'] > .wp-block-cover {
+	padding-left: var(--wp--custom--gap--horizontal);
+	padding-right: var(--wp--custom--gap--horizontal);
+}
+
+.wp-site-blocks .alignfull,
+.wp-site-blocks > .wp-block-group.has-background,
+.wp-site-blocks > .wp-block-cover,
+.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
+.wp-site-blocks > .wp-block-template-part > .wp-block-cover,
+body > .is-root-container > .wp-block-cover,
+body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background,
+body > .is-root-container > .wp-block-template-part > .wp-block-cover,
+.is-root-container .wp-block[data-align='full'] {
+	margin-left: calc(-1 * var(--wp--custom--gap--horizontal)) !important;
+	margin-right: calc(-1 * var(--wp--custom--gap--horizontal)) !important;
+	max-width: unset;
+	width: unset;
+}
+
+/* Blocks inside columns don't have negative margins. */
+.wp-site-blocks .wp-block-columns .wp-block-column .alignfull,
+.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align="full"],
+/* We also want to avoid stacking negative margins. */
+.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull,
+.is-root-container .wp-block[data-align="full"] > *:not(.wp-block-group) .wp-block[data-align="full"] {
+	margin-left: auto !important;
+	margin-right: auto !important;
+	width: inherit;
+}
+
+/*
+ * Responsive menu container padding.
+ * This ensures the responsive container inherits the same
+ * spacing defined above. This behavior may be built into
+ * the Block Editor in the future.
+ */
+
+.wp-block-navigation__responsive-container.is-menu-open {
+	padding-top: var(--wp--custom--gap--horizontal);
+	padding-bottom: var(--wp--custom--gap--vertical);
+	padding-right: var(--wp--custom--gap--horizontal);
+	padding-left: var(--wp--custom--gap--horizontal);
+}

+ 12 - 0
pendant/templates/404.html

@@ -0,0 +1,12 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"inherit":true}} -->
+<main class="wp-block-group">
+
+	<!-- wp:pattern {"slug":"pendant/404"} /-->
+	<!-- wp:search {"label":""} /-->
+
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->

+ 33 - 0
pendant/templates/archive.html

@@ -0,0 +1,33 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:query {"tagName":"main","layout":{"inherit":true}} -->
+<main class="wp-block-query">
+<!-- wp:query-title {"type":"archive","style":{"spacing":{"margin":{"bottom":"100px"}}}} /-->
+<!-- wp:post-template -->
+<!-- wp:group -->
+<div class="wp-block-group">
+	<!-- wp:post-title {"isLink":true} /-->
+	<!-- wp:post-featured-image {"isLink":true} /-->
+	<!-- wp:post-excerpt /-->
+	<!-- wp:template-part {"slug":"post-meta","layout":{"inherit":true}} /-->
+	<!-- wp:spacer {"height":40} -->
+	<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>
+	<!-- /wp:spacer -->
+</div>
+<!-- /wp:group -->
+<!-- /wp:post-template -->
+<!-- wp:group {"layout":{"inherit":true}} -->
+	<div class="wp-block-group">
+	<!-- wp:query-pagination -->
+		<!-- wp:query-pagination-previous /-->
+
+		<!-- wp:query-pagination-numbers /-->
+
+		<!-- wp:query-pagination-next /-->
+	<!-- /wp:query-pagination -->
+	</div>
+	<!-- /wp:group -->
+</main>
+<!-- /wp:query -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->

+ 1 - 0
pendant/templates/blank.html

@@ -0,0 +1 @@
+<!-- wp:post-content {"layout":{"inherit":true}} /-->

+ 3 - 0
pendant/templates/footer-only.html

@@ -0,0 +1,3 @@
+<!-- wp:post-content {"layout":{"inherit":true}} /-->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->

+ 10 - 0
pendant/templates/header-footer-only.html

@@ -0,0 +1,10 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main"} -->
+<main class="wp-block-group">
+
+<!-- wp:post-content {"layout":{"inherit":true}} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->

+ 33 - 0
pendant/templates/index.html

@@ -0,0 +1,33 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:query {"tagName":"main","layout":{"inherit":true}} -->
+<main class="wp-block-query">
+	<!-- wp:post-template -->
+	<!-- wp:group -->
+	<div class="wp-block-group">
+		<!-- wp:post-title {"isLink":true} /-->
+		<!-- wp:post-featured-image {"isLink":true} /-->
+		<!-- wp:post-excerpt /-->
+		<!-- wp:template-part {"slug":"post-meta"} /-->
+		<!-- wp:spacer {"height":40} -->
+		<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>
+		<!-- /wp:spacer -->
+	</div>
+	<!-- /wp:group -->
+	<!-- /wp:post-template -->
+	<!-- wp:group {"layout":{"inherit":true}} -->
+		<div class="wp-block-group">
+		<!-- wp:query-pagination -->
+			<!-- wp:query-pagination-previous /-->
+	
+			<!-- wp:query-pagination-numbers /-->
+	
+			<!-- wp:query-pagination-next /-->
+		<!-- /wp:query-pagination -->
+		</div>
+		<!-- /wp:group -->
+	</main>
+	<!-- /wp:query -->
+	
+	<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->
+	

+ 27 - 0
pendant/templates/page.html

@@ -0,0 +1,27 @@
+
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group">
+<!-- wp:post-title /-->
+</div>
+<!-- /wp:group -->
+
+<!-- wp:group {"tagName":"main"} -->
+<main class="wp-block-group">
+<!-- wp:post-featured-image {"align":"full"} /-->
+
+<!-- wp:post-content {"layout":{"inherit":true}} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group">
+    <!-- wp:spacer {"height":60} -->
+    <div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>
+    <!-- /wp:spacer -->
+    <!-- wp:post-comments /-->
+</div>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->

+ 47 - 0
pendant/templates/search.html

@@ -0,0 +1,47 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group">
+	<!-- wp:search /-->
+
+	<!-- wp:spacer {"height":40} -->
+	<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>
+	<!-- /wp:spacer -->
+</div>
+<!-- /wp:group -->
+
+<!-- wp:query {"layout":{"inherit":true}} -->
+<main class="wp-block-query">
+	<!-- wp:post-template -->
+	<!-- wp:group -->
+	<div class="wp-block-group">
+		<!-- wp:post-title {"isLink":true} /-->
+
+		<!-- wp:post-featured-image {"isLink":true} /-->
+
+		<!-- wp:post-excerpt /-->
+
+		<!-- wp:template-part {"slug":"post-meta","layout":{"inherit":true}} /-->
+
+		<!-- wp:spacer {"height":40} -->
+		<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>
+		<!-- /wp:spacer -->
+	</div>
+	<!-- /wp:group -->
+	<!-- /wp:post-template -->
+
+	<!-- wp:group {"layout":{"inherit":true}} -->
+	<div class="wp-block-group">
+		<!-- wp:query-pagination -->
+		<!-- wp:query-pagination-previous /-->
+
+		<!-- wp:query-pagination-numbers /-->
+
+		<!-- wp:query-pagination-next /-->
+		<!-- /wp:query-pagination -->
+	</div>
+	<!-- /wp:group -->
+</main>
+<!-- /wp:query -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->

+ 28 - 0
pendant/templates/single.html

@@ -0,0 +1,28 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group">
+<!-- wp:post-title /-->
+</div>
+<!-- /wp:group -->
+
+<!-- wp:group {"tagName":"main"} -->
+<main class="wp-block-group">
+<!-- wp:post-featured-image {"align":"full"} /-->
+
+<!-- wp:post-content {"layout":{"inherit":true}} /-->
+
+<!-- wp:template-part {"slug":"post-meta"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group">
+    <!-- wp:spacer {"height":60} -->
+    <div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>
+    <!-- /wp:spacer -->
+    <!-- wp:post-comments /-->
+</div>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container"} /-->

+ 424 - 0
pendant/theme.json

@@ -0,0 +1,424 @@
+{
+    "version": 2,
+    "templateParts": [
+        {
+            "name": "header",
+            "area": "header"
+        },
+        {
+            "name": "footer",
+            "area": "footer"
+        }
+    ],
+    "customTemplates": [
+        {
+            "name": "blank",
+            "title": "Blank",
+            "postTypes": [
+                "page",
+                "post"
+            ]
+        },
+        {
+            "name": "header-footer-only",
+            "title": "Header and Footer Only",
+            "postTypes": [
+                "page",
+                "post"
+            ]
+        },
+        {
+            "name": "footer-only",
+            "title": "Footer Only",
+            "postTypes": [
+                "page",
+                "post"
+            ]
+        }
+    ],
+    "settings": {
+        "color": {
+            "palette": [
+                {
+                    "slug": "primary",
+                    "color": "#776c4e",
+                    "name": "Primary"
+                },
+                {
+                    "slug": "secondary",
+                    "color": "#a19982",
+                    "name": "Secondary"
+                },
+                {
+                    "slug": "foreground",
+                    "color": "#000000",
+                    "name": "Foreground"
+                },
+                {
+                    "slug": "background",
+                    "color": "#ffffff",
+                    "name": "Background"
+                },
+                {
+                    "slug": "tertiary",
+                    "color": "#f1ede6",
+                    "name": "Tertiary"
+                }
+            ],
+            "link": true
+        },
+        "custom": {
+            "button": {
+                "border": {
+                    "color": "var(--wp--preset--color--primary)",
+                    "radius": "4px",
+                    "style": "solid",
+                    "width": "2px"
+                },
+                "color": {
+                    "background": "var(--wp--preset--color--primary)",
+                    "text": "var(--wp--preset--color--background)"
+                },
+                "hover": {
+                    "color": {
+                        "text": "var(--wp--preset--color--background)",
+                        "background": "var(--wp--preset--color--secondary)"
+                    },
+                    "border": {
+                        "color": "var(--wp--preset--color--secondary)"
+                    }
+                },
+                "spacing": {
+                    "padding": {
+                        "top": "0.667em",
+                        "bottom": "0.667em",
+                        "left": "1.333em",
+                        "right": "1.333em"
+                    }
+                },
+                "typography": {
+                    "fontSize": "var(--wp--custom--font-sizes--normal)",
+                    "fontWeight": "normal",
+                    "lineHeight": 2
+                }
+            },
+            "fontSizes": {
+                "x-small": "14px",
+                "normal": "18px"
+            },
+            "gap": {
+                "baseline": "15px",
+                "horizontal": "min(30px, 5vw)",
+                "vertical": "min(30px, 5vw)"
+            },
+            "heading": {
+                "typography": {
+                    "fontWeight": 400,
+                    "lineHeight": 1.125
+                }
+            }
+        },
+        "spacing": {
+            "units": [
+                "%",
+                "px",
+                "em",
+                "rem",
+                "vh",
+                "vw"
+            ],
+            "blockGap": true,
+            "margin": true,
+            "padding": true
+        },
+        "typography": {
+            "fontFamilies": [
+                {
+                    "fontFamily": "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif",
+                    "slug": "body-font",
+                    "name": "Body (System Font)"
+                },
+                {
+                    "fontFamily": "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif",
+                    "slug": "heading-font",
+                    "name": "Headings (System Font)"
+                }
+            ],
+            "fontSizes": [
+                {
+                    "name": "Small",
+                    "size": "16px",
+                    "slug": "small"
+                },
+                {
+                    "name": "Medium",
+                    "size": "24px",
+                    "slug": "medium"
+                },
+                {
+                    "name": "Large",
+                    "size": "28px",
+                    "slug": "large"
+                },
+                {
+                    "name": "Extra Large",
+                    "size": "32px",
+                    "slug": "x-large"
+                }
+            ],
+            "lineHeight": true
+        },
+        "layout": {
+            "contentSize": "620px",
+            "wideSize": "1000px"
+        },
+        "border": {
+            "color": true,
+            "radius": true,
+            "style": true,
+            "width": true
+        }
+    },
+    "styles": {
+        "blocks": {
+            "core\/button": {
+                "border": {
+                    "radius": "var(--wp--custom--button--border--radius)"
+                },
+                "color": {
+                    "background": "var(--wp--custom--button--color--background)",
+                    "text": "var(--wp--custom--button--color--text)"
+                },
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--body-font)",
+                    "fontSize": "var(--wp--custom--button--typography--font-size)",
+                    "fontWeight": "var(--wp--custom--button--typography--font-weight)",
+                    "lineHeight": "var(--wp--custom--button--typography--line-height)"
+                }
+            },
+            "core\/code": {
+                "border": {
+                    "color": "#CCCCCC",
+                    "radius": "0px",
+                    "style": "solid",
+                    "width": "2px"
+                },
+                "spacing": {
+                    "padding": {
+                        "left": "var(--wp--custom--gap--horizontal)",
+                        "right": "var(--wp--custom--gap--horizontal)",
+                        "top": "var(--wp--custom--gap--vertical)",
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                },
+                "typography": {
+                    "fontFamily": "monospace"
+                }
+            },
+            "core\/gallery": {
+                "spacing": {
+                    "margin": {
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                }
+            },
+            "core\/list": {
+                "spacing": {
+                    "padding": {
+                        "left": "calc( 2 * var(--wp--custom--gap--horizontal) )"
+                    }
+                }
+            },
+            "core\/navigation": {
+                "typography": {
+                    "fontSize": "var(--wp--custom--font-sizes--normal)"
+                }
+            },
+            "core\/post-title": {
+                "spacing": {
+                    "margin": {
+                        "bottom": "0"
+                    }
+                },
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--heading-font)",
+                    "fontSize": "var(--wp--preset--font-size--large)",
+                    "lineHeight": "1.125"
+                }
+            },
+            "core\/post-date": {
+                "color": {
+                    "text": "var(--wp--preset--color--foreground)"
+                },
+                "typography": {
+                    "fontSize": "var(--wp--preset--font-size--small)"
+                }
+            },
+            "core\/pullquote": {
+                "border": {
+                    "style": "solid",
+                    "width": "1px 0"
+                },
+                "typography": {
+                    "fontStyle": "italic",
+                    "fontSize": "var(--wp--preset--font-size--large)"
+                },
+                "spacing": {
+                    "padding": {
+                        "left": "var(--wp--custom--gap--horizontal)",
+                        "right": "var(--wp--custom--gap--horizontal)",
+                        "top": "var(--wp--custom--gap--horizontal)",
+                        "bottom": "var(--wp--custom--gap--horizontal)"
+                    }
+                }
+            },
+            "core\/search": {
+                "typography": {
+                    "fontSize": "var(--wp--custom--button--typography--font-size)",
+                    "lineHeight": "1.6"
+                }
+            },
+            "core\/separator": {
+                "color": {
+                    "text": "var(--wp--preset--color--foreground)"
+                },
+                "border": {
+                    "color": "currentColor",
+                    "style": "solid",
+                    "width": "0 0 1px 0"
+                }
+            },
+            "core\/quote": {
+                "border": {
+                    "color": "var(--wp--preset--color--primary)",
+                    "style": "solid",
+                    "width": "0 0 0 1px"
+                },
+                "spacing": {
+                    "padding": {
+                        "left": "var(--wp--custom--gap--horizontal)"
+                    }
+                },
+                "typography": {
+                    "fontSize": "var(--wp--custom--font-sizes--normal)",
+                    "fontStyle": "normal"
+                }
+            },
+            "core\/site-tagline": {
+                "typography": {
+                    "fontSize": "var(--wp--custom--font-sizes--x-small)"
+                }
+            },
+            "core\/site-title": {
+                "typography": {
+                    "fontSize": "var(--wp--custom--font-sizes--normal)",
+                    "fontWeight": "700",
+                    "textDecoration": "none"
+                }
+            }
+        },
+        "color": {
+            "background": "var(--wp--preset--color--background)",
+            "text": "var(--wp--preset--color--foreground)"
+        },
+        "elements": {
+            "h1": {
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--heading-font)",
+                    "fontWeight": "var(--wp--custom--heading--typography--font-weight)",
+                    "lineHeight": "var(--wp--custom--heading--typography--line-height)",
+                    "fontSize": "48px"
+                },
+                "spacing": {
+                    "margin": {
+                        "top": "var(--wp--custom--gap--vertical)",
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                }
+            },
+            "h2": {
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--heading-font)",
+                    "fontWeight": "var(--wp--custom--heading--typography--font-weight)",
+                    "lineHeight": "var(--wp--custom--heading--typography--line-height)",
+                    "fontSize": "var(--wp--preset--font-size--x-large)"
+                },
+                "spacing": {
+                    "margin": {
+                        "top": "var(--wp--custom--gap--vertical)",
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                }
+            },
+            "h3": {
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--heading-font)",
+                    "fontWeight": "var(--wp--custom--heading--typography--font-weight)",
+                    "lineHeight": "var(--wp--custom--heading--typography--line-height)",
+                    "fontSize": "var(--wp--preset--font-size--large)"
+                },
+                "spacing": {
+                    "margin": {
+                        "top": "var(--wp--custom--gap--vertical)",
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                }
+            },
+            "h4": {
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--heading-font)",
+                    "fontWeight": "var(--wp--custom--heading--typography--font-weight)",
+                    "lineHeight": "var(--wp--custom--heading--typography--line-height)",
+                    "fontSize": "var(--wp--preset--font-size--medium)"
+                },
+                "spacing": {
+                    "margin": {
+                        "top": "var(--wp--custom--gap--vertical)",
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                }
+            },
+            "h5": {
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--heading-font)",
+                    "fontWeight": "var(--wp--custom--heading--typography--font-weight)",
+                    "lineHeight": "var(--wp--custom--heading--typography--line-height)",
+                    "fontSize": "var(--wp--custom--font-sizes--normal)"
+                },
+                "spacing": {
+                    "margin": {
+                        "top": "var(--wp--custom--gap--vertical)",
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                }
+            },
+            "h6": {
+                "typography": {
+                    "fontFamily": "var(--wp--preset--font-family--heading-font)",
+                    "fontWeight": "var(--wp--custom--heading--typography--font-weight)",
+                    "lineHeight": "var(--wp--custom--heading--typography--line-height)",
+                    "fontSize": "var(--wp--preset--font-size--small)"
+                },
+                "spacing": {
+                    "margin": {
+                        "top": "var(--wp--custom--gap--vertical)",
+                        "bottom": "var(--wp--custom--gap--vertical)"
+                    }
+                }
+            },
+            "link": {
+                "color": {
+                    "text": "var(--wp--preset--color--primary)"
+                }
+            }
+        },
+        "spacing": {
+            "blockGap": "calc(2 * var(--wp--custom--gap--baseline))"
+        },
+        "typography": {
+            "lineHeight": "1.6",
+            "fontFamily": "var(--wp--preset--font-family--body-font)",
+            "fontSize": "var(--wp--custom--font-sizes--normal)"
+        }
+    }
+}