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
|
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;
|
||||||
|
|||||||
16
presets.json
@ -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%",
|
||||||
|
|||||||
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 |