commit d206a13dbbf7342428cefad151df39d4847cbf3a
parent a611a5d3411b89d26ba3192da0591c010d0a784a
Author: Brian Graham <brian@buildingbetterteams.de>
Date: Tue, 7 Apr 2026 17:42:08 +0200
Self-host JetBrains Mono fonts, remove Google Fonts CDN
Downloaded woff2 files (latin + latin-ext) to public/fonts/.
Replaced @import and <link> tags with local @font-face + preload.
Zero external CDN references remaining.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat:
4 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/dashboard/public/fonts/jetbrains-mono-latin-ext.woff2 b/dashboard/public/fonts/jetbrains-mono-latin-ext.woff2
Binary files differ.
diff --git a/dashboard/public/fonts/jetbrains-mono-latin.woff2 b/dashboard/public/fonts/jetbrains-mono-latin.woff2
Binary files differ.
diff --git a/dashboard/src/layouts/Base.astro b/dashboard/src/layouts/Base.astro
@@ -21,9 +21,8 @@ try {
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <link rel="preconnect" href="https://fonts.googleapis.com" />
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
- <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap" rel="stylesheet" />
+ <link rel="preload" href="/fonts/jetbrains-mono-latin.woff2" as="font" type="font/woff2" crossorigin />
+ <link rel="preload" href="/fonts/jetbrains-mono-latin-ext.woff2" as="font" type="font/woff2" crossorigin />
<title>{title} | Loop Benchmarking</title>
<script is:inline>
(function() {
diff --git a/dashboard/src/styles/global.css b/dashboard/src/styles/global.css
@@ -5,7 +5,25 @@
Modes: dark (default), light (Snow Storm)
============================================================ */
-@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap");
+/* Self-hosted JetBrains Mono (variable weight, woff2) */
+/* latin-ext */
+@font-face {
+ font-family: 'JetBrains Mono';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url('/fonts/jetbrains-mono-latin-ext.woff2') format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'JetBrains Mono';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url('/fonts/jetbrains-mono-latin.woff2') format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
/* ============================================================
Dark mode (default)