Browse Source

boilerplate for Remote theme (#5495)

* boilerplate for Remote theme

* home text block

* adjustments to home page, image

* header and alignments
Maggie 3 years ago
parent
commit
e6a67e1cd9

BIN
remote/assets/fonts/DMSans-Bold.woff2


BIN
remote/assets/fonts/DMSans-BoldItalic.woff2


BIN
remote/assets/fonts/DMSans-Italic.woff2


BIN
remote/assets/fonts/DMSans-Regular.woff2


+ 93 - 0
remote/assets/fonts/OFL.txt

@@ -0,0 +1,93 @@
+Copyright 2014-2017 Indian Type Foundry (info@indiantypefoundry.com). Copyright 2019 Google LLC.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.

BIN
remote/assets/images/Home-office.jpg


+ 164 - 0
remote/functions.php

@@ -0,0 +1,164 @@
+<?php
+/**
+ * Remote functions and definitions
+ *
+ * @link https://developer.wordpress.org/themes/basics/theme-functions/
+ *
+ * @package Remote
+ * @since Remote 1.0
+ */
+
+
+if ( ! function_exists( 'remote_support' ) ) :
+
+	/**
+	 * Sets up theme defaults and registers support for various WordPress features.
+	 *
+	 * @since Remote 1.0
+	 *
+	 * @return void
+	 */
+	function remote_support() {
+
+		// Add support for block styles.
+		add_theme_support( 'wp-block-styles' );
+
+		// Enqueue editor styles.
+		add_editor_style( 'style.css' );
+
+	}
+
+endif;
+
+add_action( 'after_setup_theme', 'remote_support' );
+
+if ( ! function_exists( 'remote_styles' ) ) :
+
+	/**
+	 * Enqueue styles.
+	 *
+	 * @since Remote 1.0
+	 *
+	 * @return void
+	 */
+	function remote_styles() {
+
+		// Register theme stylesheet.
+		wp_register_style(
+			'remote-style',
+			get_template_directory_uri() . '/style.css',
+			array(),
+			wp_get_theme()->get( 'Version' )
+		);
+
+		// Add styles inline.
+		wp_add_inline_style( 'remote-style', remote_get_font_face_styles() );
+
+		// Enqueue theme stylesheet.
+		wp_enqueue_style( 'remote-style' );
+
+	}
+
+endif;
+
+add_action( 'wp_enqueue_scripts', 'remote_styles' );
+
+if ( ! function_exists( 'remote_editor_styles' ) ) :
+
+	/**
+	 * Enqueue editor styles.
+	 *
+	 * @since Remote 1.0
+	 *
+	 * @return void
+	 */
+	function remote_editor_styles() {
+
+		// Add styles inline.
+		wp_add_inline_style( 'wp-block-library', remote_get_font_face_styles() );
+
+	}
+
+endif;
+
+add_action( 'admin_init', 'remote_editor_styles' );
+
+
+if ( ! function_exists( 'remote_get_font_face_styles' ) ) :
+
+	/**
+	 * Get font face styles.
+	 * Called by functions remote_styles() and remote_editor_styles() above.
+	 *
+	 * @since Remote 1.0
+	 *
+	 * @return string
+	 */
+	function remote_get_font_face_styles() {
+
+		return "
+		@font-face{
+			font-family: 'DM Sans';
+			font-weight: 400;
+			font-style: normal;
+			font-stretch: normal;
+			font-display: swap;
+			src: url('" . get_theme_file_uri( 'assets/fonts/DMSans-Regular.woff2' ) . "') format('woff2');
+		}
+		@font-face{
+			font-family: 'DM Sans';
+			font-weight: 700;
+			font-style: normal;
+			font-stretch: normal;
+			font-display: swap;
+			src: url('" . get_theme_file_uri( 'assets/fonts/DMSans-Bold.woff2' ) . "') format('woff2');
+		}
+		@font-face{
+			font-family: 'DM Sans';
+			font-weight: 400;
+			font-style: italic;
+			font-stretch: normal;
+			font-display: swap;
+			src: url('" . get_theme_file_uri( 'assets/fonts/DMSans-Italic.woff2' ) . "') format('woff2');
+		}
+		@font-face{
+			font-family: 'DM Sans';
+			font-weight: 700;
+			font-style: italic;
+			font-stretch: normal;
+			font-display: swap;
+			src: url('" . get_theme_file_uri( 'assets/fonts/DMSans-BoldItalic.woff2' ) . "') format('woff2');
+		}
+		";
+
+	}
+
+endif;
+
+if ( ! function_exists( 'remote_preload_webfonts' ) ) :
+
+	/**
+	 * Preloads the main web font to improve performance.
+	 *
+	 * Only the main web font (font-weight: 100,400, font-style: normal) is preloaded here since that font is always relevant. 
+	 * The other fonts are only needed if the user changed style or weight of the fonts,
+	 * and therefore preloading it would in most cases regress performance when that font would otherwise not be loaded
+	 * at all.
+	 *
+	 * @since Remote 1.0
+	 *
+	 * @return void
+	 */
+	function remote_preload_webfonts() {
+		?>
+		<link rel="preload" href="<?php echo esc_url( get_theme_file_uri( 'assets/fonts/DMSans-Regular.woff2' ) ); ?>" as="font" type="font/woff2" crossorigin>
+		<?php
+	}
+
+endif;
+
+add_action( 'wp_head', 'remote_preload_webfonts' );
+
+// Add block patterns
+//require get_template_directory() . '/inc/block-patterns.php';
+

+ 65 - 0
remote/inc/block-patterns.php

@@ -0,0 +1,65 @@
+<?php
+/**
+ * remote: Block Patterns
+ *
+ * @since remote 1.0
+ */
+
+/**
+ * Registers block patterns and categories.
+ *
+ * @since remote 1.0
+ *
+ * @return void
+ */
+function remote_register_block_patterns() {
+	$block_pattern_categories = array(
+		'pages'    => array( 'label' => __( 'Pages', 'remote' ) ),
+	);
+
+	/**
+	 * Filters the theme block pattern categories.
+	 *
+	 * @since remote 1.0
+	 *
+	 * @param array[] $block_pattern_categories {
+	 *     An associative array of block pattern categories, keyed by category name.
+	 *
+	 *     @type array[] $properties {
+	 *         An array of block category properties.
+	 *
+	 *         @type string $label A human-readable label for the pattern category.
+	 *     }
+	 * }
+	 */
+	$block_pattern_categories = apply_filters( 'remote_block_pattern_categories', $block_pattern_categories );
+
+	foreach ( $block_pattern_categories as $name => $properties ) {
+		if ( ! WP_Block_Pattern_Categories_Registry::get_instance()->is_registered( $name ) ) {
+			register_block_pattern_category( $name, $properties );
+		}
+	}
+
+	$block_patterns = array(
+
+	);
+
+	/**
+	 * Filters the theme block patterns.
+	 *
+	 * @since remote 1.0
+	 *
+	 * @param array $block_patterns List of block patterns by name.
+	 */
+	$block_patterns = apply_filters( 'remote_block_patterns', $block_patterns );
+
+	foreach ( $block_patterns as $block_pattern ) {
+		$pattern_file = get_theme_file_path( '/inc/patterns/' . $block_pattern . '.php' );
+
+		register_block_pattern(
+			'remote/' . $block_pattern,
+			require $pattern_file
+		);
+	}
+}
+add_action( 'init', 'remote_register_block_patterns', 9 );

+ 5 - 0
remote/index.php

@@ -0,0 +1,5 @@
+<?php
+// There is nothing output here because block themes do not use php templates.
+// There is a core ticket discussing removing this requirement for block themes:
+// https://core.trac.wordpress.org/ticket/54272.
+

+ 42 - 0
remote/parts/footer.html

@@ -0,0 +1,42 @@
+<!-- wp:spacer {"height":64} -->
+<div style="height:64px" aria-hidden="true" class="wp-block-spacer"></div>
+<!-- /wp:spacer -->
+
+<!-- wp:group {"layout":{"inherit":"default"}} -->
+<div class="wp-block-group">
+
+<!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":"5%"}}} -->
+<div class="wp-block-columns alignwide"><!-- wp:column -->
+<div class="wp-block-column"><!-- wp:heading {"fontSize":"small","style":{"typography":{"textTransform":"uppercase"}}} -->
+<h2 class="has-small-font-size" style="text-transform:uppercase">Tags</h2>
+<!-- /wp:heading -->
+
+<!-- wp:tag-cloud {"className":"is-style-outline"} /--></div>
+<!-- /wp:column -->
+
+<!-- wp:column -->
+<div class="wp-block-column"><!-- wp:heading {"fontSize":"small","style":{"typography":{"textTransform":"uppercase"}}} -->
+<h2 class="has-small-font-size" style="text-transform:uppercase">Categories</h2>
+<!-- /wp:heading -->
+
+<!-- wp:tag-cloud {"className":"is-style-outline","taxonomy":"category"} /-->
+</div>
+<!-- /wp:column --></div>
+<!-- /wp:columns -->
+
+</div>
+<!-- /wp:group -->
+
+<!-- wp:spacer {"height":32} -->
+<div style="height:32px" aria-hidden="true" class="wp-block-spacer"></div>
+<!-- /wp:spacer -->
+
+<!-- wp:group -->
+<div class="wp-block-group"><!-- wp:paragraph {"align":"center","style":{"typography":{"fontSize":"var(--wp--custom--font-sizes--tiny)"}}} -->
+<p class="has-text-align-center" style="font-size:var(--wp--custom--font-sizes--tiny)">Proudly Powered by <a href="https://wordpress.org" rel="nofollow">WordPress</a></p>
+<!-- /wp:paragraph --></div>
+<!-- /wp:group -->
+
+<!-- wp:spacer {"height":32} -->
+<div style="height:32px" aria-hidden="true" class="wp-block-spacer"></div>
+<!-- /wp:spacer -->

+ 14 - 0
remote/parts/header.html

@@ -0,0 +1,14 @@
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group"><!-- wp:group {"layout":{"type":"flex","justifyContent":"space-between"},"align":"wide","style":{"spacing":{"padding":{"bottom":"80px","top":"30px"}}},"className":"site-header"} -->
+	<div class="wp-block-group alignwide" style="padding-top:30px; padding-bottom:80px">
+	
+	<!-- wp:group {"layout":{"type":"flex","allowOrientation":false}} -->
+	<div class="wp-block-group">
+		<!-- wp:site-logo /-->
+		<!-- wp:site-title {"style":{"typography":{"fontStyle":"normal","fontWeight":"400"}},"fontSize":"small"} /-->
+	</div>
+	<!-- /wp:group -->
+	
+	<!-- wp:navigation {"__unstableLocation":"primary","fontSize":"small","layout":{"type":"flex","justifyContent":"right","orientation":"horizontal"}} /--></div>
+	<!-- /wp:group --></div>
+	<!-- /wp:group -->

+ 31 - 0
remote/readme.txt

@@ -0,0 +1,31 @@
+=== Remote ===
+Contributors: 
+Requires at least: 5.9
+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 ==
+
+
+
+== Changelog ==
+
+= 1.0.0 =
+* Initial release
+
+== Copyright ==
+
+Remote WordPress Theme, (C) 2021 
+Remote 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.

BIN
remote/screenshot.png


+ 88 - 0
remote/style.css

@@ -0,0 +1,88 @@
+/*
+Theme Name: Remote
+Theme URI: https://github.com/Automattic/themes/tree/trunk/archeo
+Author: Automattic
+Author URI: https://automattic.com
+Description: 
+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
+Text Domain: archeo
+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;
+}
+
+/*
+ * 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-cover.alignfull,
+ .is-root-container .wp-block[data-align='full'] > .wp-block-group,
+ .is-root-container .wp-block[data-align='full'] > .wp-block-cover {
+	 padding-left: var(--wp--custom--spacing--outer);
+	 padding-right: var(--wp--custom--spacing--outer);
+ }
+ 
+ .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--spacing--outer)) !important;
+	 margin-right: calc(-1 * var(--wp--custom--spacing--outer)) !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--spacing--outer);
+	 padding-bottom: var(--wp--custom--spacing--large);
+	 padding-right: var(--wp--custom--spacing--outer);
+	 padding-left: var(--wp--custom--spacing--outer);
+ }

+ 53 - 0
remote/templates/home.html

@@ -0,0 +1,53 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"layout":{"inherit":true}} -->
+<div class="wp-block-group"><!-- wp:spacer {"height":32} -->
+	<div style="height:32px" aria-hidden="true" class="wp-block-spacer"></div>
+	<!-- /wp:spacer -->
+
+	<!-- wp:group {"align":"wide"} -->
+	<div class="wp-block-group alignwide">
+		<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1.17"}},"fontSize":"huge"} -->
+		<p class="has-huge-font-size" style="line-height:1.17">Hi, I’m Tiffany! After years of long commutes and crowded offices, I’m now a happy advocate for remote work.</p>
+		<!-- /wp:paragraph -->
+
+		<!-- wp:spacer -->
+		<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
+		<!-- /wp:spacer --></div>
+	<!-- /wp:group -->
+
+	<!-- wp:group {"align":"full","layout":{"inherit":true}} -->
+	<div class="wp-block-group alignfull">
+	<!-- wp:query {"tagName":"main","align":"wide"} -->
+	<main class="wp-block-query alignwide"><!-- wp:post-template -->
+	<!-- wp:separator {"className":"is-style-wide"} -->
+	<hr class="wp-block-separator is-style-wide"/>
+	<!-- /wp:separator -->
+
+	<!-- wp:columns {"style":{"spacing":{"padding":{"top":"1em"}}}} -->
+	<div class="wp-block-columns" style="padding-top:1em"><!-- wp:column {"verticalAlignment":"top","width":"10%"} -->
+	<div class="wp-block-column is-vertically-aligned-top" style="flex-basis:10%"><!-- wp:post-date {"format":"M j","style":{"typography":{"textTransform":"uppercase"}},"fontSize":"small"} /--></div>
+	<!-- /wp:column -->
+
+	<!-- wp:column {"verticalAlignment":"center","width":""} -->
+	<div class="wp-block-column is-vertically-aligned-center"><!-- wp:post-title {"isLink":true,"style":{"spacing":{"margin":{"top":"0px","bottom":"0px"}},"typography":{"fontSize":"clamp(3rem, 6vw, 4rem)"}}} /--></div>
+	<!-- /wp:column --></div>
+	<!-- /wp:columns -->
+	<!-- /wp:post-template -->
+
+	<!-- wp:spacer {"height":32} -->
+	<div style="height:32px" aria-hidden="true" class="wp-block-spacer"></div>
+	<!-- /wp:spacer -->
+
+	<!-- wp:query-pagination -->
+	<!-- wp:query-pagination-previous /-->
+
+	<!-- wp:query-pagination-numbers /-->
+
+	<!-- wp:query-pagination-next /-->
+	<!-- /wp:query-pagination --></main>
+	<!-- /wp:query --></div>
+	<!-- /wp:group --></div>
+	<!-- /wp:group -->
+
+	<!-- wp:template-part {"slug":"footer","tagName":"footer","className":"site-footer-container","layout":{"inherit":true}} /-->

+ 0 - 0
remote/templates/index.html


+ 140 - 0
remote/theme.json

@@ -0,0 +1,140 @@
+{
+	"$schema": "https://schemas.wp.org/trunk/theme.json",
+	"version": 2,
+	"settings": {
+		"appearanceTools": true,
+		"custom": {
+			"spacing": {
+				"small": "clamp(20px, 4vw, 40px)",
+				"medium": "clamp(30px, 8vw, 100px)",
+				"large": "clamp(100px, 12vw, 460px)",
+				"outer": "min(4vw, 90px)"
+			}
+		},
+		"color": {
+			"palette": [
+				{
+					"slug": "background",
+					"color": "#222222",
+					"name": "Background"
+				},
+				{
+					"slug": "primary",
+					"color": "#FFF48D",
+					"name": "Primary"
+				},
+				{
+					"slug": "foreground",
+					"color": "#FFFFFF",
+					"name": "Foreground"
+				}
+			]
+		},
+		"layout": {
+			"contentSize": "652px",
+			"wideSize": "1061px"
+		},
+		"spacing": {
+			"units": [
+				"%",
+				"px",
+				"em",
+				"rem",
+				"vh",
+				"vw"
+			]
+		},
+		"typography": {
+			"fontFamilies": [
+				{
+					"fontFamily": "\"DM Sans\", sans-serif",
+					"slug": "dm-sans",
+					"name": "Body (DM Sans)"
+				}
+			],
+			"fontSizes": [
+				{
+					"name": "Small",
+					"size": "16px",
+					"slug": "small"
+				},
+				{
+					"name": "Normal",
+					"size": "20px",
+					"slug": "normal"
+				},
+				{
+					"name": "Medium",
+					"size": "min(max(32px, 5vw), 42px)",
+					"slug": "medium"
+				},
+				{
+					"name": "Large",
+					"size": "min(max(36px, 5vw), 54px)",
+					"slug": "large"
+				},
+				{
+					"name": "Huge",
+					"size": "min(max(42px, 5vw), 72px)",
+					"slug": "huge"
+				}
+			]
+		}
+	},
+	"styles": {
+		"blocks": {
+			"core/heading": {
+				"typography": {
+					"fontWeight": "400"
+				}
+			},
+			"core/separator": {
+				"border": {
+					"color": "var(--wp--preset--color--primary)"
+				}
+			}
+		},
+		"color": {
+			"background": "var(--wp--preset--color--background)",
+			"text": "var(--wp--preset--color--foreground)"
+		},
+		"elements": {
+			"headings": {
+				"color": {
+					"text": "var(--wp--preset--color--foreground)"
+				}
+			},
+			"h1": {
+				"typography": {
+					"fontSize": "min(max(72px, 5vw), 42px)"
+				}
+			},
+			"link": {
+				"color": {
+					"text": "var(--wp--preset--color--foreground)"
+				}
+			}
+		},
+		"spacing": {
+			"blockGap": "1.25rem"
+		},
+		"typography": {
+			"fontFamily": "var(--wp--preset--font-family--dm-sans)",
+			"fontSize": "var(--wp--preset--font-size--normal)",
+			"fontWeight": "400",
+			"lineHeight": "1.5"
+		}
+	},
+	"templateParts": [
+		{
+			"name": "header",
+			"title": "Header",
+			"area": "header"
+		},
+		{
+			"name": "footer",
+			"title": "Footer",
+			"area": "footer"
+		}
+	]
+}