Skip to content

Commit 2c0a993

Browse files
committed
chore(head): Improve font/css/js loading strategy and download JetBrains Mono stylesheet.
1 parent 1cd7018 commit 2c0a993

File tree

2 files changed

+83
-3
lines changed

2 files changed

+83
-3
lines changed

build.gradle.kts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,21 @@ kobweb {
238238
meta(property = "twitter:image", content = image)
239239
meta(property = "twitter:site", content = twitterHandle)
240240

241-
link(href = "https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;700&display=swap", rel = "stylesheet")
242-
link(href = "https://dev-cats.github.io/code-snippets/JetBrainsMono.css", rel = "stylesheet")
241+
link(rel="preconnect", href="https://fonts.googleapis.com")
242+
link(href = "https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap", rel = "stylesheet")
243+
link(href = "/JetBrainsMono.css", rel = "preload", htmlAs = LinkAs.style) {
244+
attributes += "fetchpriority" to "high"
245+
onLoad = "this.rel='stylesheet'"
246+
}
243247

244-
link(href = "/prism.min.css", rel = "stylesheet")
248+
link(rel = "preload", href = "/prism.min.css", htmlAs = LinkAs.style) {
249+
attributes += "fetchpriority" to "low"
250+
onLoad = "this.rel='stylesheet'"
251+
}
245252
script(src = "/prism.min.js", type = "text/javascript") {
246253
attributes += "data-manual" to ""
254+
attributes += "fetchpriority" to "low"
255+
async = true
247256
}
248257

249258
script(src = "https://kit.fontawesome.com/74fed0e2b5.js", type = "text/javascript") {
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
@font-face {
2+
font-family: 'JetBrains Mono';
3+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-Bold-Italic.woff2') format('woff2'),
4+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-Bold-Italic.woff') format('woff');
5+
font-weight: 700;
6+
font-style: italic;
7+
font-display: swap;
8+
}
9+
10+
@font-face {
11+
font-family: 'JetBrains Mono';
12+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-Bold.woff2') format('woff2'),
13+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-Bold.woff') format('woff');
14+
font-weight: 700;
15+
font-style: normal;
16+
font-display: swap;
17+
}
18+
19+
@font-face {
20+
font-family: 'JetBrains Mono';
21+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-ExtraBold-Italic.woff2') format('woff2'),
22+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-ExtraBold-Italic.woff') format('woff');
23+
font-weight: 800;
24+
font-style: italic;
25+
font-display: swap;
26+
}
27+
28+
@font-face {
29+
font-family: 'JetBrains Mono';
30+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-ExtraBold.woff2') format('woff2'),
31+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-ExtraBold.woff') format('woff');
32+
font-weight: 800;
33+
font-style: normal;
34+
font-display: swap;
35+
}
36+
37+
@font-face {
38+
font-family: 'JetBrains Mono';
39+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-Italic.woff2') format('woff2'),
40+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-Italic.woff') format('woff');
41+
font-weight: 400;
42+
font-style: italic;
43+
font-display: swap;
44+
}
45+
46+
@font-face {
47+
font-family: 'JetBrains Mono';
48+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-Medium-Italic.woff2') format('woff2'),
49+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-Medium-Italic.woff') format('woff');
50+
font-weight: 500;
51+
font-style: italic;
52+
font-display: swap;
53+
}
54+
55+
@font-face {
56+
font-family: 'JetBrains Mono';
57+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-Medium.woff2') format('woff2'),
58+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-Medium.woff') format('woff');
59+
font-weight: 500;
60+
font-style: normal;
61+
font-display: swap;
62+
}
63+
64+
@font-face {
65+
font-family: 'JetBrains Mono';
66+
src: url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-Regular.woff2') format('woff2'),
67+
url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff/JetBrainsMono-Regular.woff') format('woff');
68+
font-weight: 400;
69+
font-style: normal;
70+
font-display: swap;
71+
}

0 commit comments

Comments
 (0)