jekyll-theme-chirpy 5.6.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_data/locales/ar.yml +5 -7
- data/_data/locales/bg-BG.yml +1 -3
- data/_data/locales/cs-CZ.yml +5 -7
- data/_data/locales/de-DE.yml +1 -3
- data/_data/locales/el-GR.yml +6 -8
- data/_data/locales/en.yml +5 -7
- data/_data/locales/es-ES.yml +2 -4
- data/_data/locales/fi-FI.yml +5 -7
- data/_data/locales/fr-FR.yml +0 -2
- data/_data/locales/hu-HU.yml +4 -6
- data/_data/locales/id-ID.yml +1 -3
- data/_data/locales/it-IT.yml +5 -8
- data/_data/locales/ko-KR.yml +3 -5
- data/_data/locales/my-MM.yml +1 -3
- data/_data/locales/pt-BR.yml +1 -3
- data/_data/locales/ru-RU.yml +1 -3
- data/_data/locales/sl-SI.yml +91 -0
- data/_data/locales/sv-SE.yml +91 -0
- data/_data/locales/tr-TR.yml +1 -3
- data/_data/locales/uk-UA.yml +1 -3
- data/_data/locales/vi-VN.yml +2 -3
- data/_data/locales/zh-CN.yml +3 -5
- data/_data/locales/zh-TW.yml +83 -0
- data/_data/{assets/cross_origin.yml → origin/cors.yml} +12 -12
- data/_includes/comments/giscus.html +39 -31
- data/_includes/datetime.html +10 -6
- data/_includes/footer.html +24 -26
- data/_includes/head.html +9 -9
- data/_includes/js-selector.html +44 -27
- data/_includes/jsdelivr-combine.html +0 -6
- data/_includes/lang.html +8 -0
- data/_includes/mermaid.html +28 -29
- data/_includes/metadata-hook.html +1 -0
- data/_includes/mode-toggle.html +44 -21
- data/_includes/{assets-origin.html → origin-type.html} +5 -4
- data/_includes/post-nav.html +27 -20
- data/_includes/post-paginator.html +13 -12
- data/_includes/post-sharing.html +21 -13
- data/_includes/read-time.html +17 -10
- data/_includes/refactor-content.html +31 -27
- data/_includes/related-posts.html +35 -34
- data/_includes/search-loader.html +23 -24
- data/_includes/search-results.html +3 -4
- data/_includes/sidebar.html +50 -52
- data/_includes/toc.html +2 -5
- data/_includes/topbar.html +47 -47
- data/_includes/trending-tags.html +13 -17
- data/_includes/update-list.html +13 -14
- data/_layouts/archives.html +5 -3
- data/_layouts/categories.html +97 -77
- data/_layouts/category.html +10 -8
- data/_layouts/default.html +34 -29
- data/_layouts/home.html +35 -18
- data/_layouts/page.html +38 -33
- data/_layouts/post.html +17 -15
- data/_layouts/tag.html +10 -8
- data/_layouts/tags.html +4 -5
- data/_sass/addon/commons.scss +260 -439
- data/_sass/addon/module.scss +18 -8
- data/_sass/addon/syntax.scss +42 -41
- data/_sass/addon/variables.scss +8 -11
- data/_sass/colors/dark-syntax.scss +1 -0
- data/_sass/colors/dark-typography.scss +16 -24
- data/_sass/colors/light-syntax.scss +3 -3
- data/_sass/colors/light-typography.scss +16 -15
- data/_sass/jekyll-theme-chirpy.scss +14 -19
- data/_sass/layout/categories.scss +20 -4
- data/_sass/layout/home.scss +111 -94
- data/_sass/layout/post.scss +35 -32
- data/assets/404.html +3 -1
- data/assets/css/style.scss +1 -7
- data/assets/feed.xml +1 -1
- data/assets/js/dist/categories.min.js +2 -2
- data/assets/js/dist/commons.min.js +2 -2
- data/assets/js/dist/home.min.js +6 -0
- data/assets/js/dist/misc.min.js +2 -2
- data/assets/js/dist/page.min.js +2 -2
- data/assets/js/dist/post.min.js +2 -2
- metadata +11 -5
- /data/_data/{assets/self_host.yml → origin/basic.yml} +0 -0
data/_data/locales/zh-CN.yml
CHANGED
@@ -39,7 +39,7 @@ copyright:
|
|
39
39
|
verbose: >-
|
40
40
|
除非另有说明,本网站上的博客文章均由作者按照知识共享署名 4.0 国际 (CC BY 4.0) 许可协议进行授权。
|
41
41
|
|
42
|
-
meta:
|
42
|
+
meta: 本站采用 :PLATFORM 主题 :THEME
|
43
43
|
|
44
44
|
not_found:
|
45
45
|
statment: 抱歉,我们放错了该 URL,或者它指向了不存在的内容。
|
@@ -69,15 +69,13 @@ post:
|
|
69
69
|
share_link:
|
70
70
|
title: 分享链接
|
71
71
|
succeed: 链接已复制!
|
72
|
-
# pinned prompt of posts list on homepage
|
73
|
-
pin_prompt: 顶置
|
74
72
|
|
75
73
|
# Date time format.
|
76
74
|
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
77
75
|
df:
|
78
76
|
post:
|
79
|
-
strftime:
|
80
|
-
dayjs:
|
77
|
+
strftime: "%Y/%m/%d"
|
78
|
+
dayjs: "YYYY/MM/DD"
|
81
79
|
|
82
80
|
# categories page
|
83
81
|
categories:
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# The layout text of site
|
2
|
+
|
3
|
+
# ----- Commons label -----
|
4
|
+
|
5
|
+
layout:
|
6
|
+
post: 文章
|
7
|
+
category: 分類
|
8
|
+
tag: 標籤
|
9
|
+
|
10
|
+
# The tabs of sidebar
|
11
|
+
tabs:
|
12
|
+
# format: <filename_without_extension>: <value>
|
13
|
+
home: 首頁
|
14
|
+
categories: 分類
|
15
|
+
tags: 標籤
|
16
|
+
archives: 封存
|
17
|
+
about: 關於
|
18
|
+
|
19
|
+
# the text displayed in the search bar & search results
|
20
|
+
search:
|
21
|
+
hint: 搜尋
|
22
|
+
cancel: 取消
|
23
|
+
no_results: 沒有搜尋結果
|
24
|
+
|
25
|
+
panel:
|
26
|
+
lastmod: 最近更新
|
27
|
+
trending_tags: 熱門標籤
|
28
|
+
toc: 文章摘要
|
29
|
+
|
30
|
+
copyright:
|
31
|
+
# Shown at the bottom of the post
|
32
|
+
license:
|
33
|
+
template: 本文章以 :LICENSE_NAME 授權
|
34
|
+
name: CC BY 4.0
|
35
|
+
link: https://creativecommons.org/licenses/by/4.0/
|
36
|
+
|
37
|
+
# Displayed in the footer
|
38
|
+
brief: 保留部份權利。
|
39
|
+
verbose: >-
|
40
|
+
除非另有說明,否則本網誌的文章均由作者按照姓名標示 4.0 國際 (CC BY 4.0) 授權條款進行授權。
|
41
|
+
|
42
|
+
meta: 本網站使用 :PLATFORM 產生,採用 :THEME 主題
|
43
|
+
|
44
|
+
not_found:
|
45
|
+
statment: 抱歉,您可能正在存取一個已被移動的 URL,或者它從未存在。
|
46
|
+
|
47
|
+
notification:
|
48
|
+
update_found: 發現新版本更新。
|
49
|
+
update: 更新
|
50
|
+
|
51
|
+
# ----- Posts related labels -----
|
52
|
+
|
53
|
+
post:
|
54
|
+
written_by: 作者
|
55
|
+
posted: 發布於
|
56
|
+
updated: 更新於
|
57
|
+
words: 字
|
58
|
+
pageview_measure: 次瀏覽
|
59
|
+
read_time:
|
60
|
+
unit: 分鐘
|
61
|
+
prompt: 閱讀
|
62
|
+
relate_posts: 相關文章
|
63
|
+
share: 分享
|
64
|
+
button:
|
65
|
+
next: 下一篇
|
66
|
+
previous: 上一篇
|
67
|
+
copy_code:
|
68
|
+
succeed: 已複製!
|
69
|
+
share_link:
|
70
|
+
title: 分享連結
|
71
|
+
succeed: 已複製連結!
|
72
|
+
|
73
|
+
# Date time format.
|
74
|
+
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
75
|
+
df:
|
76
|
+
post:
|
77
|
+
strftime: "%Y/%m/%d"
|
78
|
+
dayjs: "YYYY/MM/DD"
|
79
|
+
|
80
|
+
# categories page
|
81
|
+
categories:
|
82
|
+
category_measure: 個分類
|
83
|
+
post_measure: 篇文章
|
@@ -11,36 +11,36 @@ cdns:
|
|
11
11
|
|
12
12
|
# fonts
|
13
13
|
|
14
|
-
webfonts: https://fonts.googleapis.com/css2?family=Lato&family=Source+Sans+Pro:wght@400;600;
|
14
|
+
webfonts: https://fonts.googleapis.com/css2?family=Lato&family=Source+Sans+Pro:wght@400;600;900&display=swap
|
15
15
|
|
16
16
|
# Libraries
|
17
17
|
|
18
18
|
jquery:
|
19
|
-
js: https://cdn.jsdelivr.net/npm/jquery@3.
|
19
|
+
js: https://cdn.jsdelivr.net/npm/jquery@3.7.0/dist/jquery.min.js
|
20
20
|
|
21
21
|
bootstrap:
|
22
|
-
css: https://cdn.jsdelivr.net/npm/bootstrap@
|
23
|
-
js: https://cdn.jsdelivr.net/npm/bootstrap@
|
22
|
+
css: https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css
|
23
|
+
js: https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js
|
24
24
|
|
25
25
|
toc:
|
26
|
-
css: https://cdn.jsdelivr.net/npm/tocbot@4.
|
27
|
-
js: https://cdn.jsdelivr.net/npm/tocbot@4.
|
26
|
+
css: https://cdn.jsdelivr.net/npm/tocbot@4.21.0/dist/tocbot.min.css
|
27
|
+
js: https://cdn.jsdelivr.net/npm/tocbot@4.21.0/dist/tocbot.min.js
|
28
28
|
|
29
29
|
fontawesome:
|
30
|
-
css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.
|
30
|
+
css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/css/all.min.css
|
31
31
|
|
32
32
|
search:
|
33
33
|
js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js
|
34
34
|
|
35
35
|
mermaid:
|
36
|
-
js: https://cdn.jsdelivr.net/npm/mermaid@9.
|
36
|
+
js: https://cdn.jsdelivr.net/npm/mermaid@9.4.3/dist/mermaid.min.js
|
37
37
|
|
38
38
|
dayjs:
|
39
39
|
js:
|
40
|
-
common: https://cdn.jsdelivr.net/npm/dayjs@1.11.
|
41
|
-
locale: https://cdn.jsdelivr.net/npm/dayjs@1.11.
|
42
|
-
relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1.11.
|
43
|
-
localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1.11.
|
40
|
+
common: https://cdn.jsdelivr.net/npm/dayjs@1.11.7/dayjs.min.js
|
41
|
+
locale: https://cdn.jsdelivr.net/npm/dayjs@1.11.7/locale/:LOCALE.min.js
|
42
|
+
relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1.11.7/plugin/relativeTime.min.js
|
43
|
+
localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1.11.7/plugin/localizedFormat.min.js
|
44
44
|
|
45
45
|
countup:
|
46
46
|
js: https://cdn.jsdelivr.net/npm/countup.js@1.9.3/dist/countUp.min.js
|
@@ -1,44 +1,54 @@
|
|
1
1
|
<!-- https://giscus.app/ -->
|
2
2
|
<script type="text/javascript">
|
3
|
-
|
4
|
-
const origin =
|
5
|
-
const iframe =
|
6
|
-
const lightTheme =
|
7
|
-
const darkTheme =
|
3
|
+
(function () {
|
4
|
+
const origin = 'https://giscus.app';
|
5
|
+
const iframe = 'iframe.giscus-frame';
|
6
|
+
const lightTheme = 'light';
|
7
|
+
const darkTheme = 'dark_dimmed';
|
8
|
+
|
8
9
|
let initTheme = lightTheme;
|
10
|
+
const html = document.documentElement;
|
9
11
|
|
10
|
-
if (
|
11
|
-
|
12
|
-
|
12
|
+
if (
|
13
|
+
(html.hasAttribute('data-mode') &&
|
14
|
+
html.getAttribute('data-mode') === 'dark') ||
|
15
|
+
(!html.hasAttribute('data-mode') &&
|
16
|
+
window.matchMedia('(prefers-color-scheme: dark)').matches)
|
17
|
+
) {
|
13
18
|
initTheme = darkTheme;
|
14
19
|
}
|
15
20
|
|
16
21
|
let giscusAttributes = {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
src: 'https://giscus.app/client.js',
|
23
|
+
'data-repo': '{{ site.comments.giscus.repo}}',
|
24
|
+
'data-repo-id': '{{ site.comments.giscus.repo_id }}',
|
25
|
+
'data-category': '{{ site.comments.giscus.category }}',
|
26
|
+
'data-category-id': '{{ site.comments.giscus.category_id }}',
|
27
|
+
'data-mapping': '{{ site.comments.giscus.mapping | default: 'pathname' }}',
|
28
|
+
'data-reactions-enabled': '{{ site.comments.giscus.reactions_enabled | default: '1' }}',
|
29
|
+
'data-emit-metadata': '0',
|
30
|
+
'data-theme': initTheme,
|
31
|
+
'data-input-position': '{{ site.comments.giscus.input_position | default: 'bottom' }}',
|
32
|
+
'data-lang': '{{ site.comments.giscus.lang | default: lang }}',
|
33
|
+
crossorigin: 'anonymous',
|
34
|
+
async: ''
|
30
35
|
};
|
31
36
|
|
32
|
-
let giscusScript = document.createElement(
|
33
|
-
Object.entries(giscusAttributes).forEach(([key, value]) =>
|
34
|
-
|
37
|
+
let giscusScript = document.createElement('script');
|
38
|
+
Object.entries(giscusAttributes).forEach(([key, value]) =>
|
39
|
+
giscusScript.setAttribute(key, value)
|
40
|
+
);
|
41
|
+
document.getElementById('tail-wrapper').appendChild(giscusScript);
|
35
42
|
|
36
|
-
addEventListener(
|
37
|
-
if (
|
38
|
-
|
43
|
+
addEventListener('message', (event) => {
|
44
|
+
if (
|
45
|
+
event.source === window &&
|
46
|
+
event.data &&
|
47
|
+
event.data.direction === ModeToggle.ID
|
48
|
+
) {
|
39
49
|
/* global theme mode changed */
|
40
50
|
const mode = event.data.message;
|
41
|
-
const theme =
|
51
|
+
const theme = mode === ModeToggle.DARK_MODE ? darkTheme : lightTheme;
|
42
52
|
|
43
53
|
const message = {
|
44
54
|
setConfig: {
|
@@ -49,8 +59,6 @@
|
|
49
59
|
const giscus = document.querySelector(iframe).contentWindow;
|
50
60
|
giscus.postMessage({ giscus: message }, origin);
|
51
61
|
}
|
52
|
-
|
53
62
|
});
|
54
|
-
|
55
|
-
});
|
63
|
+
})();
|
56
64
|
</script>
|
data/_includes/datetime.html
CHANGED
@@ -4,12 +4,16 @@
|
|
4
4
|
-->
|
5
5
|
|
6
6
|
{% assign wrap_elem = include.wrap | default: 'em' %}
|
7
|
-
{% assign df_strftime = site.data.locales[
|
8
|
-
{% assign df_dayjs = site.data.locales[
|
7
|
+
{% assign df_strftime = site.data.locales[include.lang].df.post.strftime | default: '%d/%m/%Y' %}
|
8
|
+
{% assign df_dayjs = site.data.locales[include.lang].df.post.dayjs | default: 'DD/MM/YYYY' %}
|
9
9
|
|
10
|
-
<{{ wrap_elem }}
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
<{{ wrap_elem }}
|
11
|
+
class="{% if include.class %}{{ include.class }}{% endif %}"
|
12
|
+
data-ts="{{ include.date | date: '%s' }}"
|
13
|
+
data-df="{{ df_dayjs }}"
|
14
|
+
{% if include.tooltip %}
|
15
|
+
data-bs-toggle="tooltip" data-bs-placement="bottom"
|
16
|
+
{% endif %}
|
17
|
+
>
|
14
18
|
{{ include.date | date: df_strftime }}
|
15
19
|
</{{ wrap_elem }}>
|
data/_includes/footer.html
CHANGED
@@ -1,36 +1,34 @@
|
|
1
1
|
<!-- The Footer -->
|
2
2
|
|
3
3
|
<footer>
|
4
|
-
<div class="container
|
5
|
-
<div class="d-flex justify-content-
|
6
|
-
<
|
7
|
-
|
8
|
-
© {{ 'now' | date: "%Y" }}
|
9
|
-
<a href="{{ site.social.links[0] }}">{{ site.social.name }}</a>.
|
10
|
-
{% if site.data.locales[site.lang].copyright.brief %}
|
11
|
-
<span data-toggle="tooltip" data-placement="top"
|
12
|
-
title="{{ site.data.locales[site.lang].copyright.verbose }}">{{ site.data.locales[site.lang].copyright.brief }}</span>
|
13
|
-
{% endif %}
|
14
|
-
</p>
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<div class="footer-right">
|
18
|
-
<p class="mb-0">
|
19
|
-
|
20
|
-
{%- capture _platform -%}
|
4
|
+
<div class="container px-lg-4">
|
5
|
+
<div class="d-flex justify-content-center align-items-center text-muted mx-md-3">
|
6
|
+
<p>
|
7
|
+
{%- capture _platform -%}
|
21
8
|
<a href="https://jekyllrb.com" target="_blank" rel="noopener">Jekyll</a>
|
22
|
-
|
9
|
+
{%- endcapture -%}
|
23
10
|
|
24
|
-
|
11
|
+
{%- capture _theme -%}
|
25
12
|
<a href="https://github.com/cotes2020/jekyll-theme-chirpy" target="_blank" rel="noopener">Chirpy</a>
|
26
|
-
|
13
|
+
{%- endcapture -%}
|
14
|
+
|
15
|
+
{{ site.data.locales[include.lang].meta | replace: ':PLATFORM', _platform | replace: ':THEME', _theme }}
|
16
|
+
</p>
|
27
17
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
18
|
+
<p>
|
19
|
+
{{- '©' }}
|
20
|
+
{{ 'now' | date: '%Y' }}
|
21
|
+
<a href="{{ site.social.links[0] }}">{{ site.social.name }}</a>.
|
22
|
+
{% if site.data.locales[include.lang].copyright.brief %}
|
23
|
+
<span
|
24
|
+
data-bs-toggle="tooltip"
|
25
|
+
data-bs-placement="top"
|
26
|
+
title="{{ site.data.locales[include.lang].copyright.verbose }}"
|
27
|
+
>
|
28
|
+
{{- site.data.locales[include.lang].copyright.brief -}}
|
29
|
+
</span>
|
30
|
+
{% endif %}
|
31
|
+
</p>
|
34
32
|
</div>
|
35
33
|
</div>
|
36
34
|
</footer>
|
data/_includes/head.html
CHANGED
@@ -58,15 +58,15 @@
|
|
58
58
|
{% include favicons.html %}
|
59
59
|
|
60
60
|
{% if site.resources.ignore_env != jekyll.environment and site.resources.self_hosted %}
|
61
|
-
<link href="{{ site.data.
|
61
|
+
<link href="{{ site.data.origin[type].webfonts | relative_url }}" rel="stylesheet">
|
62
62
|
|
63
63
|
{% else %}
|
64
|
-
{% for cdn in site.data.
|
64
|
+
{% for cdn in site.data.origin[type].cdns %}
|
65
65
|
<link rel="preconnect" href="{{ cdn.url }}" {{ cdn.args }}>
|
66
66
|
<link rel="dns-prefetch" href="{{ cdn.url }}" {{ cdn.args }}>
|
67
67
|
{% endfor %}
|
68
68
|
|
69
|
-
<link rel="stylesheet" href="{{ site.data.
|
69
|
+
<link rel="stylesheet" href="{{ site.data.origin[type].webfonts | relative_url }}">
|
70
70
|
{% endif %}
|
71
71
|
|
72
72
|
<!-- GA -->
|
@@ -90,27 +90,27 @@
|
|
90
90
|
{% endif %}
|
91
91
|
|
92
92
|
<!-- Bootstrap -->
|
93
|
-
<link rel="stylesheet" href="{{ site.data.
|
93
|
+
<link rel="stylesheet" href="{{ site.data.origin[type].bootstrap.css | relative_url}}">
|
94
94
|
|
95
95
|
<!-- Font Awesome -->
|
96
|
-
<link rel="stylesheet" href="{{ site.data.
|
96
|
+
<link rel="stylesheet" href="{{ site.data.origin[type].fontawesome.css | relative_url }}">
|
97
97
|
|
98
98
|
<link rel="stylesheet" href="{{ '/assets/css/style.css' | relative_url }}">
|
99
99
|
|
100
100
|
{% if site.toc and page.toc %}
|
101
|
-
<link rel="stylesheet" href="{{ site.data.
|
101
|
+
<link rel="stylesheet" href="{{ site.data.origin[type].toc.css | relative_url }}">
|
102
102
|
{% endif %}
|
103
103
|
|
104
104
|
{% if page.layout == 'page' or page.layout == 'post' %}
|
105
105
|
<!-- Manific Popup -->
|
106
|
-
<link rel="stylesheet" href="{{ site.data.
|
106
|
+
<link rel="stylesheet" href="{{ site.data.origin[type].magnific-popup.css | relative_url }}">
|
107
107
|
{% endif %}
|
108
108
|
|
109
109
|
<!-- JavaScript -->
|
110
110
|
|
111
|
-
<script src="{{ site.data.assets[origin].jquery.js | relative_url }}"></script>
|
112
|
-
|
113
111
|
{% unless site.theme_mode %}
|
114
112
|
{% include mode-toggle.html %}
|
115
113
|
{% endunless %}
|
114
|
+
|
115
|
+
{% include metadata-hook.html %}
|
116
116
|
</head>
|
data/_includes/js-selector.html
CHANGED
@@ -1,24 +1,35 @@
|
|
1
1
|
<!-- JS selector for site. -->
|
2
2
|
|
3
|
+
<!-- commons -->
|
4
|
+
|
5
|
+
{% assign urls = site.data.origin[type].jquery.js
|
6
|
+
| append: ','
|
7
|
+
| append: site.data.origin[type].bootstrap.js
|
8
|
+
| append: ','
|
9
|
+
| append: site.data.origin[type].search.js
|
10
|
+
%}
|
11
|
+
|
3
12
|
<!-- layout specified -->
|
4
13
|
|
5
14
|
{% if page.layout == 'post' %}
|
6
15
|
{% if site.google_analytics.pv.proxy_endpoint or site.google_analytics.pv.cache_path %}
|
7
16
|
<!-- pv-report needs countup.js -->
|
8
|
-
|
17
|
+
{% assign urls = urls | append: ',' | append: site.data.origin[type].countup.js %}
|
9
18
|
{% endif %}
|
10
19
|
{% endif %}
|
11
20
|
|
12
|
-
{% if page.layout == 'post' or page.layout == 'page' %}
|
13
|
-
|
14
|
-
{% assign _urls = site.data.assets[origin]['magnific-popup'].js
|
15
|
-
| append: ','
|
16
|
-
| append: site.data.assets[origin].lazysizes.js
|
17
|
-
| append: ','
|
18
|
-
| append: site.data.assets[origin].clipboard.js
|
19
|
-
%}
|
21
|
+
{% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %}
|
22
|
+
{% assign urls = urls | append: ',' | append: site.data.origin[type].lazysizes.js %}
|
20
23
|
|
21
|
-
{%
|
24
|
+
{% unless page.layout == 'home' %}
|
25
|
+
<!-- image lazy-loading & popup & clipboard -->
|
26
|
+
{% assign urls = urls
|
27
|
+
| append: ','
|
28
|
+
| append: site.data.origin[type]['magnific-popup'].js
|
29
|
+
| append: ','
|
30
|
+
| append: site.data.origin[type].clipboard.js
|
31
|
+
%}
|
32
|
+
{% endunless %}
|
22
33
|
{% endif %}
|
23
34
|
|
24
35
|
{% if page.layout == 'home'
|
@@ -29,29 +40,39 @@
|
|
29
40
|
%}
|
30
41
|
{% assign locale = site.lang | split: '-' | first %}
|
31
42
|
|
32
|
-
{% assign
|
43
|
+
{% assign urls = urls
|
44
|
+
| append: ','
|
45
|
+
| append: site.data.origin[type].dayjs.js.common
|
33
46
|
| append: ','
|
34
|
-
| append: site.data.
|
47
|
+
| append: site.data.origin[type].dayjs.js.locale
|
35
48
|
| replace: ':LOCALE', locale
|
36
49
|
| append: ','
|
37
|
-
| append: site.data.
|
50
|
+
| append: site.data.origin[type].dayjs.js.relativeTime
|
38
51
|
| append: ','
|
39
|
-
| append: site.data.
|
52
|
+
| append: site.data.origin[type].dayjs.js.localizedFormat
|
40
53
|
%}
|
54
|
+
{% endif %}
|
55
|
+
|
56
|
+
{% if page.content contains '<h2' or page.content contains '<h3' and site.toc and page.toc %}
|
57
|
+
{% assign urls = urls | append: ',' | append: site.data.origin[type].toc.js %}
|
58
|
+
{% endif %}
|
41
59
|
|
42
|
-
|
60
|
+
{% if page.mermaid %}
|
61
|
+
{% assign urls = urls | append: ',' | append: site.data.origin[type].mermaid.js %}
|
43
62
|
{% endif %}
|
44
63
|
|
64
|
+
{% include jsdelivr-combine.html urls=urls %}
|
65
|
+
|
45
66
|
{% case page.layout %}
|
46
|
-
{% when 'categories', 'post', 'page' %}
|
47
|
-
{% assign
|
48
|
-
{% when '
|
49
|
-
{% assign
|
67
|
+
{% when 'home', 'categories', 'post', 'page' %}
|
68
|
+
{% assign js = page.layout %}
|
69
|
+
{% when 'archives', 'category', 'tag' %}
|
70
|
+
{% assign js = 'misc' %}
|
50
71
|
{% else %}
|
51
|
-
{% assign
|
72
|
+
{% assign js = 'commons' %}
|
52
73
|
{% endcase %}
|
53
74
|
|
54
|
-
{% capture script %}/assets/js/dist/{{
|
75
|
+
{% capture script %}/assets/js/dist/{{ js }}.min.js{% endcapture %}
|
55
76
|
<script defer src="{{ script | relative_url }}"></script>
|
56
77
|
|
57
78
|
{% if page.math %}
|
@@ -73,14 +94,10 @@
|
|
73
94
|
}
|
74
95
|
};
|
75
96
|
</script>
|
76
|
-
<script src="{{ site.data.
|
77
|
-
<script id="MathJax-script" async src="{{ site.data.
|
97
|
+
<script src="{{ site.data.origin[type].polyfill.js | relative_url }}"></script>
|
98
|
+
<script id="MathJax-script" async src="{{ site.data.origin[type].mathjax.js | relative_url }}"></script>
|
78
99
|
{% endif %}
|
79
100
|
|
80
|
-
<!-- commons -->
|
81
|
-
|
82
|
-
<script src="{{ site.data.assets[origin].bootstrap.js | relative_url }}"></script>
|
83
|
-
|
84
101
|
{% if jekyll.environment == 'production' %}
|
85
102
|
<!-- PWA -->
|
86
103
|
{% if site.pwa.enabled %}
|
@@ -5,7 +5,6 @@
|
|
5
5
|
{% assign domain = 'https://cdn.jsdelivr.net/' %}
|
6
6
|
|
7
7
|
{% for url in urls %}
|
8
|
-
|
9
8
|
{% if url contains domain %}
|
10
9
|
{% assign url_snippet = url | slice: domain.size, url.size %}
|
11
10
|
|
@@ -16,15 +15,10 @@
|
|
16
15
|
{% endif %}
|
17
16
|
|
18
17
|
{% elsif url contains '//' %}
|
19
|
-
|
20
18
|
<script src="{{ url }}"></script>
|
21
|
-
|
22
19
|
{% else %}
|
23
|
-
|
24
20
|
<script src="{{ url | relative_url }}"></script>
|
25
|
-
|
26
21
|
{% endif %}
|
27
|
-
|
28
22
|
{% endfor %}
|
29
23
|
|
30
24
|
{% if combined_urls %}
|
data/_includes/lang.html
ADDED
data/_includes/mermaid.html
CHANGED
@@ -1,59 +1,58 @@
|
|
1
|
-
<!--
|
2
|
-
|
3
|
-
-->
|
4
|
-
|
5
|
-
<script src="{{ site.data.assets[origin].mermaid.js | relative_url }}"></script>
|
6
|
-
|
7
|
-
<script>
|
1
|
+
<!-- mermaid-js loader -->
|
2
|
+
<script type="text/javascript">
|
8
3
|
(function () {
|
9
|
-
|
10
4
|
function updateMermaid(event) {
|
11
|
-
if (event.source === window && event.data &&
|
12
|
-
event.data.direction === ModeToggle.ID) {
|
13
|
-
|
5
|
+
if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
|
14
6
|
const mode = event.data.message;
|
15
7
|
|
16
|
-
if (typeof mermaid ===
|
8
|
+
if (typeof mermaid === 'undefined') {
|
17
9
|
return;
|
18
10
|
}
|
19
11
|
|
20
|
-
let expectedTheme =
|
21
|
-
let config = {theme: expectedTheme};
|
12
|
+
let expectedTheme = mode === ModeToggle.DARK_MODE ? 'dark' : 'default';
|
13
|
+
let config = { theme: expectedTheme };
|
22
14
|
|
23
15
|
/* Re-render the SVG › <https://github.com/mermaid-js/mermaid/issues/311#issuecomment-332557344> */
|
24
|
-
$(
|
16
|
+
$('.mermaid').each(function () {
|
25
17
|
let svgCode = $(this).prev().children().html();
|
26
|
-
$(this).removeAttr(
|
18
|
+
$(this).removeAttr('data-processed');
|
27
19
|
$(this).html(svgCode);
|
28
20
|
});
|
29
21
|
|
30
22
|
mermaid.initialize(config);
|
31
|
-
mermaid.init(undefined,
|
23
|
+
mermaid.init(undefined, '.mermaid');
|
32
24
|
}
|
33
25
|
}
|
34
26
|
|
35
|
-
let initTheme =
|
27
|
+
let initTheme = 'default';
|
28
|
+
const html = document.documentElement;
|
36
29
|
|
37
|
-
if (
|
38
|
-
|
39
|
-
|
40
|
-
|
30
|
+
if (
|
31
|
+
(html.hasAttribute('data-mode') && html.getAttribute('data-mode') === 'dark') ||
|
32
|
+
(!html.hasAttribute('data-mode') && window.matchMedia('(prefers-color-scheme: dark)').matches)
|
33
|
+
) {
|
34
|
+
initTheme = 'dark';
|
41
35
|
}
|
42
36
|
|
43
37
|
let mermaidConf = {
|
44
|
-
theme: initTheme
|
38
|
+
theme: initTheme /* <default|dark|forest|neutral> */
|
45
39
|
};
|
46
40
|
|
47
41
|
/* Create mermaid tag */
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
42
|
+
document.querySelectorAll('pre>code.language-mermaid').forEach((elem) => {
|
43
|
+
const svgCode = elem.textContent;
|
44
|
+
const backup = elem.parentElement;
|
45
|
+
backup.classList.add('unloaded');
|
46
|
+
/* create mermaid node */
|
47
|
+
let mermaid = document.createElement('pre');
|
48
|
+
mermaid.classList.add('mermaid');
|
49
|
+
const text = document.createTextNode(svgCode);
|
50
|
+
mermaid.appendChild(text);
|
51
|
+
backup.after(mermaid);
|
52
52
|
});
|
53
53
|
|
54
54
|
mermaid.initialize(mermaidConf);
|
55
55
|
|
56
|
-
window.addEventListener(
|
56
|
+
window.addEventListener('message', updateMermaid);
|
57
57
|
})();
|
58
|
-
|
59
58
|
</script>
|
@@ -0,0 +1 @@
|
|
1
|
+
<!-- A placeholder to allow defining custom metadata -->
|