From fdb17bc70d5fd4c269174986f7feb1e3f235ddfd Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Wed, 10 Jun 2026 21:01:50 +0200 Subject: [PATCH 1/4] Improve page performance and refresh themes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Self-host fonts via @fontsource (latin subsets, no CDN blocking) - Preload Iosevka Aile 600 to front-load LCP-critical font - Drop slate theme; rename warm → dark - Refresh light theme: warmer ivory surfaces, richer amber accent (#8a5e2e) - Fix --text-dim contrast to pass WCAG AA in both themes Co-Authored-By: Claude Sonnet 4.6 --- package-lock.json | 30 +++++++++++++++ package.json | 3 ++ src/layouts/Base.astro | 25 ++++--------- src/styles/global.css | 83 +++++++++++++++++++----------------------- 4 files changed, 78 insertions(+), 63 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2227924..68dafbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,9 @@ "version": "0.0.1", "dependencies": { "@astrojs/starlight": "^0.37.6", + "@fontsource/ibm-plex-sans": "^5.2.8", + "@fontsource/iosevka": "^5.2.5", + "@fontsource/iosevka-aile": "^5.2.5", "astro": "^5.10.0" } }, @@ -707,6 +710,33 @@ "@expressive-code/core": "^0.41.7" } }, + "node_modules/@fontsource/ibm-plex-sans": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/ibm-plex-sans/-/ibm-plex-sans-5.2.8.tgz", + "integrity": "sha512-eztSXjDhPhcpxNIiGTgMebdLP9qS4rWkysuE1V7c+DjOR0qiezaiDaTwQE7bTnG5HxAY/8M43XKDvs3cYq6ZYQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/iosevka": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@fontsource/iosevka/-/iosevka-5.2.5.tgz", + "integrity": "sha512-Zv/UHJodDug1LcnWv2u2+GPp3oWP3U6Xp16cJOsqqZQNsCu8sA/ttT331N0NypxBZ+7c8szlSRlYDcy9liZ8pw==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/iosevka-aile": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@fontsource/iosevka-aile/-/iosevka-aile-5.2.5.tgz", + "integrity": "sha512-K9EwsSxfWPWjvrYM+NkgHaImpHgaVgC67l6uWf6W+4taeca6LKMJn/U11mQiRwLlecoI0PP2Q9o/8iIPaLOSgg==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@img/colour": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", diff --git a/package.json b/package.json index 2ac34c5..41965d8 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,9 @@ }, "dependencies": { "@astrojs/starlight": "^0.37.6", + "@fontsource/ibm-plex-sans": "^5.2.8", + "@fontsource/iosevka": "^5.2.5", + "@fontsource/iosevka-aile": "^5.2.5", "astro": "^5.10.0" } } diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index ea20778..63947dd 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -1,5 +1,6 @@ --- import '../styles/global.css'; +import iosevkaAile600Url from '@fontsource/iosevka-aile/files/iosevka-aile-latin-600-normal.woff2?url'; interface Props { title?: string; @@ -13,7 +14,7 @@ const navLinks = [ { label: "Status", href: "https://status.wezel.build" }, ]; -const themes = ["warm", "slate", "light"] as const; +const themes = ["dark", "light"] as const; --- @@ -23,24 +24,14 @@ const themes = ["warm", "slate", "light"] as const; - - - - - - - - - - - - + {title} @@ -56,7 +47,7 @@ const themes = ["warm", "slate", "light"] as const; {link.label} ))} GitHub @@ -66,9 +57,9 @@ const themes = ["warm", "slate", "light"] as const;