Browse Source

Tú: Initial commit (#6748)

* Tu: Initial commit

* Tu: Remove ref from navigation

* Tu: Rename front-page.html and change the inherit option for the post list pattern

* Tu: Make sure the footer pattern is full-width
Takashi Irie 2 năm trước cách đây
mục cha
commit
b1013ce165

BIN
tu/assets/fonts/nimbus-sans_italic_400.woff


BIN
tu/assets/fonts/nimbus-sans_italic_700.woff


BIN
tu/assets/fonts/nimbus-sans_normal_400.woff


BIN
tu/assets/fonts/nimbus-sans_normal_700.woff


BIN
tu/assets/images/micah-williams-hTmaobx98Ro-unsplash.jpg


+ 60 - 0
tu/functions.php

@@ -0,0 +1,60 @@
+<?php
+/**
+ * Tú functions and definitions
+ *
+ * @link https://developer.wordpress.org/themes/basics/theme-functions/
+ *
+ * @package Tú
+ * @since Tú 1.0
+ */
+
+
+if ( ! function_exists( 'tu_support' ) ) :
+
+	/**
+	 * Sets up theme defaults and registers support for various WordPress features.
+	 *
+	 * @since Tú 1.0
+	 *
+	 * @return void
+	 */
+	function tu_support() {
+
+		// Enqueue editor styles.
+		add_editor_style( 'style.css' );
+
+		// Make theme available for translation.
+		load_theme_textdomain( 'tu' );
+	}
+
+endif;
+
+add_action( 'after_setup_theme', 'tu_support' );
+
+if ( ! function_exists( 'tu_styles' ) ) :
+
+	/**
+	 * Enqueue styles.
+	 *
+	 * @since Tú 1.0
+	 *
+	 * @return void
+	 */
+	function tu_styles() {
+
+		// Register theme stylesheet.
+		wp_register_style(
+			'tu-style',
+			get_stylesheet_directory_uri() . '/style.css',
+			array(),
+			wp_get_theme()->get( 'Version' )
+		);
+
+		// Enqueue theme stylesheet.
+		wp_enqueue_style( 'tu-style' );
+
+	}
+
+endif;
+
+add_action( 'wp_enqueue_scripts', 'tu_styles' );

+ 1 - 0
tu/parts/comments.html

@@ -0,0 +1 @@
+<!-- wp:pattern {"slug":"tu/hidden-comments"} /-->

+ 1 - 0
tu/parts/footer.html

@@ -0,0 +1 @@
+<!-- wp:pattern {"slug":"tu/footer"} /-->

+ 25 - 0
tu/parts/header.html

@@ -0,0 +1,25 @@
+<!-- wp:group {"style":{"spacing":{"padding":{"bottom":"var:preset|spacing|80"}}},"layout":{"type":"constrained"}} -->
+<div class="wp-block-group" style="padding-bottom:var(--wp--preset--spacing--80)">
+	<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|60","bottom":"var:preset|spacing|60","right":"var:preset|spacing|50","left":"var:preset|spacing|50"}}},"layout":{"type":"flex","justifyContent":"space-between"}} -->
+	<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--60);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--50)">
+		<!-- wp:group {"style":{"spacing":{"padding":{"right":"var:preset|spacing|50","left":"0px"}}},"layout":{"type":"flex"}} -->
+		<div class="wp-block-group" style="padding-right:var(--wp--preset--spacing--50);padding-left:0px">
+			<!-- wp:site-logo {"width":64,"shouldSyncIcon":true} /-->
+
+			<!-- wp:group {"style":{"spacing":{"blockGap":"0px"}}} -->
+			<div class="wp-block-group">
+				<!-- wp:site-title /-->
+			</div>
+			<!-- /wp:group -->
+		</div>
+		<!-- /wp:group -->
+
+		<!-- wp:group {"style":{"spacing":{"padding":{"right":"0px"}}},"layout":{"type":"constrained"}} -->
+		<div class="wp-block-group" style="padding-right:0px">
+			<!-- wp:navigation {"layout":{"type":"flex","setCascadingProperties":true,"justifyContent":"right","orientation":"horizontal"},"style":{"spacing":{"margin":{"top":"0"}}}} /-->
+		</div>
+		<!-- /wp:group -->
+	</div>
+	<!-- /wp:group -->
+</div>
+<!-- /wp:group -->

+ 51 - 0
tu/patterns/about.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Title: About
+ * Slug: tu/about
+ * Categories: featured
+ */
+?>
+
+<!-- wp:group {"align":"full","style":{"spacing":{"margin":{"top":"0px","bottom":"0px"}}},"layout":{"type":"constrained"}} -->
+<div class="wp-block-group alignfull" style="margin-top:0px;margin-bottom:0px">
+	<!-- wp:columns {"align":"full","style":{"spacing":{"blockGap":{"left":"0px"}}}} -->
+	<div class="wp-block-columns alignfull">
+		<!-- wp:column {"width":"66.5%","style":{"spacing":{"padding":{"right":"0px","left":"0px"}}},"layout":{"type":"default"}} -->
+		<div class="wp-block-column" style="padding-right:0px;padding-left:0px;flex-basis:66.5%">
+			<!-- wp:image {"sizeSlug":"full","linkDestination":"none"} -->
+			<figure class="wp-block-image size-full"><img src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/micah-williams-hTmaobx98Ro-unsplash.jpg" alt="<?php _e( 'A picture of a woman', 'tu' ); ?>"/></figure>
+			<!-- /wp:image -->
+		</div>
+		<!-- /wp:column -->
+
+		<!-- wp:column {"verticalAlignment":"bottom","width":"33.5%","style":{"spacing":{"padding":{"right":"var:preset|spacing|50","left":"var:preset|spacing|50"}}},"layout":{"type":"constrained","contentSize":"100%"}} -->
+		<div class="wp-block-column is-vertically-aligned-bottom" style="padding-right:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50);flex-basis:33.5%">
+			<!-- wp:heading {"level":1,"style":{"typography":{"fontSize":"max(48px, 5.5vw)","lineHeight":0.9,"fontStyle":"normal","fontWeight":"700"}}} -->
+			<h1 style="font-size:max(48px, 5.5vw);font-style:normal;font-weight:700;line-height:0.9"><?php echo wp_kses_post( __( 'Wang<br>Cheung', 'tu' ) ); ?></h1>
+			<!-- /wp:heading -->
+		</div>
+		<!-- /wp:column -->
+	</div>
+	<!-- /wp:columns -->
+
+	<!-- wp:columns {"align":"full","style":{"spacing":{"blockGap":{"left":"0px"}}}} -->
+	<div class="wp-block-columns alignfull">
+		<!-- wp:column {"width":"67%","style":{"spacing":{"padding":{"right":"var:preset|spacing|50","left":"var:preset|spacing|50"}}},"layout":{"type":"constrained","justifyContent":"right"}} -->
+		<div class="wp-block-column" style="padding-right:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50);flex-basis:67%">
+			<!-- wp:paragraph -->
+			<p><?php echo esc_html__( 'Born and raised in New York, Wang Cheung was exposed to a myriad of cultures and design expressions. She developed an interest in graphic and audiovisual design from a young age but it was Fashion Design the one that stole her heart and took her to Parsons as soon as she finished school. She has since then worked with many renowned brands and artists and has very recently created her own label, &ldquo;Stillness&rdquo;.', 'tu' ); ?></p>
+			<!-- /wp:paragraph -->
+		</div>
+		<!-- /wp:column -->
+
+		<!-- wp:column {"width":"33%","style":{"spacing":{"padding":{"right":"var:preset|spacing|50","left":"var:preset|spacing|50"}}},"layout":{"type":"constrained","justifyContent":"left"}} -->
+		<div class="wp-block-column" style="padding-right:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50);flex-basis:33%"></div>
+		<!-- /wp:column -->
+	</div>
+	<!-- /wp:columns -->
+
+	<!-- wp:spacer {"height":"2rem"} -->
+	<div style="height:2rem" aria-hidden="true" class="wp-block-spacer"></div>
+	<!-- /wp:spacer -->
+</div>
+<!-- /wp:group -->

+ 39 - 0
tu/patterns/footer.php

@@ -0,0 +1,39 @@
+<?php
+/**
+ * Title: Default footer
+ * Slug: tu/footer
+ * Categories: featured, footer
+ * Block Types: core/template-part/footer
+ */
+?>
+
+<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|80"}}},"layout":{"type":"constrained"}} -->
+<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--80)">
+	<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|60","bottom":"var:preset|spacing|60"}}},"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"space-between"}} -->
+	<div class="wp-block-group alignfull" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)">
+		<!-- wp:group {"style":{"spacing":{"padding":{"left":"var:preset|spacing|50","right":"var:preset|spacing|50"}}},"layout":{"type":"flex","flexWrap":"nowrap"}} -->
+		<div class="wp-block-group" style="padding-right:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
+			<!-- wp:site-title /-->
+
+			<!-- wp:paragraph {"fontSize":"x-small"} -->
+			<p class="has-x-small-font-size"><a href="#"><?php _e( 'Tumblr', 'tu' ); ?></a> / <a href="#"><?php _e( 'Instagram', 'tu' ); ?></a> / <a href="#"><?php _e( 'Email', 'tu' ); ?></a></p>
+			<!-- /wp:paragraph -->
+		</div>
+		<!-- /wp:group -->
+
+		<!-- wp:paragraph {"align":"right","className":"has-x-small-font-size","fontSize":"x-small"} -->
+		<p class="has-text-align-right has-x-small-font-size">
+			<?php
+				/* Translators: WordPress link. */
+				$wordpress_link = '<a href="' . esc_url( __( 'https://wordpress.org', 'tu' ) ) . '" rel="nofollow">WordPress</a>';
+				echo sprintf(
+					esc_html__( 'Designed with %1$s', 'tu' ),
+					$wordpress_link
+				);
+			?>
+		</p>
+		<!-- /wp:paragraph -->
+	</div>
+	<!-- /wp:group -->
+</div>
+<!-- /wp:group -->

+ 14 - 0
tu/patterns/hidden-404.php

@@ -0,0 +1,14 @@
+<?php
+/**
+ * Title: Hidden 404
+ * Slug: tu/hidden-404
+ * Inserter: no
+ */
+?>
+<!-- wp:heading {"level":1,"fontSize":"large"} -->
+<h1 class="has-large-font-size" id="oops-that-page-can-t-be-found"><?php echo esc_html__( 'Oops! That page can&rsquo;t be found.', 'tu' ); ?></h1>
+<!-- /wp:heading -->
+
+<!-- wp:paragraph -->
+<p><?php echo  esc_html__( 'It looks like nothing was found at this location. Maybe try a search?', 'tu' ); ?></p>
+<!-- /wp:paragraph -->

+ 58 - 0
tu/patterns/hidden-comments.php

@@ -0,0 +1,58 @@
+<?php
+/**
+ * Title: Hidden Comments
+ * Slug: tu/hidden-comments
+ * Inserter: no
+ */
+?>
+<!-- wp:comments {"className":"wp-block-comments-query-loop"} -->
+<div class="wp-block-comments wp-block-comments-query-loop">
+	<!-- wp:group {"layout":{"type":"constrained"}} -->
+	<div class="wp-block-group">
+		<!-- wp:comments-title {"level":3} /-->
+
+		<!-- wp:comment-template -->
+			<!-- wp:group {"style":{"spacing":{"margin":{"top":"0","bottom":"1.5rem"}}}} -->
+			<div class="wp-block-group" style="margin-top:0;margin-bottom:1.5rem">
+				<!-- wp:group {"layout":{"type":"flex","flexWrap":"nowrap"},"style":{"spacing":{"blockGap":"0.5em"}}} -->
+				<div class="wp-block-group">
+					<!-- wp:avatar {"size":40} /-->
+
+					<!-- wp:group -->
+					<div class="wp-block-group">
+						<!-- wp:comment-author-name /-->
+
+						<!-- wp:group {"layout":{"type":"flex"},"style":{"spacing":{"margin":{"top":"0px","bottom":"0px"},"blockGap":"0.5em"}}} -->
+						<div class="wp-block-group" style="margin-top:0px;margin-bottom:0px">
+							<!-- wp:comment-date {"format":"F j, Y \\a\\t g:i a"} /-->
+
+							<!-- wp:comment-edit-link /-->
+						</div>
+						<!-- /wp:group -->
+					</div>
+					<!-- /wp:group -->
+				</div>
+				<!-- /wp:group -->
+
+				<!-- wp:comment-content /-->
+
+				<!-- wp:comment-reply-link /-->
+			</div>
+			<!-- /wp:group -->
+		<!-- /wp:comment-template -->
+
+		<!-- wp:separator -->
+		<hr class="wp-block-separator has-alpha-channel-opacity"/>
+		<!-- /wp:separator -->
+
+		<!-- wp:comments-pagination {"paginationArrow":"chevron","layout":{"type":"flex","justifyContent":"space-between"}} -->
+			<!-- wp:comments-pagination-previous /-->
+			<!-- wp:comments-pagination-numbers /-->
+			<!-- wp:comments-pagination-next /-->
+		<!-- /wp:comments-pagination -->
+
+		<!-- wp:post-comments-form /-->
+	</div>
+	<!-- /wp:group -->
+</div>
+<!-- /wp:comments -->

+ 65 - 0
tu/patterns/post-list.php

@@ -0,0 +1,65 @@
+<?php
+/**
+ * Title: Post List
+ * Slug: tu/post-list
+ * Categories: featured
+ */
+?>
+
+<!-- wp:query {"query":{"perPage":10,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":false,"taxQuery":null,"parents":[]},"layout":{"type":"constrained"}} -->
+<div class="wp-block-query">
+	<!-- wp:post-template -->
+		<!-- wp:group -->
+		<div class="wp-block-group">
+			<!-- wp:post-featured-image {"isLink":true} /-->
+
+			<!-- wp:post-title {"isLink":true} /-->
+
+			<!-- wp:group {"layout":{"type":"constrained"}} -->
+			<div class="wp-block-group">
+				<!-- wp:group {"layout":{"type":"flex"}} -->
+				<div class="wp-block-group">
+					<!-- wp:post-author {"showAvatar":false} /-->
+
+					<!-- wp:post-date /-->
+				</div>
+				<!-- /wp:group -->
+			</div>
+			<!-- /wp:group -->
+
+			<!-- wp:post-excerpt /-->
+
+			<!-- wp:group {"layout":{"type":"constrained"}} -->
+			<div class="wp-block-group">
+				<!-- wp:group {"layout":{"type":"flex"}} -->
+				<div class="wp-block-group">
+					<!-- wp:post-terms {"term":"category"} /-->
+
+					<!-- wp:post-terms {"term":"post_tag"} /-->
+				</div>
+				<!-- /wp:group -->
+			</div>
+			<!-- /wp:group -->
+
+			<!-- wp:spacer {"height":"3rem"} -->
+			<div style="height:3rem" aria-hidden="true" class="wp-block-spacer"></div>
+			<!-- /wp:spacer -->
+		</div>
+		<!-- /wp:group -->
+	<!-- /wp:post-template -->
+
+	<!-- wp:group {"style":{"spacing":{"margin":{"top":"0px"}}},"layout":{"type":"constrained"}} -->
+<div class="wp-block-group" style="margin-top:0px">
+		<!-- wp:separator -->
+		<hr class="wp-block-separator has-alpha-channel-opacity"/>
+		<!-- /wp:separator -->
+
+		<!-- wp:query-pagination {"layout":{"type":"flex","justifyContent":"space-between"}} -->
+			<!-- wp:query-pagination-previous /-->
+			<!-- wp:query-pagination-numbers /-->
+			<!-- wp:query-pagination-next /-->
+		<!-- /wp:query-pagination -->
+	</div>
+	<!-- /wp:group -->
+</div>
+<!-- /wp:query -->

+ 41 - 0
tu/readme.txt

@@ -0,0 +1,41 @@
+=== Tú ===
+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 ==
+
+Tú is a theme about you.
+
+== Changelog ==
+
+= 0.0.1 =
+* Initial release
+
+== Copyright ==
+
+Tú WordPress Theme, (C) 2022 Automattic
+Tú 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.
+
+This theme bundles the following third-party resources:
+
+Grayscale photo of woman photo by Micah Williams
+https://unsplash.com/photos/hTmaobx98Ro
+
+Included in theme screenshot and in block patterns.
+
+Nimbus Sans L from URW++ released under the GPL.
+https://www.fontsquirrel.com/fonts/nimbus-sans-l

BIN
tu/screenshot.png


+ 132 - 0
tu/style.css

@@ -0,0 +1,132 @@
+/*
+Theme Name: Tú
+Theme URI: https://wordpress.com/theme/tu/
+Author: Automattic
+Author URI: https://automattic.com/
+Description: Tú is a theme about you.
+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: http://www.gnu.org/licenses/gpl-2.0.html
+Template: 
+Text Domain: tu
+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
+ * https://github.com/WordPress/gutenberg/issues/35934
+ */
+body {
+	-moz-osx-font-smoothing: grayscale;
+	-webkit-font-smoothing: antialiased;
+}
+
+/*
+ * Control the hover stylings of outline block style.
+ * Unnecessary once block styles are configurable via theme.json
+ * https://github.com/WordPress/gutenberg/issues/42794
+ */
+.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background):hover {
+	background-color: var(--wp--preset--color--secondary);
+	color: var(--wp--preset--color--background);
+	border-color: var(--wp--preset--color--secondary);
+}
+
+/**
+ * Currently table styles are only available with 'wp-block-styles' 
+ * theme support (block css) thus the following needs to be included
+ * since 'wp-block-styles' aren't used for this theme.
+ * https://github.com/WordPress/gutenberg/issues/45065
+ */
+.wp-block-table thead {
+	border-bottom: 3px solid;
+}
+.wp-block-table tfoot {
+	border-top: 3px solid;
+}
+.wp-block-table td,
+.wp-block-table th {
+	padding: var(--wp--preset--spacing--30);
+	border: 1px solid;
+	word-break: normal;
+}
+.wp-block-table figcaption {
+	font-size: var(--wp--preset--font-size--small);
+	text-align: center;
+}
+
+/*
+ * Link styles
+ * https://github.com/WordPress/gutenberg/issues/42319
+ */
+a {
+	text-decoration-thickness: .0625em !important;
+	text-underline-offset: .3em;
+}
+
+/* Overrides the Gutenberg styles for the outline button */
+.wp-block-button.is-style-outline>.wp-block-button__link {
+	padding: calc(1.050420168em - 1px) calc(2.100840336em - 1px);
+	border: 1px solid var(--wp--preset--color--foreground);
+}
+
+/* Reset the Gutenberg style for the author byline */
+.wp-block-post-author__byline {
+	font-size: 1em;
+}
+
+/* There is no option for border-radius yet */
+.wp-block-post-author__avatar img {
+	border-radius: 999px;
+}
+
+/*
+ * Needed until https://github.com/WordPress/gutenberg/issues/34196 or something like it.
+ */
+.wp-block-tag-cloud.is-style-outline a {
+	border-radius: 999px;
+	padding: 0 1rem;
+}
+
+.wp-block-tag-cloud.is-style-outline a:hover {
+	color: var(--wp--preset--color--background);
+	background-color: var(--wp--preset--color--primary);
+}
+
+/*
+ * Remove the default margin bottom from term description and post excerpt.
+ */
+.wp-block-term-description p:first-child {
+	margin-top: 0;
+}
+
+.wp-block-term-description p:last-child {
+	margin-bottom: 0;
+}
+
+/*
+ * Needed to style Jetpack Form
+ */
+.wp-block-jetpack-contact-form input:not([type=submit]):not([type=checkbox]),
+.wp-block-jetpack-mailchimp input:not([type=submit]):not([type=checkbox]),
+.wp-block-jetpack-revue input:not([type=submit]):not([type=checkbox]),
+.wp-block-jetpack-contact-form select,
+.wp-block-jetpack-contact-form textarea {
+	background-color: var(--wp--preset--color--background);
+	border: 1px solid var(--wp--preset--color--tertiary);
+	font-family: inherit;
+	font-size: 1em;
+	padding: 0.75rem;
+}
+
+.wp-block-jetpack-contact-form .wp-block-jetpack-button button,
+.wp-block-jetpack-mailchimp .wp-block-jetpack-button button,
+.wp-block-jetpack-revue .wp-block-jetpack-button button {
+	border-width:  0;
+	font-size: var(--wp--preset--font-size--x-small);
+	font-weight: 700;
+	letter-spacing: 0.02em;
+	line-height: inherit;
+	padding: 1.050420168em 2.100840336em;
+}

+ 11 - 0
tu/templates/404.html

@@ -0,0 +1,11 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group">
+	<!-- wp:pattern {"slug":"tu/hidden-404"} /-->
+
+	<!-- wp:search {"label":"","showLabel":false,"placeholder":"Search here...","buttonText":"Search"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

+ 17 - 0
tu/templates/archive.html

@@ -0,0 +1,17 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group">
+	<!-- wp:query-title {"type":"archive","showPrefix":false} /-->
+
+	<!-- wp:term-description {"style":{"spacing":{"margin":{"top":"0.5rem"}}},"fontSize":"small"} /-->
+
+	<!-- wp:spacer {"height":"3rem"} -->
+	<div style="height:3rem" aria-hidden="true" class="wp-block-spacer"></div>
+	<!-- /wp:spacer -->
+
+	<!-- wp:pattern {"slug":"tu/post-list"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

+ 7 - 0
tu/templates/home.html

@@ -0,0 +1,7 @@
+<!-- wp:group {"style":{"spacing":{"blockGap":"1.5rem"}},"layout":{"type":"default"},"tagName":"main"} -->
+<main class="wp-block-group">
+	<!-- wp:pattern {"slug":"tu/about"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","theme":"tu","tagName":"footer"} /-->

+ 9 - 0
tu/templates/index.html

@@ -0,0 +1,9 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group">
+	<!-- wp:pattern {"slug":"tu/post-list"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

+ 31 - 0
tu/templates/page.html

@@ -0,0 +1,31 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main"} -->
+<main class="wp-block-group">
+	<!-- wp:group {"layout":{"type":"constrained"}} -->
+	<div class="wp-block-group">
+		<!-- wp:post-featured-image /-->
+
+		<!-- wp:post-title /-->
+	</div>
+	<!-- /wp:group -->
+
+	<!-- wp:group -->
+	<div class="wp-block-group">
+		<!-- wp:post-content {"layout":{"type":"constrained"}} /-->
+	</div>
+	<!-- /wp:group -->
+
+	<!-- wp:group {"layout":{"type":"constrained"}} -->
+	<div class="wp-block-group">
+		<!-- wp:spacer {"height":"4rem"} -->
+		<div style="height:4rem" aria-hidden="true" class="wp-block-spacer"></div>
+		<!-- /wp:spacer -->
+
+		<!-- wp:template-part {"slug":"comments"} /-->
+	</div>
+	<!-- /wp:group -->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

+ 15 - 0
tu/templates/search.html

@@ -0,0 +1,15 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group">
+	<!-- wp:search {"showLabel":false,"placeholder":"Search here...","buttonText":"Search"} /-->
+
+	<!-- wp:spacer {"height":"3rem"} -->
+	<div style="height:3rem" aria-hidden="true" class="wp-block-spacer"></div>
+	<!-- /wp:spacer -->
+
+	<!-- wp:pattern {"slug":"tu/post-list"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

+ 99 - 0
tu/templates/single.html

@@ -0,0 +1,99 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main"} -->
+<main class="wp-block-group">
+	<!-- wp:group {"layout":{"type":"constrained"}} -->
+	<div class="wp-block-group">
+		<!-- wp:post-featured-image /-->
+
+		<!-- wp:post-title /-->
+	</div>
+	<!-- /wp:group -->
+
+	<!-- wp:group -->
+	<div class="wp-block-group">
+		<!-- wp:group {"layout":{"type":"constrained"}} -->
+		<div class="wp-block-group">
+			<!-- wp:group {"layout":{"type":"flex"}} -->
+			<div class="wp-block-group">
+				<!-- wp:post-author {"showAvatar":false} /-->
+
+				<!-- wp:post-date /-->
+			</div>
+			<!-- /wp:group -->
+		</div>
+		<!-- /wp:group -->
+
+		<!-- wp:post-content {"layout":{"type":"constrained"}} /-->
+
+		<!-- wp:group {"layout":{"type":"constrained"}} -->
+		<div class="wp-block-group">
+			<!-- wp:group {"layout":{"type":"flex"}} -->
+			<div class="wp-block-group">
+				<!-- wp:post-terms {"term":"category"} /-->
+
+				<!-- wp:post-terms {"term":"post_tag"} /-->
+			</div>
+			<!-- /wp:group -->
+		</div>
+		<!-- /wp:group -->
+
+		<!-- wp:group {"layout":{"type":"constrained"}} -->
+		<div class="wp-block-group">
+			<!-- wp:separator {"className":"is-style-wide"} -->
+			<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>
+			<!-- /wp:separator -->
+
+			<!-- wp:group {"style":{"spacing":{"blockGap":"1rem"}},"layout":{"type":"constrained"}} -->
+			<div class="wp-block-group">
+				<!-- wp:post-author {"showBio":false,"byline":"Posted by:"} /-->
+
+				<!-- wp:post-author-biography /-->
+
+				<!-- wp:columns {"style":{"spacing":{"margin":{"top":"1.5rem"}}}} -->
+				<div class="wp-block-columns">
+					<!-- wp:column -->
+					<div class="wp-block-column">
+						<!-- wp:separator {"className":"is-style-wide"} -->
+						<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>
+						<!-- /wp:separator -->
+					</div>
+					<!-- /wp:column -->
+
+					<!-- wp:column -->
+					<div class="wp-block-column">
+						<!-- wp:separator {"className":"is-style-wide"} -->
+						<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>
+						<!-- /wp:separator -->
+					</div>
+					<!-- /wp:column -->
+				</div>
+				<!-- /wp:columns -->
+
+				<!-- wp:group {"layout":{"type":"flex","flexWrap":"nowrap","justifyContent":"space-between"}} -->
+				<div class="wp-block-group">
+					<!-- wp:post-navigation-link {"type":"previous","label":"Previous Post","arrow":"chevron"} /-->
+
+					<!-- wp:post-navigation-link {"textAlign":"right","label":"Next Post","arrow":"chevron"} /-->
+				</div>
+				<!-- /wp:group -->
+			</div>
+			<!-- /wp:group -->
+		</div>
+		<!-- /wp:group -->
+	</div>
+	<!-- /wp:group -->
+
+	<!-- wp:group {"layout":{"type":"constrained"}} -->
+	<div class="wp-block-group">
+		<!-- wp:spacer {"height":"4rem"} -->
+		<div style="height:4rem" aria-hidden="true" class="wp-block-spacer"></div>
+		<!-- /wp:spacer -->
+
+		<!-- wp:template-part {"slug":"comments"} /-->
+	</div>
+	<!-- /wp:group -->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

+ 671 - 0
tu/theme.json

@@ -0,0 +1,671 @@
+{
+	"settings": {
+		"appearanceTools": true,
+		"border": {
+			"color": true,
+			"radius": true,
+			"style": true,
+			"width": true
+		},
+		"color": {
+			"custom": true,
+			"customGradient": true,
+			"link": true,
+			"palette": [
+				{
+					"color": "#212121",
+					"name": "Primary",
+					"slug": "primary"
+				},
+				{
+					"color": "#5d588e",
+					"name": "Secondary",
+					"slug": "secondary"
+				},
+				{
+					"color": "#212121",
+					"name": "Foreground",
+					"slug": "foreground"
+				},
+				{
+					"color": "#ffffff",
+					"name": "Background",
+					"slug": "background"
+				},
+				{
+					"color": "#757575",
+					"name": "Tertiary",
+					"slug": "tertiary"
+				}
+			]
+		},
+		"layout": {
+			"contentSize": "520px",
+			"wideSize": "1000px"
+		},
+		"spacing": {
+			"blockGap": true,
+			"margin": true,
+			"spacingScale": {
+				"steps": 0
+			},
+			"spacingSizes": [
+				{
+					"size": "0.75rem",
+					"slug": "30",
+					"name": "1"
+				},
+				{
+					"size": "1rem",
+					"slug": "40",
+					"name": "2"
+				},
+				{
+					"size": "1.5rem",
+					"slug": "50",
+					"name": "3"
+				},
+				{
+					"size": "2rem",
+					"slug": "60",
+					"name": "4"
+				},
+				{
+					"size": "3rem",
+					"slug": "70",
+					"name": "5"
+				},
+				{
+					"size": "4rem",
+					"slug": "80",
+					"name": "6"
+				}
+			],
+			"units": [
+				"%",
+				"px",
+				"em",
+				"rem",
+				"vh",
+				"vw"
+			]
+		},
+		"typography": {
+			"customFontSize": true,
+			"fluid": true,
+			"fontFamilies": [
+				{
+					"fontFace": [
+						{
+							"fontFamily": "Nimbus Sans",
+							"fontStyle": "normal",
+							"fontWeight": "400",
+							"src": [
+								"file:./assets/fonts/nimbus-sans_normal_400.woff"
+							]
+						},
+						{
+							"fontFamily": "Nimbus Sans",
+							"fontStyle": "normal",
+							"fontWeight": "700",
+							"src": [
+								"file:./assets/fonts/nimbus-sans_normal_700.woff"
+							]
+						},
+						{
+							"fontFamily": "Nimbus Sans",
+							"fontStyle": "italic",
+							"fontWeight": "400",
+							"src": [
+								"file:./assets/fonts/nimbus-sans_italic_400.woff"
+							]
+						},
+						{
+							"fontFamily": "Nimbus Sans",
+							"fontStyle": "italic",
+							"fontWeight": "700",
+							"src": [
+								"file:./assets/fonts/nimbus-sans_italic_700.woff"
+							]
+						}
+					],
+					"fontFamily": "Nimbus Sans",
+					"slug": "nimbus-sans"
+				}
+			],
+			"fontSizes": [
+				{
+					"fluid": {
+						"max": "0.833rem",
+						"min": "0.833rem"
+					},
+					"name": "Extra Small",
+					"size": "0.833rem",
+					"slug": "x-small"
+				},
+				{
+					"fluid": {
+						"max": "1rem",
+						"min": "0.833rem"
+					},
+					"name": "Small",
+					"size": "1rem",
+					"slug": "small"
+				},
+				{
+					"fluid": {
+						"max": "1.2rem",
+						"min": "1rem"
+					},
+					"name": "Medium",
+					"size": "1.2rem",
+					"slug": "medium"
+				},
+				{
+					"fluid": {
+						"max": "1.44rem",
+						"min": "1.2rem"
+					},
+					"name": "Large",
+					"size": "1.44rem",
+					"slug": "large"
+				},
+				{
+					"fluid": {
+						"max": "1.728rem",
+						"min": "1.44rem"
+					},
+					"name": "Extra Large",
+					"size": "1.728rem",
+					"slug": "x-large"
+				},
+				{
+					"fluid": {
+						"max": "2.074rem",
+						"min": "1.728rem"
+					},
+					"name": "2X Large",
+					"size": "1.901rem",
+					"slug": "xx-large"
+				}
+			],
+			"lineHeight": true
+		},
+		"useRootPaddingAwareAlignments": true
+	},
+	"styles": {
+		"blocks": {
+			"core/avatar": {
+				"typography": {
+					"lineHeight": "0"
+				}
+			},
+			"core/code": {
+				"border": {
+					"color": "var(--wp--preset--color--tertiary)",
+					"radius": "3px",
+					"style": "solid",
+					"width": "1px"
+				},
+				"spacing": {
+					"padding": "var(--wp--style--block-gap)"
+				},
+				"typography": {
+					"fontFamily": "monospace"
+				}
+			},
+			"core/columns": {
+				"spacing": {
+					"blockGap": "var(--wp--style--block-gap)"
+				}
+			},
+			"core/comment-author-name": {
+				"elements": {
+					"link": {
+						"color": {
+							"text": "var(--wp--preset--color--tertiary)"
+						},
+						"typography": {
+							"textDecoration": "none"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/comment-date": {
+				"elements": {
+					"link": {
+						"color": {
+							"text": "var(--wp--preset--color--tertiary)"
+						},
+						"typography": {
+							"textDecoration": "none"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/comment-edit-link": {
+				"elements": {
+					"link": {
+						"color": {
+							"text": "var(--wp--preset--color--tertiary)"
+						},
+						"typography": {
+							"textDecoration": "none"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/comments-pagination": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--small)"
+				},
+				"elements": {
+					"link": {
+						"typography": {
+							"textDecoration": "none"
+						},
+						":hover": {
+							"typography": {
+								"textDecoration": "underline solid"
+							}
+						}
+					}
+				}
+			},
+			"core/comment-reply-link": {
+				"elements": {
+					"link": {
+						"border": {
+							"color": "var(--wp--preset--color--foreground)",
+							"radius": "2px",
+							"style": "solid",
+							"width": "1px"
+						},
+						"spacing": {
+							"padding": "0.109375rem 0.5rem"
+						},
+						"typography": {
+							"fontSize": "var(--wp--preset--font-size--x-small)",
+							"textDecoration": "none"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/list": {
+				"spacing": {
+					"padding": {
+						"left": "var(--wp--style--block-gap)"
+					}
+				}
+			},
+			"core/navigation": {
+				"elements": {
+					"link": {
+						":hover": {
+							"typography": {
+								"textDecoration": "underline"
+							},
+							":focus": {
+								"typography": {
+									"textDecoration": "underline dashed"
+								}
+							},
+							":active": {
+								"typography": {
+									"textDecoration": "none"
+								}
+							},
+							"typography": {
+								"textDecoration": "none"
+							}
+						},
+						"typography": {
+							"textDecoration": "none"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--small)"
+				}
+			},
+			"core/post-author": {
+				"color": {
+					"text": "var(--wp--preset--color--tertiary)"
+				},
+				"elements": {
+					"link": {
+						"color": {
+							"text": "var(--wp--preset--color--tertiary)"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/post-author-byline": {
+				"color": {
+					"text": "var(--wp--preset--color--tertiary)"
+				},
+				"elements": {
+					"link": {
+						"color": {
+							"text": "var(--wp--preset--color--tertiary)"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/post-date": {
+				"color": {
+					"text": "var(--wp--preset--color--tertiary)"
+				},
+				"elements": {
+					"link": {
+						"color": {
+							"text": "var(--wp--preset--color--tertiary)"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/post-navigation-link": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--small)"
+				},
+				"elements": {
+					"link": {
+						"typography": {
+							"textDecoration": "none"
+						},
+						":hover": {
+							"typography": {
+								"textDecoration": "underline solid"
+							}
+						}
+					}
+				}
+			},
+			"core/post-terms": {
+				"color": {
+					"text": "var(--wp--preset--color--tertiary)"
+				},
+				"elements": {
+					"link": {
+						"color": {
+							"text": "var(--wp--preset--color--tertiary)"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/post-title": {
+				"elements": {
+					"link": {
+						":hover": {
+							"typography": {
+								"textDecoration": "underline"
+							}
+						},
+						"typography": {
+							"textDecoration": "none"
+						}
+					}
+				},
+				"spacing": {
+					"margin": {
+						"bottom": "0"
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-large)"
+				}
+			},
+			"core/pullquote": {
+				"border": {
+					"color": "var(--wp--preset--color--tertiary)",
+					"style": "solid",
+					"width": "1px 0"
+				},
+				"spacing": {
+					"padding": "var(--wp--style--block-gap)"
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--medium)",
+					"fontStyle": "italic"
+				}
+			},
+			"core/query-pagination": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--small)"
+				},
+				"elements": {
+					"link": {
+						"typography": {
+							"textDecoration": "none"
+						},
+						":hover": {
+							"typography": {
+								"textDecoration": "underline solid"
+							}
+						}
+					}
+				}
+			},
+			"core/query-title": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--large)"
+				}
+			},
+			"core/quote": {
+				"border": {
+					"color": "var(--wp--preset--color--primary)",
+					"style": "solid",
+					"width": "0 0 0 1px"
+				},
+				"spacing": {
+					"padding": {
+						"left": "var(--wp--style--block-gap)"
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--small)"
+				}
+			},
+			"core/read-more": {
+				"border": {
+					"color": "var(--wp--preset--color--tertiary)",
+					"radius": "2px",
+					"style": "solid",
+					"width": "1px"
+				},
+				"spacing": {
+					"padding": "0 0.5rem"
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)",
+					"textDecoration": "none"
+				}
+			},
+			"core/search": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/separator": {
+				"border": {
+					"color": "currentColor",
+					"style": "solid",
+					"width": "0 0 1px 0"
+				},
+				"color": {
+					"text": "#d9d9d9"
+				}
+			},
+			"core/site-tagline": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)"
+				}
+			},
+			"core/site-title": {
+				"elements": {
+					"link": {
+						":hover": {
+							"typography": {
+								"textDecoration": "underline"
+							}
+						},
+						"typography": {
+							"textDecoration": "none"
+						}
+					}
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--medium)",
+					"fontWeight": "700"
+				}
+			}
+		},
+		"color": {
+			"background": "var(--wp--preset--color--background)",
+			"text": "var(--wp--preset--color--foreground)"
+		},
+		"elements": {
+			"button": {
+				":active": {
+					"color": {
+						"background": "var(--wp--preset--color--primary)",
+						"text": "var(--wp--preset--color--background)"
+					}
+				},
+				":focus": {
+					"color": {
+						"background": "var(--wp--preset--color--secondary)",
+						"text": "var(--wp--preset--color--background)"
+					}
+				},
+				":hover": {
+					"color": {
+						"background": "var(--wp--preset--color--secondary)",
+						"text": "var(--wp--preset--color--background)"
+					}
+				},
+				"border": {
+					"radius": "2px"
+				},
+				"color": {
+					"background": "var(--wp--preset--color--primary)",
+					"text": "var(--wp--preset--color--background)"
+				},
+				"spacing": {
+					"padding": "1.050420168em 2.100840336em"
+				},
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-small)",
+					"fontWeight": "700",
+					"letterSpacing": "0.04em",
+					"textTransform": "uppercase"
+				}
+			},
+			"h1": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--xx-large)"
+				}
+			},
+			"h2": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--x-large)"
+				}
+			},
+			"h3": {
+				"typography": {
+					"fontSize": "var(--wp--preset--font-size--large)"
+				}
+			},
+			"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--x-small)"
+				}
+			},
+			"heading": {
+				"typography": {
+					"fontFamily": "Nimbus Sans",
+					"fontStyle": "normal",
+					"fontWeight": "700",
+					"lineHeight": "1.125"
+				}
+			},
+			"link": {
+				":hover": {
+					"typography": {
+						"textDecoration": "none"
+					}
+				},
+				"color": {
+					"text": "var(--wp--preset--color--primary)"
+				},
+				"typography": {
+					"fontFamily": "Nimbus Sans"
+				}
+			}
+		},
+		"spacing": {
+			"blockGap": "1.5rem",
+			"padding": {
+				"top": "0",
+				"right": "var(--wp--style--block-gap)",
+				"bottom": "0",
+				"left": "var(--wp--style--block-gap)"
+			}
+		},
+		"typography": {
+			"fontFamily": "var:preset|font-family|nimbus-sans",
+			"fontSize": "var:preset|font-size|small",
+			"lineHeight": "1.5"
+		}
+	},
+	"templateParts": [
+		{
+			"area": "header",
+			"name": "header"
+		},
+		{
+			"area": "footer",
+			"name": "footer"
+		},
+		{
+			"area": "uncategorized",
+			"name": "comments"
+		}
+	],
+	"version": 2,
+	"$schema": "https://schemas.wp.org/trunk/theme.json"
+}