diff --git a/manifest.yaml b/manifest.yaml index 3304206..835dea4 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -3,6 +3,7 @@ theme_presets: presets.json bundled_fonts: fonts.json master_pages: master_pages.json +required_icon_packs: [lucide, simple-icons] system_templates: - key: brutalist @@ -111,6 +112,21 @@ css: input_css_append: | /* === Brutalist theme utilities === */ + /* Bundled display faces. The host does not yet emit @font-face for + * bundled_fonts (LoadedPlugin.BundledFonts is unconsumed), so the theme + * self-serves them from its packed asset dir (/templates/brutalist/fonts/...). + * Presets set typography.fontHeading/body/mono to template:brutalist: + * so --font-heading/body/mono resolve to these families. Families/weights + * mirror fonts.json exactly (8 woff2). */ + @font-face { font-family: 'Space Grotesk'; src: url('/templates/brutalist/fonts/space-grotesk-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } + @font-face { font-family: 'Space Grotesk'; src: url('/templates/brutalist/fonts/space-grotesk-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } + @font-face { font-family: 'Archivo Black'; src: url('/templates/brutalist/fonts/archivo-black-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } + @font-face { font-family: 'Inter'; src: url('/templates/brutalist/fonts/inter-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } + @font-face { font-family: 'Inter'; src: url('/templates/brutalist/fonts/inter-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } + @font-face { font-family: 'Inter'; src: url('/templates/brutalist/fonts/inter-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } + @font-face { font-family: 'IBM Plex Mono'; src: url('/templates/brutalist/fonts/ibm-plex-mono-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } + @font-face { font-family: 'IBM Plex Mono'; src: url('/templates/brutalist/fonts/ibm-plex-mono-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } + :where(.brutalist-page, .brutalist-page *) { border-radius: 0 !important; } diff --git a/plugin.mod b/plugin.mod index 7a1171e..ea94112 100644 --- a/plugin.mod +++ b/plugin.mod @@ -2,7 +2,7 @@ name = "brutalist" display_name = "Brutalist" scope = "@themes" -version = "0.6.2" +version = "0.7.0" description = "Concrete, oversized type, hard 12-col grid theme for design studios, architecture firms and art galleries." kind = "theme" categories = ["templates"] diff --git a/presets.json b/presets.json index c95d79a..d726e3e 100644 --- a/presets.json +++ b/presets.json @@ -5,6 +5,11 @@ "description": "Paper-white concrete with a cadmium red accent. Black rules in light, paper rules in wet-concrete dark.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:brutalist:Space Grotesk", + "fontBody": "template:brutalist:Inter", + "fontMono": "template:brutalist:IBM Plex Mono" + }, "lightColors": { "background": "40 14% 93%", "foreground": "0 0% 4%", @@ -55,6 +60,11 @@ "description": "Construction-site safety yellow. Ink type sits on yellow; wet-concrete dark glows.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:brutalist:Space Grotesk", + "fontBody": "template:brutalist:Inter", + "fontMono": "template:brutalist:IBM Plex Mono" + }, "lightColors": { "background": "40 14% 93%", "foreground": "0 0% 4%", @@ -105,6 +115,11 @@ "description": "Off-white with a riso-print electric blue. Cool concrete dark with a glowing blue accent.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:brutalist:Space Grotesk", + "fontBody": "template:brutalist:Inter", + "fontMono": "template:brutalist:IBM Plex Mono" + }, "lightColors": { "background": "40 14% 93%", "foreground": "0 0% 4%", @@ -155,6 +170,11 @@ "description": "Off-white with an acid lime accent. Ink type on lime; wet-concrete dark with a lime glow.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:brutalist:Space Grotesk", + "fontBody": "template:brutalist:Inter", + "fontMono": "template:brutalist:IBM Plex Mono" + }, "lightColors": { "background": "40 14% 93%", "foreground": "0 0% 4%", diff --git a/preview.png b/preview.png index 7cb1a72..f2a9339 100644 Binary files a/preview.png and b/preview.png differ diff --git a/screenshots/01-home-light.png b/screenshots/01-home-light.png index 7cb1a72..f2a9339 100644 Binary files a/screenshots/01-home-light.png and b/screenshots/01-home-light.png differ diff --git a/screenshots/02-home-dark.png b/screenshots/02-home-dark.png index 442ff56..37b1527 100644 Binary files a/screenshots/02-home-dark.png and b/screenshots/02-home-dark.png differ diff --git a/screenshots/03-about-light.png b/screenshots/03-about-light.png index afed55b..e431d08 100644 Binary files a/screenshots/03-about-light.png and b/screenshots/03-about-light.png differ diff --git a/screenshots/04-about-dark.png b/screenshots/04-about-dark.png index 6a8de9b..23fe87f 100644 Binary files a/screenshots/04-about-dark.png and b/screenshots/04-about-dark.png differ diff --git a/screenshots/05-blog-in-praise-of-a-hard-border-light.png b/screenshots/05-blog-in-praise-of-a-hard-border-light.png index 2c7e0cd..a68b223 100644 Binary files a/screenshots/05-blog-in-praise-of-a-hard-border-light.png and b/screenshots/05-blog-in-praise-of-a-hard-border-light.png differ diff --git a/screenshots/06-blog-in-praise-of-a-hard-border-dark.png b/screenshots/06-blog-in-praise-of-a-hard-border-dark.png index 0ffb39d..dbed805 100644 Binary files a/screenshots/06-blog-in-praise-of-a-hard-border-dark.png and b/screenshots/06-blog-in-praise-of-a-hard-border-dark.png differ