-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
41 lines (39 loc) · 1.74 KB
/
Copy pathindex.html
File metadata and controls
41 lines (39 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script>
(() => {
try {
const d = document.documentElement;
const reduce = window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches ?? false;
d.dataset.hbMounted = reduce ? "1" : "0";
const theme = localStorage.getItem("hyperblog.theme");
if (theme === "dark" || theme === "light") d.dataset.theme = theme;
const accent = localStorage.getItem("hyperblog.accent");
if (accent) d.style.setProperty("--accent", accent);
} catch {
// ignore
}
})();
</script>
<title>Charles</title>
<meta name="description" content="Notes on software, tools, and things worth keeping." />
<meta property="og:title" content="Charles" />
<meta property="og:description" content="Notes on software, tools, and things worth keeping." />
<meta property="og:type" content="website" />
<meta property="og:image" content="/og.svg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Charles" />
<meta name="twitter:description" content="Notes on software, tools, and things worth keeping." />
<meta name="twitter:image" content="/og.svg" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="preload" as="fetch" href="/api/notes.json" crossorigin="anonymous" fetchpriority="low" />
<link rel="preload" as="fetch" href="/api/categories.json" crossorigin="anonymous" fetchpriority="low" />
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>