Changeset 344068
- Timestamp:
- 08/15/2026 03:39:18 PM (3 months ago)
- Location:
- hafen/0.8.1
- Files:
-
- 9 edited
- 1 copied
-
. (copied) (copied from hafen/0.8.0 )
-
functions.php (modified) (1 diff)
-
languages/de_DE.po (modified) (1 diff)
-
languages/hafen.pot (modified) (1 diff)
-
patterns/performance.php (modified) (4 diffs)
-
patterns/stats.php (modified) (4 diffs)
-
patterns/timeline.php (modified) (4 diffs)
-
readme.txt (modified) (3 diffs)
-
screenshot.png (modified) ( previous)
-
style.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
hafen/0.8.1/functions.php
r342062 r344068 17 17 18 18 if ( ! defined( 'HAFEN_VERSION' ) ) { 19 define( 'HAFEN_VERSION', '0.8. 0' );19 define( 'HAFEN_VERSION', '0.8.1' ); 20 20 } 21 21 -
hafen/0.8.1/languages/de_DE.po
r342062 r344068 1 1 msgid "" 2 2 msgstr "" 3 "Project-Id-Version: Hafen 0.8. 0\n"3 "Project-Id-Version: Hafen 0.8.1\n" 4 4 "Report-Msgid-Bugs-To: \n" 5 5 "Last-Translator: \n" -
hafen/0.8.1/languages/hafen.pot
r342062 r344068 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Hafen 0.8. 0\n"5 "Project-Id-Version: Hafen 0.8.1\n" 6 6 "Report-Msgid-Bugs-To: https://hafenstudios.com/hafen/\n" 7 7 "POT-Creation-Date: 2026-08-04 14:31+0000\n" -
hafen/0.8.1/patterns/performance.php
r342062 r344068 22 22 <!-- wp:group {"className":"is-style-hafen-card","style":{"spacing":{"blockGap":"0.2rem"}},"layout":{"type":"constrained","justifyContent":"center"}} --> 23 23 <div class="wp-block-group is-style-hafen-card"> 24 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"> 100</p><!-- /wp:paragraph -->24 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"><?php echo esc_html__( '100', 'hafen' ); ?></p><!-- /wp:paragraph --> 25 25 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontWeight":"800","fontSize":"0.95rem"}}} --><p class="has-text-align-center" style="font-weight:800;font-size:0.95rem"><?php echo esc_html__( 'Metric one', 'hafen' ); ?></p><!-- /wp:paragraph --> 26 26 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontSize":"0.8rem"},"color":{"text":"var:preset|color|muted"}}} --><p class="has-text-align-center has-text-color" style="color:var(--wp--preset--color--muted);font-size:0.8rem"><?php echo esc_html__( 'Example value', 'hafen' ); ?></p><!-- /wp:paragraph --> … … 29 29 <!-- wp:group {"className":"is-style-hafen-card","style":{"spacing":{"blockGap":"0.2rem"}},"layout":{"type":"constrained","justifyContent":"center"}} --> 30 30 <div class="wp-block-group is-style-hafen-card"> 31 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"> 100</p><!-- /wp:paragraph -->31 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"><?php echo esc_html__( '100', 'hafen' ); ?></p><!-- /wp:paragraph --> 32 32 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontWeight":"800","fontSize":"0.95rem"}}} --><p class="has-text-align-center" style="font-weight:800;font-size:0.95rem"><?php echo esc_html__( 'Metric two', 'hafen' ); ?></p><!-- /wp:paragraph --> 33 33 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontSize":"0.8rem"},"color":{"text":"var:preset|color|muted"}}} --><p class="has-text-align-center has-text-color" style="color:var(--wp--preset--color--muted);font-size:0.8rem"><?php echo esc_html__( 'Example value', 'hafen' ); ?></p><!-- /wp:paragraph --> … … 36 36 <!-- wp:group {"className":"is-style-hafen-card","style":{"spacing":{"blockGap":"0.2rem"}},"layout":{"type":"constrained","justifyContent":"center"}} --> 37 37 <div class="wp-block-group is-style-hafen-card"> 38 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"> 100</p><!-- /wp:paragraph -->38 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"><?php echo esc_html__( '100', 'hafen' ); ?></p><!-- /wp:paragraph --> 39 39 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontWeight":"800","fontSize":"0.95rem"}}} --><p class="has-text-align-center" style="font-weight:800;font-size:0.95rem"><?php echo esc_html__( 'Metric three', 'hafen' ); ?></p><!-- /wp:paragraph --> 40 40 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontSize":"0.8rem"},"color":{"text":"var:preset|color|muted"}}} --><p class="has-text-align-center has-text-color" style="color:var(--wp--preset--color--muted);font-size:0.8rem"><?php echo esc_html__( 'Example value', 'hafen' ); ?></p><!-- /wp:paragraph --> … … 43 43 <!-- wp:group {"className":"is-style-hafen-card","style":{"spacing":{"blockGap":"0.2rem"}},"layout":{"type":"constrained","justifyContent":"center"}} --> 44 44 <div class="wp-block-group is-style-hafen-card"> 45 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"> 98</p><!-- /wp:paragraph -->45 <!-- wp:paragraph {"align":"center","className":"hafen-stat","style":{"color":{"text":"var:preset|color|brand-dark"}}} --><p class="has-text-align-center hafen-stat has-text-color" style="color:var(--wp--preset--color--brand-dark)"><?php echo esc_html__( '98', 'hafen' ); ?></p><!-- /wp:paragraph --> 46 46 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontWeight":"800","fontSize":"0.95rem"}}} --><p class="has-text-align-center" style="font-weight:800;font-size:0.95rem"><?php echo esc_html__( 'Metric four', 'hafen' ); ?></p><!-- /wp:paragraph --> 47 47 <!-- wp:paragraph {"align":"center","style":{"typography":{"fontSize":"0.8rem"},"color":{"text":"var:preset|color|muted"}}} --><p class="has-text-align-center has-text-color" style="color:var(--wp--preset--color--muted);font-size:0.8rem"><?php echo esc_html__( 'Example value', 'hafen' ); ?></p><!-- /wp:paragraph --> -
hafen/0.8.1/patterns/stats.php
r342062 r344068 24 24 <div class="wp-block-group is-style-hafen-card"> 25 25 <!-- wp:paragraph {"style":{"typography":{"fontSize":"3.2rem","lineHeight":"1"}},"textColor":"brand","fontFamily":"serif"} --> 26 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"> 120+</p>26 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"><?php echo esc_html__( '120+', 'hafen' ); ?></p> 27 27 <!-- /wp:paragraph --> 28 28 <!-- wp:paragraph {"style":{"typography":{"fontSize":"0.95rem"},"color":{"text":"var:preset|color|text-soft"}}} --> … … 38 38 <div class="wp-block-group is-style-hafen-card"> 39 39 <!-- wp:paragraph {"style":{"typography":{"fontSize":"3.2rem","lineHeight":"1"}},"textColor":"brand","fontFamily":"serif"} --> 40 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"> 15</p>40 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"><?php echo esc_html__( '15', 'hafen' ); ?></p> 41 41 <!-- /wp:paragraph --> 42 42 <!-- wp:paragraph {"style":{"typography":{"fontSize":"0.95rem"},"color":{"text":"var:preset|color|text-soft"}}} --> … … 52 52 <div class="wp-block-group is-style-hafen-card"> 53 53 <!-- wp:paragraph {"style":{"typography":{"fontSize":"3.2rem","lineHeight":"1"}},"textColor":"brand","fontFamily":"serif"} --> 54 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"> 98 %</p>54 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"><?php echo esc_html__( '98 %', 'hafen' ); ?></p> 55 55 <!-- /wp:paragraph --> 56 56 <!-- wp:paragraph {"style":{"typography":{"fontSize":"0.95rem"},"color":{"text":"var:preset|color|text-soft"}}} --> … … 66 66 <div class="wp-block-group is-style-hafen-card"> 67 67 <!-- wp:paragraph {"style":{"typography":{"fontSize":"3.2rem","lineHeight":"1"}},"textColor":"brand","fontFamily":"serif"} --> 68 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"> 2017</p>68 <p class="has-brand-color has-text-color has-serif-font-family" style="font-size:3.2rem;line-height:1"><?php echo esc_html__( '2017', 'hafen' ); ?></p> 69 69 <!-- /wp:paragraph --> 70 70 <!-- wp:paragraph {"style":{"typography":{"fontSize":"0.95rem"},"color":{"text":"var:preset|color|text-soft"}}} --> -
hafen/0.8.1/patterns/timeline.php
r342062 r344068 24 24 <!-- wp:group {"className":"hafen-timeline-item","style":{"spacing":{"blockGap":"0.45rem"}},"layout":{"type":"constrained"}} --> 25 25 <div class="wp-block-group hafen-timeline-item"> 26 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"> 2021</p><!-- /wp:paragraph -->26 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"><?php echo esc_html__( '2021', 'hafen' ); ?></p><!-- /wp:paragraph --> 27 27 <!-- wp:heading {"level":3,"style":{"typography":{"fontSize":"1.2rem"},"spacing":{"margin":{"top":"0","bottom":"0"}}}} --><h3 class="wp-block-heading" style="margin-top:0;margin-bottom:0;font-size:1.2rem"><?php echo esc_html__( 'The idea takes shape', 'hafen' ); ?></h3><!-- /wp:heading --> 28 28 <!-- wp:paragraph {"style":{"color":{"text":"var:preset|color|text-soft"}}} --><p class="has-text-color" style="color:var(--wp--preset--color--text-soft)"><?php echo esc_html__( 'Describe the starting point: what problem sparked it, who had the idea, and what was the first concrete step?', 'hafen' ); ?></p><!-- /wp:paragraph --> … … 32 32 <!-- wp:group {"className":"hafen-timeline-item","style":{"spacing":{"blockGap":"0.45rem"}},"layout":{"type":"constrained"}} --> 33 33 <div class="wp-block-group hafen-timeline-item"> 34 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"> 2022</p><!-- /wp:paragraph -->34 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"><?php echo esc_html__( '2022', 'hafen' ); ?></p><!-- /wp:paragraph --> 35 35 <!-- wp:heading {"level":3,"style":{"typography":{"fontSize":"1.2rem"},"spacing":{"margin":{"top":"0","bottom":"0"}}}} --><h3 class="wp-block-heading" style="margin-top:0;margin-bottom:0;font-size:1.2rem"><?php echo esc_html__( 'The launch', 'hafen' ); ?></h3><!-- /wp:heading --> 36 36 <!-- wp:paragraph {"style":{"color":{"text":"var:preset|color|text-soft"}}} --><p class="has-text-color" style="color:var(--wp--preset--color--text-soft)"><?php echo esc_html__( 'The official beginning: founding, first offering, first team members. What defined this phase?', 'hafen' ); ?></p><!-- /wp:paragraph --> … … 40 40 <!-- wp:group {"className":"hafen-timeline-item","style":{"spacing":{"blockGap":"0.45rem"}},"layout":{"type":"constrained"}} --> 41 41 <div class="wp-block-group hafen-timeline-item"> 42 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"> 2023</p><!-- /wp:paragraph -->42 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"><?php echo esc_html__( '2023', 'hafen' ); ?></p><!-- /wp:paragraph --> 43 43 <!-- wp:heading {"level":3,"style":{"typography":{"fontSize":"1.2rem"},"spacing":{"margin":{"top":"0","bottom":"0"}}}} --><h3 class="wp-block-heading" style="margin-top:0;margin-bottom:0;font-size:1.2rem"><?php echo esc_html__( 'Growth and learning', 'hafen' ); ?></h3><!-- /wp:heading --> 44 44 <!-- wp:paragraph {"style":{"color":{"text":"var:preset|color|text-soft"}}} --><p class="has-text-color" style="color:var(--wp--preset--color--text-soft)"><?php echo esc_html__( 'New locations, new offerings, or the first major project: show how the work developed step by step.', 'hafen' ); ?></p><!-- /wp:paragraph --> … … 48 48 <!-- wp:group {"className":"hafen-timeline-item is-highlight","style":{"spacing":{"blockGap":"0.45rem"}},"layout":{"type":"constrained"}} --> 49 49 <div class="wp-block-group hafen-timeline-item is-highlight"> 50 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"> 2025</p><!-- /wp:paragraph -->50 <!-- wp:paragraph {"className":"hafen-timeline-year"} --><p class="hafen-timeline-year"><?php echo esc_html__( '2025', 'hafen' ); ?></p><!-- /wp:paragraph --> 51 51 <!-- wp:heading {"level":3,"style":{"typography":{"fontSize":"1.2rem"},"spacing":{"margin":{"top":"0","bottom":"0"}}}} --><h3 class="wp-block-heading" style="margin-top:0;margin-bottom:0;font-size:1.2rem"><?php echo esc_html__( 'The highlight', 'hafen' ); ?></h3><!-- /wp:heading --> 52 52 <!-- wp:paragraph {"style":{"color":{"text":"var:preset|color|text-soft"}}} --><p class="has-text-color" style="color:var(--wp--preset--color--text-soft)"><?php echo esc_html__( 'The most important milestone so far, highlighted here with a colored marker: an award, an anniversary, or a defining success.', 'hafen' ); ?></p><!-- /wp:paragraph --> -
hafen/0.8.1/readme.txt
r342062 r344068 4 4 Tested up to: 7.0 5 5 Requires PHP: 7.4 6 Stable tag: 0.8. 06 Stable tag: 0.8.1 7 7 License: GNU General Public License v2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html 9 9 Tags: blog, portfolio, one-column, grid-layout, block-styles, wide-blocks, full-site-editing, custom-colors, custom-logo, custom-menu, editor-style, featured-images, threaded-comments, translation-ready, style-variations, block-patterns 10 10 11 Fast, accessible, answer-ready. Your content lives in visible HTML that machines actually read — about 7 KB of theme CSS+JS, zero external requests.11 A block theme for content-led websites, with block patterns, style variations and a self-hosted variable font. 12 12 13 13 == Description == 14 14 15 Hafen is a complete block theme (Full Site Editing) with a focus on speed, 16 accessibility, and machine-readable markup. 17 18 The speed claim in verifiable numbers (gzip, as measured for 0.6.0): Hafen 19 itself loads about 7 KB of CSS+JS in 2 requests; with the self-hosted variable 20 font, the theme stays entirely under 55 KB (54.4 KB) — with zero external 21 requests. With the Launch variation: 0 font bytes. That is the theme's 22 own share; images, plugins, and server configuration add to that on every 23 real website. 24 25 This theme is deliberately a pure presentation layer. Functionality that, 26 under the WordPress.org guidelines, belongs in a plugin (JSON-LD schema 27 output, custom blocks, an llms.txt generator) is intentionally not part of 28 the theme. That separation keeps the theme lean, and it means such content 29 features survive a theme switch. The theme is complete and fully functional 30 on its own. 15 Hafen is a complete block theme (Full Site Editing). Layout, colors, spacing 16 and typography are defined in theme.json and can be adjusted in the site 17 editor. 18 19 The theme ships a self-hosted variable font, so no font files are requested 20 from a third-party service. The included style variation "Launch" uses system 21 fonts instead. 31 22 32 23 Features: 33 24 * Full Site Editing with theme.json as the single source of truth 34 * Self-hosted Inter font as a single variable font file (~47 KB for all 35 weights 100-900; no external font call, GDPR-friendly) 36 * Style variation "Launch" (Stapellauf): pure system fonts, 0 KB font download 37 * Answer-engine block styles (TL;DR, definition, FAQ, steps) for the 38 Hafen look 39 * Landing patterns built from pure Core blocks (hero, features, 40 performance, product cards, CTA, stats band, timeline, FAQ, about, 41 blog grid, comparison table) 42 * Accessibility baseline: skip link, focus rings, landmarks, reduced-motion 25 * Self-hosted Inter as a single variable font file covering weights 100-900 26 * Style variation "Launch": system fonts, no font file loaded 27 * Block styles for TL;DR, definition, FAQ and step content 28 * Page patterns built from Core blocks (hero, features, product cards, CTA, 29 stats band, timeline, FAQ, about, blog grid, comparison table) 30 * Accessibility features: skip link, focus rings, landmarks, reduced-motion 31 support 43 32 * Fully translation-ready 44 33 … … 55 44 = Does the theme output schema markup or llms.txt? = 56 45 No. Under the WordPress.org guidelines that functionality belongs in a 57 plugin, so Hafen deliberately stays a pure presentation layer. The theme 58 is complete and works fully on its own; its answer-block styles pair with 59 any plugin that emits structured data. 46 plugin. The theme's block styles work with any plugin that emits structured 47 data. 60 48 61 49 = Is a Google Fonts connection required? = … … 93 81 94 82 == Changelog == 83 84 = 0.8.1 = 85 Review-Runde 1 auf WordPress.org (Ticket #284532). 86 87 * Theme URI entfernt (optionales Feld, verwies auf die Produktseite). 88 * Beschreibung in style.css und readme.txt ohne Leistungsangaben und 89 Marketing-Sprache neu gefasst. 90 * Screenshot ohne Werbetext, nur noch Platzhalterinhalte. 91 * Alle sichtbaren Zeichenketten in den Mustern timeline, stats und 92 performance sind jetzt uebersetzbar. 95 93 96 94 = 0.8.0 = -
hafen/0.8.1/style.css
r342062 r344068 1 1 /* 2 2 Theme Name: Hafen 3 Theme URI: https://hafenstudios.com/hafen4 3 Author: hafenstudios 5 4 Author URI: https://hafenstudios.com/ 6 Description: Fast, accessible, answer-ready WordPress block theme. Your content lives in visible HTML that machines actually read: about 7 KB of theme CSS+JS in 2 requests, under 55 KB in total with the self-hosted variable font, zero external requests. With the Launch variation: 0 font bytes. A deliberately pure presentation layer: schema output, llms.txt, and similar features are left to plugins, as the guidelines intend.5 Description: Hafen is a block theme for content-led websites. It supports full site editing and includes block patterns for landing pages, posts, timelines and statistics, several style variations, a self-hosted variable font, custom colors and logo support, a sticky header with a skip link, and editor styles that match the front end. 7 6 Requires at least: 6.4 8 7 Tested up to: 7.0 9 8 Requires PHP: 7.4 10 Version: 0.8. 09 Version: 0.8.1 11 10 License: GNU General Public License v2 or later 12 11 License URI: http://www.gnu.org/licenses/gpl-2.0.html
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)