Compare commits

...

4 Commits

Author SHA1 Message Date
Alex Dunmow
32eaa92fe9 bump to 0.5.0 2026-07-06 21:21:17 +08:00
Alex Dunmow
5ef52d8874 feat: Wave B gallery reshoot with bundled fonts (home/about/article × light+dark)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:21:03 +08:00
Alex Dunmow
c2a1c62ec2 bump to 0.4.1 2026-07-06 21:14:33 +08:00
Alex Dunmow
51d12fd6a1 feat(earthen): bundle Fraunces + Work Sans via @font-face + preset typography refs
Host BundledFonts is inert, so declare the two fonts.json families as
@font-face against /templates/earthen/fonts/*.woff2 and point every preset's
typography.fontHeading/fontBody at template:earthen:<Family> so --font-heading
and --font-body resolve to the bundled faces.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:14:29 +08:00
10 changed files with 33 additions and 2 deletions

View File

@ -114,6 +114,17 @@ css:
/* All colour values reference the 19-token HSL custom properties so they */
/* shift with the active preset (mossbed, clay-field, wet-loam). */
/* Bundled faces. The host does not yet emit @font-face for fonts.json
* (LoadedPlugin.BundledFonts is inert), so the theme declares them itself
* against the served /templates/earthen/fonts/... paths. Presets set
* typography.fontHeading/body to template:earthen:<Family> so
* --font-heading/--font-body resolve to these families. Families/weights
* match fonts.json exactly. */
@font-face { font-family: 'Fraunces'; src: url('/templates/earthen/fonts/fraunces-latin-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('/templates/earthen/fonts/fraunces-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Work Sans'; src: url('/templates/earthen/fonts/worksans-latin-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Work Sans'; src: url('/templates/earthen/fonts/worksans-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
/* Paper grain backdrop — a single inline SVG noise pattern keeps page weight
inside the marketplace gate (≤ 81920 bytes). */
.bg-paper-grain {

View File

@ -2,7 +2,7 @@
name = "earthen"
display_name = "Earthen"
scope = "@themes"
version = "0.4.0"
version = "0.5.0"
description = "Botanical nonprofit theme in moss, clay, sage and cream — hand-illustrated motifs for cause-driven sites."
kind = "theme"
categories = ["templates"]

View File

@ -5,6 +5,10 @@
"description": "Cream paper, deep moss primary, terracotta accent — the canonical Earthen look.",
"theme": {
"mode": "both",
"typography": {
"fontHeading": "template:earthen:Fraunces",
"fontBody": "template:earthen:Work Sans"
},
"lightColors": {
"background": "40 30% 96%",
"foreground": "120 25% 14%",
@ -55,6 +59,10 @@
"description": "Warm terracotta-led palette tuned for farm-stand and outdoor-brand sites.",
"theme": {
"mode": "light",
"typography": {
"fontHeading": "template:earthen:Fraunces",
"fontBody": "template:earthen:Work Sans"
},
"lightColors": {
"background": "30 35% 95%",
"foreground": "20 35% 16%",
@ -84,6 +92,10 @@
"description": "Deep night-soil tones for conservation orgs that need quiet authority.",
"theme": {
"mode": "dark",
"typography": {
"fontHeading": "template:earthen:Fraunces",
"fontBody": "template:earthen:Work Sans"
},
"darkColors": {
"background": "90 20% 6%",
"foreground": "60 20% 90%",
@ -113,6 +125,10 @@
"description": "Pale sage paper and honey light, misty forest dark — a softer, hopeful reading of the palette.",
"theme": {
"mode": "both",
"typography": {
"fontHeading": "template:earthen:Fraunces",
"fontBody": "template:earthen:Work Sans"
},
"lightColors": {
"background": "70 25% 95%",
"foreground": "130 20% 16%",
@ -163,6 +179,10 @@
"description": "Terracotta-led warm clay in light, firelight ember over deep loam in dark — moss becomes the accent.",
"theme": {
"mode": "both",
"typography": {
"fontHeading": "template:earthen:Fraunces",
"fontBody": "template:earthen:Work Sans"
},
"lightColors": {
"background": "28 38% 95%",
"foreground": "18 40% 15%",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

After

Width:  |  Height:  |  Size: 3.0 MiB