-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
54 lines (54 loc) · 2.37 KB
/
Copy pathindex.html
File metadata and controls
54 lines (54 loc) · 2.37 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
42
43
44
45
46
47
48
49
50
51
52
53
54
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<!-- Favicon 配置:使用 logo.svg -->
<link rel="icon" href="/assets/logo.svg" type="image/svg+xml" sizes="any" />
<link rel="alternate icon" href="/favicon.ico" sizes="any" />
<!-- Safari Pinned Tab(使用 SVG,需指定颜色) -->
<link rel="mask-icon" href="/assets/logo.svg" color="#1b59b8" />
<!-- 主题色(影响移动端地址栏颜色) -->
<meta name="theme-color" content="#f8f9fa" />
<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=Inter:wght@400;500;600;700&family=Source+Code+Pro:wght@400;500;600&display=swap" rel="stylesheet" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="KWDB Playground是一个本地离线交互式数据库学习平台,提供Shell和SQL双终端环境,支持容器化课程实践。" />
<meta name="keywords" content="KWDB,数据库,学习平台,SQL,Shell,容器化,交互式教学" />
<meta name="author" content="KWDB Team" />
<title>KWDB Playground - 交互式学习平台</title>
<script>
(function () {
try {
var key = 'theme';
var saved = localStorage.getItem(key);
var theme =
saved === 'light' || saved === 'dark'
? saved
: window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
? 'dark'
: 'light';
var root = document.documentElement;
root.classList.remove('light', 'dark');
root.classList.add(theme);
root.style.colorScheme = theme;
var meta = document.querySelector('meta[name="theme-color"]');
if (meta) meta.setAttribute('content', theme === 'dark' ? '#0B1315' : '#F8F9FA');
} catch (e) {}
})();
</script>
<script type="module">
if (import.meta.hot?.on) {
import.meta.hot.on('vite:error', (error) => {
if (error.err) {
console.error([error.err.message, error.err.frame].filter(Boolean).join('\n'));
}
});
}
</script>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>