Initial AI theme draft

This commit is contained in:
2026-07-26 16:56:32 +02:00
parent 56579bf158
commit 5542e72f98
16 changed files with 245 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
<?php get_header(); ?>
<main id="main" class="site-main not-found"><p class="hero-eyebrow"><?php esc_html_e( 'Error 404', 'c1024-2026' ); ?></p><h1 class="page-title"><?php esc_html_e( 'Signal lost.', 'c1024-2026' ); ?></h1><p><?php esc_html_e( 'The page you requested could not be found. Search the archive or return to the home page.', 'c1024-2026' ); ?></p><?php get_search_form(); ?><p><a class="button" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php esc_html_e( 'Return home', 'c1024-2026' ); ?></a></p></main>
<?php get_footer();
+4
View File
@@ -0,0 +1,4 @@
<?php get_header(); ?>
<header class="page-header"><h1 class="page-title"><?php the_archive_title(); ?></h1><?php the_archive_description( '<div class="archive-description">', '</div>' ); ?></header>
<main id="main" class="site-main"><?php if ( have_posts() ) { while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content' ); } the_posts_pagination( array( 'mid_size' => 1 ) ); } ?></main>
<?php get_footer();
+56
View File
@@ -0,0 +1,56 @@
(() => {
const root = document.documentElement;
const storedTheme = localStorage.getItem('c1024-theme');
if (storedTheme) root.dataset.theme = storedTheme;
const themeToggle = document.querySelector('[data-theme-toggle]');
if (themeToggle) {
const updateThemeLabel = () => {
const dark = root.dataset.theme === 'dark';
themeToggle.setAttribute('aria-pressed', String(dark));
themeToggle.setAttribute('aria-label', dark ? 'Use light mode' : 'Use dark mode');
};
updateThemeLabel();
themeToggle.addEventListener('click', () => {
root.dataset.theme = root.dataset.theme === 'dark' ? 'light' : 'dark';
localStorage.setItem('c1024-theme', root.dataset.theme);
updateThemeLabel();
});
}
const header = document.querySelector('.site-header');
let lastY = window.scrollY;
let ticking = false;
window.addEventListener('scroll', () => {
if (ticking || !header) return;
ticking = true;
requestAnimationFrame(() => {
const currentY = window.scrollY;
header.classList.toggle('is-hidden', currentY > lastY && currentY > header.offsetHeight);
lastY = currentY;
ticking = false;
});
}, { passive: true });
const searchToggle = document.querySelector('[data-search-toggle]');
const searchPanel = document.querySelector('[data-search-panel]');
if (searchToggle && searchPanel) {
searchToggle.addEventListener('click', () => {
const open = searchPanel.classList.toggle('is-open');
searchToggle.setAttribute('aria-expanded', String(open));
if (open) searchPanel.querySelector('input')?.focus();
});
document.addEventListener('click', event => {
if (!searchPanel.contains(event.target) && !searchToggle.contains(event.target)) {
searchPanel.classList.remove('is-open');
searchToggle.setAttribute('aria-expanded', 'false');
}
});
}
const menuToggle = document.querySelector('[data-menu-toggle]');
if (menuToggle && header) menuToggle.addEventListener('click', () => {
const open = header.classList.toggle('menu-open');
menuToggle.setAttribute('aria-expanded', String(open));
});
})();
+12
View File
@@ -0,0 +1,12 @@
<?php
if ( post_password_required() ) { return; }
?>
<section id="comments" class="comments-area">
<?php if ( have_comments() ) { ?>
<h2 class="comments-title"><?php printf( esc_html( _nx( 'One comment', '%1$s comments', get_comments_number(), 'comments title', 'c1024-2026' ) ), esc_html( number_format_i18n( get_comments_number() ) ) ); ?></h2>
<ol class="comment-list"><?php wp_list_comments( array( 'style' => 'ol', 'short_ping' => true, 'avatar_size' => 48 ) ); ?></ol>
<?php the_comments_navigation(); ?>
<?php } ?>
<?php if ( ! comments_open() && get_comments_number() ) { ?><p><?php esc_html_e( 'Comments are closed.', 'c1024-2026' ); ?></p><?php } ?>
<?php comment_form(); ?>
</section>
+1
View File
@@ -0,0 +1 @@
@font-face{font-family:'Alpha Lyrae';src:url('fonts/AlphaLyrae-Medium.woff2') format('woff2')}@font-face{font-family:'Crimson Pro';src:url('fonts/crimson-pro-latin-ext-wght-normal.woff2') format('woff2')}@font-face{font-family:'Berkeley Mono';src:url('fonts/BerkeleyMono-Regular.woff2') format('woff2')}body{font-family:'Crimson Pro',Georgia,serif;font-size:22px;line-height:1.55;color:#1d1b19}h1,h2,h3,h4{font-family:'Alpha Lyrae',sans-serif;font-weight:500;letter-spacing:.025em}code,pre{font-family:'Berkeley Mono',monospace}a{color:#c3480b}
+9
View File
@@ -0,0 +1,9 @@
<footer class="site-footer">
<div class="footer-inner">
<span>© <?php echo esc_html( wp_date( 'Y' ) ); ?> <?php bloginfo( 'name' ); ?></span>
<?php wp_nav_menu( array( 'theme_location' => 'footer', 'menu_class' => 'footer-menu', 'container' => false, 'fallback_cb' => false ) ); ?>
</div>
</footer>
<?php wp_footer(); ?>
</body>
</html>
+16
View File
@@ -0,0 +1,16 @@
<?php get_header();
$video_id = absint( get_theme_mod( 'c1024_2026_hero_video' ) );
$video_url = $video_id ? wp_get_attachment_url( $video_id ) : '';
$hero_title = get_theme_mod( 'c1024_2026_hero_title', get_bloginfo( 'name' ) );
$hero_text = get_theme_mod( 'c1024_2026_hero_text' );
?>
<?php if ( $video_url || $hero_title || $hero_text ) { ?>
<section class="hero" aria-label="<?php esc_attr_e( 'Introduction', 'c1024-2026' ); ?>">
<?php if ( $video_url ) { ?><video class="hero-video" autoplay muted loop playsinline><source src="<?php echo esc_url( $video_url ); ?>" type="<?php echo esc_attr( get_post_mime_type( $video_id ) ); ?>"></video><?php } ?>
<div class="hero-content"><div class="hero-eyebrow"><?php bloginfo( 'name' ); ?></div><?php if ( $hero_title ) { ?><h1 class="hero-title"><?php echo esc_html( $hero_title ); ?></h1><?php } ?><?php if ( $hero_text ) { ?><p class="hero-text"><?php echo esc_html( $hero_text ); ?></p><?php } ?></div>
</section>
<?php } ?>
<main id="main" class="site-main">
<?php if ( is_home() ) { if ( have_posts() ) { while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content' ); } the_posts_pagination( array( 'mid_size' => 1 ) ); } } else { while ( have_posts() ) { the_post(); ?><article id="post-<?php the_ID(); ?>" <?php post_class(); ?>><div class="entry-content"><?php the_content(); ?></div></article><?php if ( comments_open() || get_comments_number() ) { comments_template(); } } } ?>
</main>
<?php get_footer();
+47
View File
@@ -0,0 +1,47 @@
<?php
/** Theme functions for Commander 1024 2026. */
function c1024_2026_setup() {
load_theme_textdomain( 'c1024-2026', get_template_directory() . '/languages' );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'responsive-embeds' );
add_theme_support( 'custom-logo', array( 'flex-width' => true, 'flex-height' => true ) );
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', 'style', 'script' ) );
add_theme_support( 'align-wide' );
add_editor_style( 'editor-style.css' );
register_nav_menus( array(
'primary' => __( 'Primary menu', 'c1024-2026' ),
'footer' => __( 'Footer menu', 'c1024-2026' ),
) );
}
add_action( 'after_setup_theme', 'c1024_2026_setup' );
function c1024_2026_assets() {
wp_enqueue_style( 'c1024-2026-style', get_stylesheet_uri(), array(), '1.0.0' );
wp_enqueue_script( 'c1024-2026-theme', get_template_directory_uri() . '/assets/js/theme.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'c1024_2026_assets' );
function c1024_2026_customize_register( $wp_customize ) {
$wp_customize->add_section( 'c1024_2026_home_hero', array(
'title' => __( 'Home page video hero', 'c1024-2026' ),
'description' => __( 'Displayed on the site front page.', 'c1024-2026' ),
'priority' => 30,
) );
$wp_customize->add_setting( 'c1024_2026_hero_video', array( 'sanitize_callback' => 'absint' ) );
$wp_customize->add_control( new WP_Customize_Media_Control( $wp_customize, 'c1024_2026_hero_video', array(
'label' => __( 'Hero video', 'c1024-2026' ), 'section' => 'c1024_2026_home_hero', 'mime_type' => 'video',
) ) );
$wp_customize->add_setting( 'c1024_2026_hero_title', array( 'default' => get_bloginfo( 'name' ), 'sanitize_callback' => 'sanitize_text_field' ) );
$wp_customize->add_control( 'c1024_2026_hero_title', array( 'label' => __( 'Overlay heading', 'c1024-2026' ), 'section' => 'c1024_2026_home_hero', 'type' => 'text' ) );
$wp_customize->add_setting( 'c1024_2026_hero_text', array( 'sanitize_callback' => 'sanitize_textarea_field' ) );
$wp_customize->add_control( 'c1024_2026_hero_text', array( 'label' => __( 'Overlay text', 'c1024-2026' ), 'section' => 'c1024_2026_home_hero', 'type' => 'textarea' ) );
}
add_action( 'customize_register', 'c1024_2026_customize_register' );
function c1024_2026_excerpt_more( $more ) {
return '…';
}
add_filter( 'excerpt_more', 'c1024_2026_excerpt_more' );
+30
View File
@@ -0,0 +1,30 @@
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<a class="screen-reader-text" href="#main"><?php esc_html_e( 'Skip to content', 'c1024-2026' ); ?></a>
<header class="site-header" id="masthead">
<div class="header-inner">
<div class="site-branding">
<?php if ( has_custom_logo() ) { the_custom_logo(); } else { ?>
<a class="site-title" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a>
<?php } ?>
<?php $description = get_bloginfo( 'description', 'display' ); if ( $description ) { ?><p class="site-description"><?php echo esc_html( $description ); ?></p><?php } ?>
</div>
<button class="icon-button menu-toggle" type="button" data-menu-toggle aria-expanded="false" aria-controls="primary-menu"><span class="screen-reader-text"><?php esc_html_e( 'Toggle menu', 'c1024-2026' ); ?></span><svg class="icon" aria-hidden="true"><use href="#icon-menu"></use></svg></button>
<nav class="primary-navigation" aria-label="<?php esc_attr_e( 'Primary menu', 'c1024-2026' ); ?>">
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu', 'menu_class' => 'primary-menu', 'container' => false, 'fallback_cb' => false ) ); ?>
</nav>
<div class="header-actions">
<button class="icon-button" type="button" data-search-toggle aria-expanded="false" aria-controls="site-search"><span class="screen-reader-text"><?php esc_html_e( 'Open search', 'c1024-2026' ); ?></span><svg class="icon" aria-hidden="true"><use href="#icon-search"></use></svg></button>
<button class="icon-button" type="button" data-theme-toggle aria-pressed="false"><span class="screen-reader-text"><?php esc_html_e( 'Change color mode', 'c1024-2026' ); ?></span><svg class="icon" aria-hidden="true"><use href="#icon-theme"></use></svg></button>
</div>
</div>
<div class="search-panel" id="site-search" data-search-panel><?php get_search_form(); ?></div>
</header>
<svg width="0" height="0" class="screen-reader-text" aria-hidden="true"><symbol id="icon-search" viewBox="0 0 24 24"><circle cx="10.8" cy="10.8" r="6.5"></circle><path d="m16 16 5 5"></path></symbol><symbol id="icon-theme" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2m0 16v2M2 12h2m16 0h2M4.9 4.9l1.4 1.4m11.4 11.4 1.4 1.4m0-14.2-1.4 1.4M6.3 17.7l-1.4 1.4"></path></symbol><symbol id="icon-menu" viewBox="0 0 24 24"><path d="M3 6h18M3 12h18M3 18h18"></path></symbol></svg>
+6
View File
@@ -0,0 +1,6 @@
<?php get_header(); ?>
<main id="main" class="site-main">
<?php if ( is_home() && ! is_front_page() ) { ?><header class="page-header"><h1 class="page-title"><?php single_post_title(); ?></h1></header><?php } ?>
<?php if ( have_posts() ) { while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content' ); } the_posts_pagination( array( 'mid_size' => 1 ) ); } else { ?><p><?php esc_html_e( 'No posts found.', 'c1024-2026' ); ?></p><?php } ?>
</main>
<?php get_footer();
+5
View File
@@ -0,0 +1,5 @@
<?php get_header(); ?>
<main id="main" class="site-main">
<?php while ( have_posts() ) { the_post(); ?><article id="post-<?php the_ID(); ?>" <?php post_class(); ?>><header class="entry-header"><?php the_title( '<h1 class="entry-title">', '</h1>' ); ?></header><div class="entry-content"><?php the_content(); wp_link_pages(); ?></div></article><?php if ( comments_open() || get_comments_number() ) { comments_template(); } } ?>
</main>
<?php get_footer();
+4
View File
@@ -0,0 +1,4 @@
<?php get_header(); ?>
<header class="page-header"><h1 class="page-title"><?php printf( esc_html__( 'Results for “%s”', 'c1024-2026' ), esc_html( get_search_query() ) ); ?></h1></header>
<main id="main" class="site-main"><?php if ( have_posts() ) { while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content' ); } the_posts_pagination( array( 'mid_size' => 1 ) ); } else { ?><p><?php esc_html_e( 'Nothing matched your search. Try another term.', 'c1024-2026' ); ?></p><?php get_search_form(); } ?></main>
<?php get_footer();
+5
View File
@@ -0,0 +1,5 @@
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label class="screen-reader-text" for="site-search-field"><?php esc_html_e( 'Search for:', 'c1024-2026' ); ?></label>
<input id="site-search-field" class="search-field" type="search" value="<?php echo esc_attr( get_search_query() ); ?>" name="s" placeholder="<?php esc_attr_e( 'Search …', 'c1024-2026' ); ?>">
<button class="search-submit" type="submit"><?php esc_html_e( 'Search', 'c1024-2026' ); ?></button>
</form>
+13
View File
@@ -0,0 +1,13 @@
<?php get_header(); ?>
<main id="main" class="site-main">
<?php while ( have_posts() ) { the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header"><div class="entry-meta"><time datetime="<?php echo esc_attr( get_the_date( DATE_W3C ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time> · <?php the_author_posts_link(); ?></div><?php the_title( '<h1 class="entry-title">', '</h1>' ); ?><?php if ( has_category() ) { ?><div class="taxonomy post-categories"><?php the_category( ' ' ); ?></div><?php } ?></header>
<?php if ( has_post_thumbnail() ) { ?><div class="entry-thumbnail"><?php the_post_thumbnail( 'large' ); ?></div><?php } ?>
<div class="entry-content"><?php the_content(); wp_link_pages(); ?></div>
<footer class="entry-footer"><?php if ( has_tag() ) { ?><div class="tags-links"><?php the_tags( '', ' ', '' ); ?></div><?php } ?></footer>
</article>
<?php if ( comments_open() || get_comments_number() ) { comments_template(); } the_post_navigation(); ?>
<?php } ?>
</main>
<?php get_footer();
+25
View File
@@ -0,0 +1,25 @@
/*
Theme Name: Commander 1024 2026
Theme URI: https://www.commander1024.de/
Description: A clean, retro-tech inspired classic WordPress theme.
Author: Commander1024
Version: 1.0.0
Text Domain: c1024-2026
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
@font-face{font-family:'Alpha Lyrae';src:url('fonts/AlphaLyrae-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Crimson Pro';src:url('fonts/crimson-pro-latin-wght-normal.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Crimson Pro';src:url('fonts/crimson-pro-latin-wght-italic.woff2') format('woff2');font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:'Berkeley Mono';src:url('fonts/BerkeleyMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Berkeley Mono';src:url('fonts/BerkeleyMono-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#f8f5f0;--surface:#fffdf9;--text:#1d1b19;--muted:#706a63;--line:#d8d0c6;--accent:#c3480b;--accent-hover:#8f3508;--code-bg:#282623;--code-text:#f5eee5;--shadow:0 10px 30px rgba(45,34,25,.08);--content:760px;--wide:1180px}
:root[data-theme='dark']{color-scheme:dark;--bg:#171615;--surface:#22201e;--text:#eee8e1;--muted:#b9afa5;--line:#4a4540;--accent:#f07a3c;--accent-hover:#ff9d6a;--code-bg:#0e0e0d;--code-text:#f5eee5;--shadow:0 10px 30px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Crimson Pro',Georgia,serif;font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem);font-weight:400;line-height:1.55}a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.14em}a:hover,a:focus{color:var(--accent-hover)}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{cursor:pointer}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{z-index:100000;top:5px;left:5px;width:auto;height:auto;padding:.5rem 1rem;margin:0;overflow:visible;clip:auto;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}
.site-header{position:sticky;z-index:20;top:0;background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);transition:transform .25s ease}.site-header.is-hidden{transform:translateY(-105%)}.header-inner{display:flex;align-items:center;gap:1.25rem;max-width:var(--wide);min-height:4.6rem;padding:.75rem 1.5rem;margin:auto}.site-branding{flex:1;min-width:0}.custom-logo-link{display:inline-flex;max-height:42px}.custom-logo{width:auto;max-height:42px}.site-title{display:inline-block;margin:0;color:var(--text);font-family:'Alpha Lyrae',sans-serif;font-size:clamp(1.15rem,1rem + 1vw,1.7rem);font-weight:500;letter-spacing:.035em;text-decoration:none}.site-description{margin:.1rem 0 0;color:var(--muted);font-family:'Berkeley Mono',monospace;font-size:.64rem;letter-spacing:.07em}.primary-menu{display:flex;align-items:center;gap:1.3rem;margin:0;padding:0;list-style:none;font-family:'Berkeley Mono',monospace;font-size:.7rem;letter-spacing:.04em}.primary-menu a{color:var(--text);text-decoration:none}.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:.4rem}.icon-button{display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text)}.icon-button:hover,.icon-button:focus{background:var(--surface);color:var(--accent)}.icon{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8}.search-panel{position:absolute;top:calc(100% + 1px);right:max(1rem,calc((100vw - var(--wide))/2));width:min(420px,calc(100vw - 2rem));padding:1rem;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-.5rem);opacity:0;visibility:hidden;transition:.18s}.search-panel.is-open{transform:none;opacity:1;visibility:visible}.search-form{display:flex;gap:.5rem}.search-field{flex:1;min-width:0;padding:.55rem .7rem;border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--text)}.button,.search-submit,input[type=submit]{padding:.55rem .9rem;border:1px solid var(--accent);border-radius:2px;background:var(--accent);color:#fff;font-family:'Berkeley Mono',monospace;font-size:.68rem;letter-spacing:.04em}.menu-toggle{display:none}
.site-main{max-width:var(--content);padding:3.5rem 1.5rem 5rem;margin:auto}.page-header{max-width:var(--content);padding:3.5rem 1.5rem 0;margin:auto}.page-title,.entry-title,h1,h2,h3,h4{font-family:'Alpha Lyrae',sans-serif;font-weight:500;line-height:1.16;letter-spacing:.025em}.page-title{margin:0;font-size:clamp(2rem,1.35rem + 2.5vw,3.5rem)}.archive-description{color:var(--muted)}.post-card{padding:2.25rem 0;border-bottom:1px solid var(--line)}.post-card:first-child{padding-top:0}.entry-meta,.entry-footer,.taxonomy{color:var(--muted);font-family:'Berkeley Mono',monospace;font-size:.68rem;letter-spacing:.035em}.entry-meta a,.entry-footer a{color:inherit}.entry-title{margin:.35rem 0 .8rem;font-size:clamp(1.75rem,1.3rem + 1.7vw,2.75rem)}.entry-title a{color:var(--text);text-decoration:none}.entry-title a:hover{color:var(--accent)}.entry-summary p{margin-bottom:0}.entry-thumbnail{margin:1.25rem 0}.entry-thumbnail img{width:100%;border-radius:2px}.post-categories,.tags-links{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.post-categories a,.tags-links a{padding:.18rem .45rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);text-decoration:none}.post-categories a:hover,.tags-links a:hover{border-color:var(--accent);color:var(--accent)}.single .entry-header,.page .entry-header{margin-bottom:2rem}.single .entry-title,.page .entry-title{font-size:clamp(2.25rem,1.5rem + 3vw,4rem)}.entry-content{font-size:clamp(1.25rem,1.1rem + .4vw,1.5rem)}.entry-content>*{margin-top:0;margin-bottom:1.3em}.entry-content h2{margin-top:2em;font-size:1.55em}.entry-content h3{margin-top:1.8em;font-size:1.25em}.entry-content ul,.entry-content ol{padding-left:1.3em}.entry-content blockquote{padding:.35rem 1.25rem;border-left:4px solid var(--accent);margin-left:0;color:var(--muted);font-style:italic}.entry-content pre{padding:1rem 1.2rem;overflow:auto;border-radius:2px;background:var(--code-bg);color:var(--code-text);font-size:.78em}.entry-content code{font-family:'Berkeley Mono',monospace;font-size:.8em}.entry-content :not(pre)>code{padding:.1em .3em;border-radius:2px;background:var(--surface);border:1px solid var(--line)}.wp-block-image,.entry-content figure{margin-left:0;margin-right:0}.wp-caption-text{color:var(--muted);font-family:'Berkeley Mono',monospace;font-size:.68rem}.wp-block-separator{border:0;border-top:1px solid var(--line)}
.hero{position:relative;display:grid;min-height:min(65vh,760px);overflow:hidden;background:#171615;color:#fff}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.2));content:''}.hero-content{position:relative;z-index:1;align-self:end;max-width:var(--wide);width:100%;padding:clamp(4rem,13vw,10rem) 1.5rem 3.5rem;margin:auto}.hero-eyebrow{font-family:'Berkeley Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#f09b72}.hero-title{max-width:850px;margin:.45rem 0;font-family:'Alpha Lyrae',sans-serif;font-size:clamp(2.8rem,7vw,6rem);font-weight:500;line-height:.98}.hero-text{max-width:560px;margin:0;font-size:clamp(1.25rem,1.1rem + .5vw,1.6rem)}.hero+.site-main{padding-top:3rem}.pagination,.post-navigation{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-family:'Berkeley Mono',monospace;font-size:.7rem}.pagination .nav-links{display:flex;gap:.8rem}.page-numbers{padding:.25rem}.page-numbers.current{color:var(--accent)}.comments-area{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.comment-list{padding:0;list-style:none}.comment-body{padding:1rem 0;border-bottom:1px solid var(--line)}.comment-meta{font-family:'Berkeley Mono',monospace;font-size:.7rem}.comment-form input:not([type=submit]),.comment-form textarea{width:100%;padding:.55rem;border:1px solid var(--line);background:var(--surface);color:var(--text)}.site-footer{padding:2.5rem 1.5rem;border-top:1px solid var(--line);color:var(--muted);font-family:'Berkeley Mono',monospace;font-size:.68rem}.footer-inner{display:flex;justify-content:space-between;gap:1rem;max-width:var(--wide);margin:auto}.footer-menu{display:flex;gap:1rem;margin:0;padding:0;list-style:none}.footer-menu a{color:inherit}.not-found{text-align:center}.not-found .search-form{max-width:380px;margin:2rem auto}
@media(max-width:760px){.header-inner{min-height:4rem;padding:.55rem 1rem;flex-wrap:wrap}.menu-toggle{display:grid}.primary-navigation{order:4;width:100%;display:none}.site-header.menu-open .primary-navigation{display:block}.primary-menu{align-items:flex-start;flex-direction:column;gap:.9rem;padding:.8rem 0;border-top:1px solid var(--line)}.site-description{display:none}.site-main{padding:2.5rem 1rem 4rem}.page-header{padding:2.5rem 1rem 0}.hero-content{padding:6rem 1rem 2.5rem}.hero{min-height:55vh}.footer-inner{flex-direction:column}.entry-content{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
+9
View File
@@ -0,0 +1,9 @@
<article id="post-<?php the_ID(); ?>" <?php post_class( 'post-card' ); ?>>
<header class="entry-header">
<div class="entry-meta"><time datetime="<?php echo esc_attr( get_the_date( DATE_W3C ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time><?php if ( get_the_author() ) { ?> · <?php the_author_posts_link(); ?><?php } ?></div>
<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
<?php if ( has_category() ) { ?><div class="taxonomy post-categories"><?php the_category( ' ' ); ?></div><?php } ?>
</header>
<?php if ( has_post_thumbnail() ) { ?><a class="entry-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true" tabindex="-1"><?php the_post_thumbnail( 'large' ); ?></a><?php } ?>
<div class="entry-summary"><?php the_excerpt(); ?></div>
</article>