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>
@ -8,6 +8,7 @@
|
||||
theme_presets: presets.json
|
||||
bundled_fonts: fonts.json
|
||||
master_pages: master_pages.json
|
||||
required_icon_packs: [lucide, simple-icons]
|
||||
|
||||
system_templates:
|
||||
- key: editorial
|
||||
@ -122,6 +123,17 @@ css:
|
||||
* <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 {
|
||||
:root {
|
||||
--editorial-measure: 64ch;
|
||||
|
||||
16
presets.json
@ -4,6 +4,10 @@
|
||||
"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.",
|
||||
"theme": {
|
||||
"typography": {
|
||||
"fontHeading": "template:editorial:Playfair Display",
|
||||
"fontBody": "template:editorial:Source Serif 4"
|
||||
},
|
||||
"mode": "both",
|
||||
"lightColors": {
|
||||
"background": "38 32% 95%",
|
||||
@ -54,6 +58,10 @@
|
||||
"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.",
|
||||
"theme": {
|
||||
"typography": {
|
||||
"fontHeading": "template:editorial:Playfair Display",
|
||||
"fontBody": "template:editorial:Source Serif 4"
|
||||
},
|
||||
"mode": "both",
|
||||
"lightColors": {
|
||||
"background": "34 44% 93%",
|
||||
@ -104,6 +112,10 @@
|
||||
"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.",
|
||||
"theme": {
|
||||
"typography": {
|
||||
"fontHeading": "template:editorial:Playfair Display",
|
||||
"fontBody": "template:editorial:Source Serif 4"
|
||||
},
|
||||
"mode": "both",
|
||||
"lightColors": {
|
||||
"background": "48 42% 93%",
|
||||
@ -154,6 +166,10 @@
|
||||
"name": "Nightdesk",
|
||||
"description": "Cooler neutral paper and a crisp after-hours reading mode. A brighter red accent for the late edition.",
|
||||
"theme": {
|
||||
"typography": {
|
||||
"fontHeading": "template:editorial:Playfair Display",
|
||||
"fontBody": "template:editorial:Source Serif 4"
|
||||
},
|
||||
"mode": "both",
|
||||
"lightColors": {
|
||||
"background": "40 20% 96%",
|
||||
|
||||
BIN
preview.png
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 180 KiB |
|
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 187 KiB |
|
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 276 KiB |
|
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 288 KiB |