Skip to content

Commit 2ece0ab

Browse files
committed
docs: change version & updated banner.
1 parent c71d7a4 commit 2ece0ab

File tree

822 files changed

+854
-127929
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

822 files changed

+854
-127929
lines changed

assets/dark-theme.css

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ code {
4141
}
4242

4343
blockquote {
44+
border-radius: 5px;
4445
background-color: #333333;
45-
/* Darker background for blockquotes */
4646
border-left: 5px solid #ccc;
4747
padding: 10px;
4848
margin-left: 0;
@@ -91,6 +91,15 @@ hr {
9191
/* Color for dashed horizontal rule */
9292
}
9393

94+
.md-p {
95+
display: block;
96+
margin-block-start: 1em;
97+
margin-block-end: 1em;
98+
margin-inline-start: 0px;
99+
margin-inline-end: 0px;
100+
unicode-bidi: isolate;
101+
}
102+
94103
.hljs-ln {
95104
position: absolute;
96105
left: -16px;
@@ -162,7 +171,6 @@ hr {
162171
}
163172

164173
/* 鼠标悬停灰色 */
165-
166174
.col-md-4 a.d-inline-flex:hover,
167175
.col-md-4 a.d-inline-flex:focus {
168176
color: #e0e0e0;
@@ -195,7 +203,6 @@ hr {
195203
unicode-bidi: isolate;
196204
}
197205

198-
199206
/* 目录菜单悬浮 */
200207
.col-md-4 {
201208
position: -webkit-sticky;

assets/typikon.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ main {
1515
overflow-y: hidden;
1616
}
1717

18-
.dropdown-toggle { outline: 0; }
18+
.dropdown-toggle {
19+
outline: 0;
20+
}
1921

2022
.btn-toggle {
2123
padding: .25rem .5rem;
2224
font-weight: 600;
2325
color: var(--bs-emphasis-color);
2426
background-color: transparent;
2527
}
28+
2629
.btn-toggle:hover,
2730
.btn-toggle:focus {
2831
color: rgba(var(--bs-emphasis-color-rgb), .85);
@@ -44,6 +47,7 @@ main {
4447
.btn-toggle[aria-expanded="true"] {
4548
color: rgba(var(--bs-emphasis-color-rgb), .85);
4649
}
50+
4751
.btn-toggle[aria-expanded="true"]::before {
4852
transform: rotate(90deg);
4953
}
@@ -53,6 +57,7 @@ main {
5357
margin-top: .125rem;
5458
margin-left: 1.25rem;
5559
}
60+
5661
.btn-toggle-nav a:hover,
5762
.btn-toggle-nav a:focus {
5863
background-color: var(--bs-tertiary-bg);

chinese/index.html

Lines changed: 92 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
<head>
55
<meta charset="UTF-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7-
87
<title>Typikon Book</title>
98
<meta name="description" content="Typikon name derived from Typikon Book, the a static website rendering tool similar to mdbook and hugo, but it focuses only on rendering markdown into an online book, and is easier to use than the other tools.
10-
" />
11-
<meta name="keywords" content="typikon,book,website,generator,static,html,css,js,theme,rust" />
12-
<meta name="generator" content="typikon" />
13-
<meta name="template" content="typikon-theme" />
9+
">
10+
<meta name="keywords" content="typikon,book,website,generator,static,html,css,js,theme,rust">
11+
<meta name="generator" content="typikon">
12+
<meta name="template" content="typikon-theme">
1413

1514

1615
<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
@@ -23,7 +22,6 @@
2322
<link rel="stylesheet" href="/assets/dark-theme.css" id="dark-theme" disabled>
2423

2524
<link rel="icon" href="/assets/icon.png" type="image/png">
26-
2725
</head>
2826

2927
<body>
@@ -35,7 +33,19 @@
3533
class="d-flex align-items-center justify-content-center pb-3 mb-3 link-body-emphasis text-decoration-none border-bottom">
3634
<span class="fs-4 fw-semibold">Typikon Book</span>
3735
</a>
38-
<ul class="list-unstyled ps-0">
36+
<div class="input-group mb-3 pb-3 border-bottom">
37+
<span class="input-group-text" id="basic-addon1">
38+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
39+
class="bi bi-search" viewBox="0 0 16 16">
40+
<path
41+
d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0">
42+
</path>
43+
</svg>
44+
</span>
45+
<input type="text" class="form-control" id="search-text" placeholder="Full text search..."
46+
aria-describedby="basic-addon1">
47+
</div>
48+
<ul class="list-unstyled ps-0" id="chapterList">
3949

4050
<li class="mb-1">
4151
<a class="btn d-inline-flex align-items-center rounded border-0"
@@ -123,7 +133,7 @@ <h2>Typikon</h2>
123133
</div>
124134
<hr />
125135
<h3>介 绍</h3>
126-
<p><img src="https://img.ibyte.me/w3uchi.png" alt="Typikon Image"
136+
<p><img src="https://img.leonding.me/w3uchi.png" alt="Typikon Image"
127137
style="float: left; margin: 0px 20px 10px 10px;height: 100px;" /></p>
128138
<p>Typikon 的名字源自 <a href="https://en.wikipedia.org/wiki/Typikon">Typikon</a> 书籍,它是一个类似于 mdbook 和 gitbook 的静态网站渲染工具,但它专注于将 Markdown 渲染成在线书籍,比其他工具更易于使用。</p>
129139
<hr />
@@ -145,102 +155,130 @@ <h3>特 点</h3>
145155
</div>
146156

147157
<script src="/assets/highlight/highlight.min.js"></script>
148-
<script src="/assets/highlight/languages/shell.min.js"></script>
149-
<script src="/assets/highlight/languages/sql.min.js"></script>
158+
159+
160+
<script src="/assets/highlight/languages/c.min.js"></script>
161+
150162
<script src="/assets/highlight/languages/java.min.js"></script>
163+
151164
<script src="/assets/highlight/languages/rust.min.js"></script>
152-
<script src="/assets/highlight/languages/javascript.min.js"></script>
153-
<script src="/assets/highlight/languages/c.min.js"></script>
165+
154166
<script src="/assets/highlight/languages/cpp.min.js"></script>
167+
155168
<script src="/assets/highlight/languages/kotlin.min.js"></script>
156-
<script src="/assets/highlight/languages/rust.min.js"></script>
169+
157170
<script src="/assets/highlight/languages/python.min.js"></script>
171+
158172
<script src="/assets/highlight/languages/csharp.min.js"></script>
173+
159174
<script src="/assets/highlight/languages/css.min.js"></script>
175+
160176
<script src="/assets/highlight/languages/swift.min.js"></script>
161-
<script src="/assets/highlight/languages/xml.min.js"></script>
162-
<script src="/assets/highlight/languages/yaml.min.js"></script>
163-
<script src="/assets/highlight/languages/ruby.min.js"></script>
164-
<script src="/assets/highlight/languages/php.min.js"></script>
165-
<script src="/assets/highlight/languages/go.min.js"></script>
166-
<script src="/assets/highlight/languages/dart.min.js"></script>
177+
167178
<script src="/assets/highlight/languages/bash.min.js"></script>
168-
<script src="/assets/highlight/languages/dockerfile.min.js"></script>
179+
180+
<script src="/assets/highlight/languages/javascript.min.js"></script>
181+
169182

170183

171184
<script src="/assets/js/bootstrap.min.js"></script>
172185

173186
<script src="/assets/js/bootstrap.bundle.js"></script>
174187

188+
<script src="/assets/js/fuse.min.js"></script>
189+
175190

176191
<script>
177-
document.addEventListener('DOMContentLoaded', (event) => {
192+
document.addEventListener('DOMContentLoaded', function () {
193+
initTheme();
194+
initializeSearch();
195+
});
178196

197+
function initTheme() {
179198
const darkThemeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
180199
const lightThemeLink = document.getElementById('light-theme');
181200
const darkThemeLink = document.getElementById('dark-theme');
182201

183-
changeTheme = (mediaQuery) => {
202+
const changeTheme = (mediaQuery) => {
184203
if (mediaQuery.matches) {
185-
// Dark mode
186204
lightThemeLink.setAttribute('disabled', true);
187205
darkThemeLink.removeAttribute('disabled');
188206
} else {
189-
// Light mode
190207
darkThemeLink.setAttribute('disabled', true);
191208
lightThemeLink.removeAttribute('disabled');
192209
}
193210
};
194211

195-
// Initial check
196212
changeTheme(darkThemeMediaQuery);
197-
198-
// Listen for changes in OS theme
199213
darkThemeMediaQuery.addListener(changeTheme);
200214

201-
202-
// 初始化 highlight.js
203215
document.querySelectorAll('pre code').forEach((block) => {
204216
hljs.highlightElement(block);
205217
});
206218

207-
// 添加自定义 md-p 样式
208219
var markdownContent = document.getElementById('markdown-content');
209220
if (markdownContent) {
210221
var paragraphs = markdownContent.querySelectorAll('p');
211-
paragraphs.forEach(function (paragraph) {
222+
paragraphs.forEach((paragraph) => {
212223
paragraph.classList.add('md-p');
213224
});
214225
}
226+
}
215227

216-
});
228+
function initializeSearch() {
229+
fetch('/data.json')
230+
.then(response => response.json())
231+
.then(data => {
232+
const options = {
233+
keys: ['title', "content"],
234+
includeScore: true,
235+
tokenize: true,
236+
threshold: 0.3,
237+
tokenSeparator: /[,||]/
238+
};
217239

218-
// 监听系统主题切换操作
219-
window.onload = () => {
220-
const darkThemeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
221-
const lightThemeLink = document.getElementById('light-theme');
222-
const darkThemeLink = document.getElementById('dark-theme');
240+
const fuse = new Fuse(data, options);
241+
const chapterList = document.getElementById('chapterList');
242+
// 复制一份复原使用
243+
let innerHTML = chapterList.innerHTML;
244+
function performSearch() {
245+
const query = document.getElementById('search-text').value.trim();
246+
const results = fuse.search(query);
223247

224-
changeTheme = (mediaQuery) => {
225-
if (mediaQuery.matches) {
226-
// Dark mode
227-
lightThemeLink.setAttribute('disabled', true);
228-
darkThemeLink.removeAttribute('disabled');
229-
} else {
230-
// Light mode
231-
darkThemeLink.setAttribute('disabled', true);
232-
lightThemeLink.removeAttribute('disabled');
233-
}
234-
};
248+
// 设置显示菜单和搜索结果,如果没有搜索结果就显示菜单,有则反之
249+
chapterList.innerHTML = results.length <= 0 ? chapterList.innerHTML = innerHTML : '';
235250

236-
// Initial check
237-
changeTheme(darkThemeMediaQuery);
251+
// 遍历搜索结果并生成对应的 HTML
252+
results.forEach(result => {
253+
const sub_chapter = result.item; // 假设每个搜索结果是 sub_chapter 对象
238254

239-
// Listen for changes in OS theme
240-
darkThemeMediaQuery.addListener(changeTheme);
241-
};
242-
</script>
255+
// 构建章节和子章节的列表项 HTML
256+
const listItem = `
257+
<li class="mb-1">
258+
<div class="collapse show" id="collapse1">
259+
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small">
260+
<li>
261+
<a href="${sub_chapter.url}"
262+
class="link-body-emphasis d-inline-flex text-decoration-none rounded">
263+
${sub_chapter.title}
264+
</a>
265+
</li>
266+
</ul>
267+
</div>
268+
</li>
269+
`;
243270

271+
// 将拼接好的章节列表项添加到章节列表容器
272+
chapterList.innerHTML += listItem;
273+
});
274+
}
275+
276+
const searchInput = document.getElementById('search-text');
277+
searchInput.addEventListener('input', performSearch);
278+
})
279+
.catch(error => console.error('Error fetching data:', error));
280+
}
281+
</script>
244282
</body>
245283

246284
</html>

0 commit comments

Comments
 (0)