Compare commits

..

3 Commits

Author SHA1 Message Date
Alex Dunmow
681b4808f0 bump to 0.5.0 2026-07-06 20:54:10 +08:00
Alex Dunmow
8c1da68375 feat(editorial): bundled-font @font-face + typography refs, required_icon_packs, reshoot in real serif
Declare @font-face for the bundled Playfair Display + Source Serif 4 faces
against /templates/editorial/fonts/*.woff2 and point every preset's
typography.fontHeading/fontBody at template:editorial:<Family> so
--font-heading/--font-body resolve to the bundled serifs (gotham@1.2.0
precedent; CMS BundledFonts is dead code). Declare required_icon_packs
[lucide, simple-icons] for the sprite pipeline. Recapture the 6-shot gallery
(home/about/article x light+dark) now that the serif actually renders.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 20:54:03 +08:00
Alex Dunmow
68fe19aaed bump to 0.4.1 2026-07-06 20:43:56 +08:00
10 changed files with 29 additions and 1 deletions

View File

@ -8,6 +8,7 @@
theme_presets: presets.json theme_presets: presets.json
bundled_fonts: fonts.json bundled_fonts: fonts.json
master_pages: master_pages.json master_pages: master_pages.json
required_icon_packs: [lucide, simple-icons]
system_templates: system_templates:
- key: editorial - key: editorial
@ -122,6 +123,17 @@ css:
* <fallback>). No literal colours, no hardcoded families. * <fallback>). No literal colours, no hardcoded families.
*/ */
/* Bundled serif faces. The host does not yet emit @font-face for
* bundled_fonts (LoadedPlugin.BundledFonts is unconsumed), so the theme
* declares its own faces against the served artifact paths
* (/templates/editorial/fonts/...). Presets set typography.fontHeading/body
* to template:editorial:<Family> so --font-heading/--font-body resolve to
* these families. */
@font-face { font-family: 'Playfair Display'; src: url('/templates/editorial/fonts/playfair-display-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Playfair Display'; src: url('/templates/editorial/fonts/playfair-display-900-italic.woff2') format('woff2'); font-weight: 900; font-style: italic; font-display: swap; }
@font-face { font-family: 'Source Serif 4'; src: url('/templates/editorial/fonts/source-serif-4-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Source Serif 4'; src: url('/templates/editorial/fonts/source-serif-4-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@layer utilities { @layer utilities {
:root { :root {
--editorial-measure: 64ch; --editorial-measure: 64ch;

View File

@ -2,7 +2,7 @@
name = "editorial" name = "editorial"
display_name = "Editorial" display_name = "Editorial"
scope = "@themes" scope = "@themes"
version = "0.4.0" version = "0.5.0"
description = "A personal essayist's reading room: warm book-paper light, sepia-on-charcoal dark, serif baseline grid, drop caps, running marginalia and small-caps labels for longform writers and independent newsletters." description = "A personal essayist's reading room: warm book-paper light, sepia-on-charcoal dark, serif baseline grid, drop caps, running marginalia and small-caps labels for longform writers and independent newsletters."
kind = "theme" kind = "theme"
categories = ["templates"] categories = ["templates"]

View File

@ -4,6 +4,10 @@
"name": "Book Paper", "name": "Book Paper",
"description": "The default. Warm off-white paper and dark serif ink by day, low-glare charcoal with sepia type by night. Oxblood accent throughout.", "description": "The default. Warm off-white paper and dark serif ink by day, low-glare charcoal with sepia type by night. Oxblood accent throughout.",
"theme": { "theme": {
"typography": {
"fontHeading": "template:editorial:Playfair Display",
"fontBody": "template:editorial:Source Serif 4"
},
"mode": "both", "mode": "both",
"lightColors": { "lightColors": {
"background": "38 32% 95%", "background": "38 32% 95%",
@ -54,6 +58,10 @@
"name": "Sepia Review", "name": "Sepia Review",
"description": "Warm sepia in both modes for a soft, magazine-like read. Amber paper and umber ink by day, deep tobacco ground by night.", "description": "Warm sepia in both modes for a soft, magazine-like read. Amber paper and umber ink by day, deep tobacco ground by night.",
"theme": { "theme": {
"typography": {
"fontHeading": "template:editorial:Playfair Display",
"fontBody": "template:editorial:Source Serif 4"
},
"mode": "both", "mode": "both",
"lightColors": { "lightColors": {
"background": "34 44% 93%", "background": "34 44% 93%",
@ -104,6 +112,10 @@
"name": "Legal Pad", "name": "Legal Pad",
"description": "Deeper cream and near-black ink for law, finance and long essays. Tight saturation by day, cool ink-black night desk.", "description": "Deeper cream and near-black ink for law, finance and long essays. Tight saturation by day, cool ink-black night desk.",
"theme": { "theme": {
"typography": {
"fontHeading": "template:editorial:Playfair Display",
"fontBody": "template:editorial:Source Serif 4"
},
"mode": "both", "mode": "both",
"lightColors": { "lightColors": {
"background": "48 42% 93%", "background": "48 42% 93%",
@ -154,6 +166,10 @@
"name": "Nightdesk", "name": "Nightdesk",
"description": "Cooler neutral paper and a crisp after-hours reading mode. A brighter red accent for the late edition.", "description": "Cooler neutral paper and a crisp after-hours reading mode. A brighter red accent for the late edition.",
"theme": { "theme": {
"typography": {
"fontHeading": "template:editorial:Playfair Display",
"fontBody": "template:editorial:Source Serif 4"
},
"mode": "both", "mode": "both",
"lightColors": { "lightColors": {
"background": "40 20% 96%", "background": "40 20% 96%",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 288 KiB