feat(ui): self-host fonts, remove Google Fonts CDN
- Bundle Satoshi (sans) and JetBrains Mono in web/fonts/ - New fonts.css with @font-face declarations - Remove Google Fonts preconnect and stylesheet link - Update --sans token: Satoshi replaces Space Grotesk/Inter - Zero external font requests, works fully offline - Keep extra fonts (Geo, Mooli, StackSansNotch) for future use
This commit is contained in:
@@ -0,0 +1,67 @@
|
|||||||
|
/* ── Self-hosted fonts ─────────────────────────────── */
|
||||||
|
|
||||||
|
/* Satoshi — primary sans */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Satoshi';
|
||||||
|
src: url('/fonts/Satoshi-Light.woff2') format('woff2');
|
||||||
|
font-weight: 300;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Satoshi';
|
||||||
|
src: url('/fonts/Satoshi-Regular.woff2') format('woff2');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Satoshi';
|
||||||
|
src: url('/fonts/Satoshi-Medium.woff2') format('woff2');
|
||||||
|
font-weight: 500;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Satoshi';
|
||||||
|
src: url('/fonts/Satoshi-Bold.woff2') format('woff2');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* JetBrains Mono — mono */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'JetBrains Mono';
|
||||||
|
src: url('/fonts/JetBrainsMono-Light.woff2') format('woff2');
|
||||||
|
font-weight: 300;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'JetBrains Mono';
|
||||||
|
src: url('/fonts/JetBrainsMono-Regular.woff2') format('woff2');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'JetBrains Mono';
|
||||||
|
src: url('/fonts/JetBrainsMono-Medium.woff2') format('woff2');
|
||||||
|
font-weight: 500;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'JetBrains Mono';
|
||||||
|
src: url('/fonts/JetBrainsMono-Bold.woff2') format('woff2');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-3
@@ -4,9 +4,7 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>nib</title>
|
<title>nib</title>
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="stylesheet" href="/fonts.css">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link rel="stylesheet" href="/style.css">
|
<link rel="stylesheet" href="/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@
|
|||||||
--ok: #7aab72;
|
--ok: #7aab72;
|
||||||
--danger: #b85858;
|
--danger: #b85858;
|
||||||
--lineage: #9878bc;
|
--lineage: #9878bc;
|
||||||
--sans: 'Space Grotesk', system-ui, sans-serif;
|
--sans: 'Satoshi', system-ui, sans-serif;
|
||||||
--mono: 'JetBrains Mono', ui-monospace, monospace;
|
--mono: 'JetBrains Mono', ui-monospace, monospace;
|
||||||
--r1: 2px;
|
--r1: 2px;
|
||||||
--r2: 4px;
|
--r2: 4px;
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
--ok: #4ade80;
|
--ok: #4ade80;
|
||||||
--danger: #ef4444;
|
--danger: #ef4444;
|
||||||
--lineage: #a78bfa;
|
--lineage: #a78bfa;
|
||||||
--sans: 'Inter', system-ui, sans-serif;
|
--sans: 'Satoshi', system-ui, sans-serif;
|
||||||
--mono: 'JetBrains Mono', ui-monospace, monospace;
|
--mono: 'JetBrains Mono', ui-monospace, monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user