jekyll-theme-h2o-ac 1.2.1 → 1.3.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/README.md +5 -4
- data/_config.yml +15 -17
- data/_data/collections.yml +11 -0
- data/_data/locales/en.yml +6 -0
- data/_data/locales/ja.yml +6 -0
- data/_data/locales/zh-Hans.yml +6 -0
- data/_data/locales/zh-Hant.yml +6 -0
- data/_includes/{footer.html → layouts/footer.html} +61 -35
- data/_includes/{post-head.html → layouts/head.html} +35 -29
- data/_includes/{header.html → layouts/header.html} +19 -1
- data/_includes/layouts/metainfo.html +40 -0
- data/_includes/{paginate-article.html → layouts/paginate-article.html} +9 -2
- data/_includes/{paginate.html → layouts/paginate.html} +5 -5
- data/_includes/{sidebar.html → layouts/sidebar.html} +21 -4
- data/_includes/layouts/submenu.html +30 -0
- data/_includes/plugins/analytics/analytics.html +3 -0
- data/_includes/{analytics.html → plugins/analytics/google.html} +1 -2
- data/_includes/plugins/comments/comments_block.html +67 -0
- data/_includes/plugins/comments/comments_js.html +24 -0
- data/_includes/plugins/comments/disqus.html +19 -0
- data/_includes/plugins/comments/waline_css.html +3 -0
- data/_includes/plugins/comments/waline_js.html +14 -0
- data/_includes/plugins/i18n.html +32 -0
- data/_includes/plugins/markdown/fancybox_css.html +1 -0
- data/_includes/plugins/markdown/fancybox_js.html +24 -0
- data/_includes/plugins/markdown/hotkeys.html +31 -0
- data/_includes/plugins/markdown/markdown.html +7 -0
- data/_includes/{mathjax.html → plugins/markdown/mathjax.html} +4 -9
- data/_includes/plugins/markdown/mermaid_block.html +10 -0
- data/_includes/plugins/markdown/mermaid_js.html +12 -0
- data/_includes/plugins/markdown/prism_css.html +16 -0
- data/_includes/plugins/markdown/prism_js.html +3 -0
- data/_includes/plugins/others/calendar_block.html +31 -0
- data/_includes/plugins/others/calendar_css.html +3 -0
- data/_includes/plugins/others/calendar_js.html +8 -0
- data/_includes/plugins/others/social_block.html +5 -0
- data/_includes/plugins/others/social_css.html +1 -0
- data/_includes/plugins/others/social_js.html +15 -0
- data/_layouts/404.html +17 -0
- data/_layouts/archives.html +89 -59
- data/_layouts/blog.html +4 -10
- data/_layouts/categories.html +3 -1
- data/_layouts/default.html +62 -45
- data/_layouts/links.html +14 -4
- data/_layouts/page.html +17 -87
- data/_layouts/post.html +146 -483
- data/_layouts/stats.html +52 -0
- data/_layouts/tags.html +2 -2
- data/assets/css/app.min.css +1 -2591
- data/assets/css/app.min.css.map +1 -1
- data/assets/css/cv.min.css +1 -279
- data/assets/css/cv.min.css.map +1 -1
- data/assets/js/app.min.js +1 -686
- data/assets/js/app.min.js.LICENSE.txt +15 -0
- data/assets/js/app.min.js.map +1 -1
- metadata +43 -20
- data/_includes/comments.html +0 -53
- data/_includes/head.html +0 -47
- data/_includes/mermaid.html +0 -12
- data/_includes/waline.html +0 -3
- /data/_includes/{pageNav.html → layouts/pageNav.html} +0 -0
- /data/_includes/{toc.html → layouts/toc.html} +0 -0
- /data/_includes/{busuanzi.html → plugins/analytics/busuanzi.html} +0 -0
- /data/_includes/{umami.html → plugins/analytics/umami.html} +0 -0
- /data/_includes/{pwa.html → plugins/others/pwa.html} +0 -0
- /data/_includes/{webpusher.html → plugins/others/webpusher.html} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f964f3fa35b036f457909e829661cc630fd817997e6093097609963202ccbe2b
|
4
|
+
data.tar.gz: 4512124057d051e06d9efac0c013618ac5300bd04b9ab7a13b04c37679ce3da4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68e0f96136129fbfbfd1c6ca38a1e44ceeaa162fd9e54914134b8209448b4ffad0e41f75cf1c764bcffe20f89f8fc4ec7e64ed43e89e833ee4e636fad6922ff2
|
7
|
+
data.tar.gz: 6e1c87fe87e9c77a3183909d7b3d48417bc73972683fc302f575d339c7dfcfeb4312b4bddd277d5a881c3138a994a28af31a807d336b15252e0b7949c4b8a0f9
|
data/README.md
CHANGED
@@ -16,9 +16,8 @@ A Jekyll theme for researchers and maintainers based on Jekyll and [H2O](https:/
|
|
16
16
|
## Preview
|
17
17
|
|
18
18
|
### [在线预览 Live Demo →](https://h2o-ac.pages.dev/)
|
19
|
-
|
20
|
-

|
19
|
+

|
20
|
+

|
22
21
|
|
23
22
|
如果你喜欢这个博客模板,请在右上角star一下,非常感谢~
|
24
23
|
|
@@ -28,7 +27,7 @@ If you like this theme or using it, please give a ⭐️ for motivation ;)
|
|
28
27
|
|
29
28
|
Using your smartphone to scan the QR Code for preview
|
30
29
|
|
31
|
-
<img src="https://
|
30
|
+
<img src="https://github.com/zhonger/jekyll-theme-H2O-ac/assets/12064158/b01c0a31-4fad-413c-9692-a67d330699b1" width=200 />
|
32
31
|
|
33
32
|
## New Features compared with H2O, 与 H2O 不同的新特性
|
34
33
|
|
@@ -51,6 +50,7 @@ Using your smartphone to scan the QR Code for preview
|
|
51
50
|
- 提示框支持
|
52
51
|
- 文章置顶
|
53
52
|
- 版权显式声明
|
53
|
+
- 国际化支持(简中、繁中、英文、日文)
|
54
54
|
|
55
55
|
### EN
|
56
56
|
|
@@ -71,6 +71,7 @@ Using your smartphone to scan the QR Code for preview
|
|
71
71
|
- Premonition
|
72
72
|
- Top article pin
|
73
73
|
- Copyright statement for articles
|
74
|
+
- Internationlization (Simplified Chinese, Traditional Chinse, English, Japanese)
|
74
75
|
|
75
76
|
## Usage 快速开始
|
76
77
|
|
data/_config.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# jekyll-theme-h2o-ac
|
2
|
-
version: 1.
|
2
|
+
version: 1.3.1
|
3
3
|
|
4
4
|
# Site settings 配置站点
|
5
5
|
title: 'Mr Li'
|
@@ -104,11 +104,25 @@ sns:
|
|
104
104
|
links:
|
105
105
|
# 'Mr Li': 'https://lisz.me'
|
106
106
|
|
107
|
+
# Calendar 日历
|
108
|
+
calendar: true
|
109
|
+
|
107
110
|
# Supports 赞助商
|
108
111
|
supports:
|
109
112
|
upyun:
|
110
113
|
webify:
|
111
114
|
|
115
|
+
# Badges
|
116
|
+
badges:
|
117
|
+
foreverblog: true # Foreverblog
|
118
|
+
wormhole: true # Wormhole
|
119
|
+
travelling: true # Travelling
|
120
|
+
notbyAI: true # NotByAI
|
121
|
+
|
122
|
+
# Alive time
|
123
|
+
alivetime: true
|
124
|
+
alivestart: "12/23/2021"
|
125
|
+
|
112
126
|
# Beian 备案号
|
113
127
|
beian: '沪ICP备xxxxxxxx号'
|
114
128
|
|
@@ -183,22 +197,6 @@ extlinks:
|
|
183
197
|
# Mermaid
|
184
198
|
mermaid: true
|
185
199
|
|
186
|
-
# Webpusher
|
187
|
-
webpusher: false
|
188
|
-
|
189
|
-
# Foreverblog
|
190
|
-
foreverblog: false
|
191
|
-
|
192
|
-
# Wormhole
|
193
|
-
wormhole: false
|
194
|
-
|
195
|
-
# NotByAI
|
196
|
-
notbyAI: false
|
197
|
-
|
198
|
-
# Alive time
|
199
|
-
alivetime: false
|
200
|
-
alivestart: "12/23/2021"
|
201
|
-
|
202
200
|
# TOC
|
203
201
|
toc: true
|
204
202
|
# <div class="title">{% if title %} {{title}} {% else %} {{default_title}} {% endif %}</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
- id: 'begin'
|
2
|
+
name: 'H2O-ac 主题入门系列'
|
3
|
+
articles:
|
4
|
+
- name: '快速入门'
|
5
|
+
url: '/tech/new-theme-h2o-ac.html'
|
6
|
+
- name: '快速入门'
|
7
|
+
url: '/tech/new-theme-h2o-ac.html'
|
8
|
+
- name: '快速入门'
|
9
|
+
url: '/tech/new-theme-h2o-ac.html'
|
10
|
+
- name: 'Guide'
|
11
|
+
url: 'https://lisz.me/tech/new-theme-h2o-ac.html'
|
data/_data/locales/en.yml
CHANGED
@@ -3,9 +3,14 @@ panel:
|
|
3
3
|
posts: 'POSTS'
|
4
4
|
categories: 'CATEGORIES'
|
5
5
|
tags: 'TAGS'
|
6
|
+
calendar: 'CALENDAR'
|
7
|
+
calendar_less: 'Less'
|
8
|
+
calendar_more: 'More'
|
6
9
|
hot_tags: 'HOT TAGS'
|
7
10
|
links: 'LINKS'
|
8
11
|
update: 'RECENT UPDATES'
|
12
|
+
friends: 'FRIENDS'
|
13
|
+
nolink: 'No any links'
|
9
14
|
footer:
|
10
15
|
driver: 'Powered by <a href="//jekyllrb.com" target="_blank" class="extlinks">Jekyll</a> & <a href="https://github.com/zhonger/jekyll-theme-H2O-ac" target="_blank" class="extlinks">H2O-ac</a> (based on <a href="https://github.com/kaeyleo/jekyll-theme-H2O" target="_blank" class="extlinks">H2O</a>)'
|
11
16
|
views: 'Total Views'
|
@@ -22,6 +27,7 @@ footer:
|
|
22
27
|
middle: 'Terms of Service'
|
23
28
|
right: 'page.'
|
24
29
|
btn: 'Accept'
|
30
|
+
name: 'Terms of Service'
|
25
31
|
post:
|
26
32
|
outline: 'Contents'
|
27
33
|
cover:
|
data/_data/locales/ja.yml
CHANGED
@@ -3,9 +3,14 @@ panel:
|
|
3
3
|
posts: '記事'
|
4
4
|
categories: 'カテゴリー'
|
5
5
|
tags: 'タグ'
|
6
|
+
calendar: 'カレンダー'
|
7
|
+
calendar_less: '少ない'
|
8
|
+
calendar_more: '多い'
|
6
9
|
hot_tags: '人気タグ'
|
7
10
|
links: 'リンク'
|
8
11
|
update: '最新のアップデート'
|
12
|
+
friends: '友達'
|
13
|
+
nolink: 'リンクがありません'
|
9
14
|
footer:
|
10
15
|
driver: 'このサイトは <a href="//jekyllrb.com" target="_blank" class="extlinks">Jekyll</a> と <a href="https://github.com/zhonger/jekyll-theme-H2O-ac" target="_blank" class="extlinks">H2O-ac</a> を利用しています'
|
11
16
|
views: '総閲覧数'
|
@@ -22,6 +27,7 @@ footer:
|
|
22
27
|
middle: 'このサイトについて'
|
23
28
|
right: 'をご覧ください。'
|
24
29
|
btn: '同意する'
|
30
|
+
name: '利用規約'
|
25
31
|
post:
|
26
32
|
outline: '目次'
|
27
33
|
cover:
|
data/_data/locales/zh-Hans.yml
CHANGED
@@ -3,9 +3,14 @@ panel:
|
|
3
3
|
posts: '文章'
|
4
4
|
categories: '类别'
|
5
5
|
tags: '标签'
|
6
|
+
calendar: '日历'
|
7
|
+
calendar_less: '少'
|
8
|
+
calendar_more: '多'
|
6
9
|
hot_tags: '热门标签'
|
7
10
|
links: '链接'
|
8
11
|
update: '最近更新'
|
12
|
+
friends: '朋友们'
|
13
|
+
nolink: '暂无链接'
|
9
14
|
footer:
|
10
15
|
driver: '本站由 <a href="//jekyllrb.com" target="_blank" class="extlinks">Jekyll</a> 和 (基于 <a href="https://github.com/kaeyleo/jekyll-theme-H2O" target="_blank" class="extlinks">H2O</a> 的) <a href="https://github.com/zhonger/jekyll-theme-H2O-ac" target="_blank" class="extlinks">H2O-ac</a> 强力驱动'
|
11
16
|
views: '总浏览量'
|
@@ -22,6 +27,7 @@ footer:
|
|
22
27
|
middle: '本站使用条款'
|
23
28
|
right: '了解更多。'
|
24
29
|
btn: '同意'
|
30
|
+
name: '使用条款'
|
25
31
|
post:
|
26
32
|
outline: '目录'
|
27
33
|
cover:
|
data/_data/locales/zh-Hant.yml
CHANGED
@@ -3,9 +3,14 @@ panel:
|
|
3
3
|
posts: '文章'
|
4
4
|
categories: '類別'
|
5
5
|
tags: '標籤'
|
6
|
+
calendar: '日曆'
|
7
|
+
calendar_less: '少'
|
8
|
+
calendar_more: '多'
|
6
9
|
hot_tags: '熱門標簽'
|
7
10
|
links: '鏈接'
|
8
11
|
update: '最近更新'
|
12
|
+
friends: '朋友們'
|
13
|
+
nolink: '暫無鏈接'
|
9
14
|
footer:
|
10
15
|
driver: '本站由 <a href="//jekyllrb.com" target="_blank" class="extlinks">Jekyll</a> 和 (基於 <a href="https://github.com/kaeyleo/jekyll-theme-H2O" target="_blank" class="extlinks">H2O</a> 的) <a href="https://github.com/zhonger/jekyll-theme-H2O-ac" target="_blank" class="extlinks">H2O-ac</a> 強力驅動'
|
11
16
|
views: '總瀏覽量'
|
@@ -22,6 +27,7 @@ footer:
|
|
22
27
|
middle: '本站使用條款'
|
23
28
|
right: '了解更多。'
|
24
29
|
btn: '同意'
|
30
|
+
name: '使用條款'
|
25
31
|
post:
|
26
32
|
outline: '目錄'
|
27
33
|
cover:
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<div class="g-left">
|
7
7
|
<section class="links">
|
8
8
|
{{ footer.driver }}
|
9
|
-
{% if site.version %} (<a href="https://github.com/zhonger/jekyll-theme-H2O-ac/releases/tag/v
|
9
|
+
{% if site.version %} (<a href="https://github.com/zhonger/jekyll-theme-H2O-ac/releases/tag/v{{ site.version }}" target="_blank" class="extlinks">v{{ site.version }}</a>){% endif %}
|
10
10
|
{% if site.supports.webify %} & <a href="https://webify.cloudbase.net/" target="_blank" class="extlinks">CloudBase Webify</a> {% endif %}
|
11
11
|
</section>
|
12
12
|
<section class="links">{{ site.title }} ©
|
@@ -16,17 +16,31 @@
|
|
16
16
|
-
|
17
17
|
{% endunless %}
|
18
18
|
{{ current }}
|
19
|
-
{% if site.beian %}
|
19
|
+
{% if site.beian and site.beian != "" %}
|
20
20
|
<a href="https://beian.miit.gov.cn/" target="_blank" class="extlinks">{{ site.beian }}</a>
|
21
21
|
{% endif %}
|
22
|
+
<a href="/rss.xml" target="_blank" aria-label="Terms of Service" class="others">
|
23
|
+
<svg class="icon" aria-hidden="true">
|
24
|
+
<use xlink:href="#icon-rss"></use>
|
25
|
+
</svg> RSS
|
26
|
+
</a>
|
27
|
+
<a href="/tos" target="_blank" aria-label="Terms of Service" class="others">
|
28
|
+
<svg class="icon" aria-hidden="true">
|
29
|
+
<use xlink:href="#icon-tos"></use>
|
30
|
+
</svg> {{footer.tos.name}}
|
31
|
+
</a>
|
22
32
|
</section>
|
23
33
|
{% if site.busuanzi %}
|
24
|
-
<section>
|
34
|
+
<section class="links">
|
25
35
|
<span id="busuanzi_container_site_pv">
|
26
|
-
|
36
|
+
<svg class="icon" aria-hidden="true">
|
37
|
+
<use xlink:href="#icon-pv"></use>
|
38
|
+
</svg> {{ footer.views }} <span id="busuanzi_value_site_pv"></span> <b>·</b>
|
27
39
|
</span>
|
28
40
|
<span id="busuanzi_container_site_uv">
|
29
|
-
|
41
|
+
<svg class="icon" aria-hidden="true">
|
42
|
+
<use xlink:href="#icon-user"></use>
|
43
|
+
</svg> {{ footer.visitors }} <span id="busuanzi_value_site_uv"></span>
|
30
44
|
</span>
|
31
45
|
</section>
|
32
46
|
{% endif %}
|
@@ -43,23 +57,28 @@
|
|
43
57
|
<div class="g-right">
|
44
58
|
{% if site.supports.upyun %}
|
45
59
|
<section>
|
46
|
-
<a href="https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral" target="_blank" class="extlinks">{{ footer.upyun }} <img src="{{ "/assets/icons/upyun.png" | relative_url }}" class="upyun" /></a>
|
60
|
+
<a href="https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral" target="_blank" class="extlinks">{{ footer.upyun }} <img src="{{ "/assets/icons/upyun.png" | relative_url }}" class="upyun" alt="upyun" /></a>
|
47
61
|
</section>
|
48
62
|
{% endif %}
|
49
|
-
{% if site.foreverblog or site.wormhole or site.notbyAI %}
|
63
|
+
{% if site.badges.foreverblog or site.badges.wormhole or site.badges.travelling or site.badges.notbyAI %}
|
50
64
|
<section class="badges">
|
51
|
-
{% if site.foreverblog %}
|
52
|
-
<a href="https://www.foreverblog.cn/" target="_blank" class="foreverblog">
|
65
|
+
{% if site.badges.foreverblog %}
|
66
|
+
<a href="https://www.foreverblog.cn/" target="_blank" class="foreverblog" aria-label="foreverblog">
|
53
67
|
<img src="https://img.foreverblog.cn/logo_en_default.png" alt="">
|
54
68
|
</a>
|
55
69
|
{% endif %}
|
56
|
-
{% if site.wormhole %}
|
57
|
-
<a href="https://www.foreverblog.cn/go.html" target="_blank" class="wormhole">
|
70
|
+
{% if site.badges.wormhole %}
|
71
|
+
<a href="https://www.foreverblog.cn/go.html" target="_blank" class="wormhole" aria-label="wormhole">
|
58
72
|
<img src="https://img.foreverblog.cn/wormhole_3.gif" alt="" title="穿梭虫洞-随机访问十年之约友链博客">
|
59
73
|
</a>
|
60
74
|
{% endif%}
|
61
|
-
{% if site.
|
62
|
-
<a href="https://
|
75
|
+
{% if site.badges.travelling %}
|
76
|
+
<a href="https://www.travellings.cn/go.html" target="_blank" class="travelling-badge" aria-label="Travelling" rel="noopener" title="开往-友链接力">
|
77
|
+
<img src="https://www.travellings.cn/assets/logo.gif" alt="开往-友链接力">
|
78
|
+
</a>
|
79
|
+
{% endif %}
|
80
|
+
{% if site.badges.notbyAI %}
|
81
|
+
<a href="https://notbyai.fyi/" target="_blank" class="notbyAI" aria-label="notbyAI">
|
63
82
|
<img src="{{ "/assets/icons/notbyAI-white.png" | prepend: site.baseurl }}" alt="Written by Human, Not by AI">
|
64
83
|
</a>
|
65
84
|
{% endif %}
|
@@ -76,26 +95,33 @@
|
|
76
95
|
|
77
96
|
<button id="accept-tos">{{ footer.tos.btn }}</button>
|
78
97
|
</div>
|
79
|
-
<button id="list" aria-label="Scroll back to top" class="mobile-list" type="button">
|
80
|
-
<svg class="icon list day" aria-hidden="true">
|
81
|
-
<use xlink:href="#icon-list-day"></use>
|
82
|
-
</svg>
|
83
|
-
<svg class="icon list night" aria-hidden="true">
|
84
|
-
<use xlink:href="#icon-list-night"></use>
|
85
|
-
</svg>
|
86
|
-
<svg class="icon exit day" aria-hidden="true">
|
87
|
-
<use xlink:href="#icon-exit-day"></use>
|
88
|
-
</svg>
|
89
|
-
<svg class="icon exit night" aria-hidden="true">
|
90
|
-
<use xlink:href="#icon-exit-night"></use>
|
91
|
-
</svg>
|
92
|
-
</button>
|
93
|
-
<button id="bttb" aria-label="Scroll back to top" class="bttb" type="button">
|
94
|
-
<svg class="icon up day" aria-hidden="true">
|
95
|
-
<use xlink:href="#icon-up-day"></use>
|
96
|
-
</svg>
|
97
|
-
<svg class="icon up night" aria-hidden="true">
|
98
|
-
<use xlink:href="#icon-up-night"></use>
|
99
|
-
</svg>
|
100
|
-
</button>
|
101
98
|
|
99
|
+
<section id="tools">
|
100
|
+
{% if page.submenu %}
|
101
|
+
<div class="tool collection">
|
102
|
+
<svg class="icon b1 active" aria-hidden="true">
|
103
|
+
<use xlink:href="#icon-submenu"></use>
|
104
|
+
</svg>
|
105
|
+
<svg class="icon b2" aria-hidden="true">
|
106
|
+
<use xlink:href="#icon-exit"></use>
|
107
|
+
</svg>
|
108
|
+
</div>
|
109
|
+
{% endif %}
|
110
|
+
{% if page.content contains 'h1' or page.content contains 'h2' or page.content contains 'h3' or page.content contains 'h4' or page.content contains 'h5' or page.content contains 'h6' and site.toc %}
|
111
|
+
<div class="tool toc">
|
112
|
+
<svg class="icon b1 active" aria-hidden="true">
|
113
|
+
<use xlink:href="#icon-toc"></use>
|
114
|
+
</svg>
|
115
|
+
<svg class="icon b2" aria-hidden="true">
|
116
|
+
<use xlink:href="#icon-exit"></use>
|
117
|
+
</svg>
|
118
|
+
</div>
|
119
|
+
{% endif %}
|
120
|
+
</section>
|
121
|
+
<section id="bttb" aria-label="Scroll back to top" class="bttb">
|
122
|
+
<div class="tool">
|
123
|
+
<svg class="icon top" aria-hidden="true">
|
124
|
+
<use xlink:href="#icon-top"></use>
|
125
|
+
</svg>
|
126
|
+
</div>
|
127
|
+
</section>
|
@@ -2,23 +2,21 @@
|
|
2
2
|
<meta charset="UTF-8">
|
3
3
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
4
4
|
<title>{% if page.title %}{{ page.title }} - {{ site.title }}{% else %}{{ site.title }}{% endif %}</title>
|
5
|
-
<meta name="author"
|
5
|
+
<meta name="author" content="{{ site.author }}">
|
6
|
+
{% if layout.type == "post" %}
|
6
7
|
<meta name="description" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
|
7
|
-
<meta name="keywords"
|
8
|
-
|
9
|
-
<meta property="og:title" content="{% if page.title %}{{ page.title }} - {{ site.title }}{% else %}{{ site.title }}{% endif %}">
|
10
|
-
<meta property="og:type" content="website">
|
11
|
-
<meta property="og:url" content="{{ page.url | prepend: site.url }}">
|
12
|
-
<meta property="og:baseurl" content="{{ site.baseurl }}">
|
13
|
-
<meta property="og:description" content="{{ site.description }}">
|
14
|
-
<meta property="og:site_name" content="{{ site.title }}">
|
15
|
-
<meta property="og:gray" content="{{ site.gray }}">
|
8
|
+
<meta name="keywords"
|
9
|
+
content="{% if page.tags.size > 0 %}{% for tag in page.tags %}{{ tag }}{% if forloop.last == false %}, {% endif %}{% endfor %}{% endif %}">
|
16
10
|
{% if page.next.url %}
|
17
11
|
<meta property="og:previous_url" content="{{ page.next.url | relative_url }}">
|
18
12
|
{% endif %}
|
19
13
|
{% if page.previous.url %}
|
20
14
|
<meta property="og:next_url" content="{{ page.previous.url | relative_url }}">
|
21
15
|
{% endif %}
|
16
|
+
{% else %}
|
17
|
+
<meta name="description" content="{{ site.description }}">
|
18
|
+
<meta name="keywords" content="{{ site.keyword }}">
|
19
|
+
{% endif %}
|
22
20
|
<meta property="post-date-format" content="{{ site.formats.time }}">
|
23
21
|
{% case site.formats.time %}
|
24
22
|
{% when 0 %}
|
@@ -28,6 +26,21 @@
|
|
28
26
|
{% else %}
|
29
27
|
<meta property="post-date" content="{{ page.date | date: '%Y年%-m月%-d日 %H:%M:%S %z' }}" />
|
30
28
|
{% endcase %}
|
29
|
+
{% if site.calendar %}
|
30
|
+
<meta property="calendar-scale" content="{{ site.calendar.scale | default: 'year' }}" />
|
31
|
+
<meta property="calendar-scheme" content="{{ site.calendar.scheme | default: 'null' }}" />
|
32
|
+
<meta property="calendar-color" content="{{ site.calendar.color | default: 'null' }}" />
|
33
|
+
{% endif %}
|
34
|
+
<!-- Open Graph -->
|
35
|
+
<meta property="og:title"
|
36
|
+
content="{% if page.title %}{{ page.title }} - {{ site.title }}{% else %}{{ site.title }}{% endif %}">
|
37
|
+
<meta property="og:type" content="website">
|
38
|
+
<meta property="og:url" content="{{ page.url | prepend: site.url }}">
|
39
|
+
<meta property="og:baseurl" content="{{ site.baseurl }}">
|
40
|
+
<meta property="og:description" content="{{ site.description }}">
|
41
|
+
<meta property="og:site_name" content="{{ site.title }}">
|
42
|
+
<meta property="og:gray" content="{{ site.gray }}">
|
43
|
+
<meta property="og:lang" content="{{ lang }}">
|
31
44
|
{% if site.alivetime %}
|
32
45
|
<meta name="alivestart" content="{{ site.alivestart }}">
|
33
46
|
{% endif %}
|
@@ -35,29 +48,22 @@
|
|
35
48
|
<meta name="google-site-verification" content="{{ site.google_search }}" />
|
36
49
|
{% endif %}
|
37
50
|
<meta name="theme-color" content="{{ site.pwa.color }}" />
|
38
|
-
<link rel="manifest" href="{{ "/manifest.json" | prepend: site.baseurl }}" />
|
39
|
-
<link rel="apple-touch-icon" href="{{
|
51
|
+
<link rel="manifest" href="{{ " /manifest.json" | prepend: site.baseurl }}" />
|
52
|
+
<link rel="apple-touch-icon" href="{{ " /assets/img/touch/apple-touch-icon.png" | prepend: site.baseurl }}" />
|
40
53
|
<link rel="Shortcut Icon" href="{{ site.favicon | prepend: site.baseurl }}">
|
41
54
|
<link rel="icon" href="{{ site.favicon | prepend: site.baseurl }}" type="image/x-icon" />
|
42
55
|
<link rel="bookmark" href="{{ site.favicon | prepend: site.baseurl }}" type="image/x-icon" />
|
43
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/normalize.min.css"
|
56
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/normalize.min.css" async>
|
44
57
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lxgw-wenkai-screen-webfont@1.1.0/style.css" />
|
45
58
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/github-markdown-css@5.2.0/github-markdown-light.min.css">
|
46
|
-
|
47
|
-
{%
|
48
|
-
{%
|
49
|
-
{% if prisms1 contains site.prism.theme %}
|
50
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.28.0/themes/prism-{{site.prism.theme}}.min.css" />
|
51
|
-
{% else if prisms2 contains site.prism.theme %}
|
52
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prism-themes@1.9.0/themes/prism-{{site.prism.theme}}.min.css" />
|
59
|
+
{% if layout.type == "post" %}
|
60
|
+
{% include plugins/others/social_css.html%}
|
61
|
+
{% include plugins/markdown/fancybox_css.html %}
|
53
62
|
{% else %}
|
54
|
-
|
55
|
-
{% endif %}
|
56
|
-
{% if site.prism.line_numbers %}
|
57
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.28.0/plugins/line-numbers/prism-line-numbers.min.css">
|
63
|
+
{% include plugins/others/calendar_css.html %}
|
58
64
|
{% endif %}
|
59
|
-
|
60
|
-
|
61
|
-
<link rel="stylesheet" href="
|
62
|
-
<script src="
|
63
|
-
</head>
|
65
|
+
{% include plugins/markdown/prism_css.html %}
|
66
|
+
{% include plugins/comments/waline_css.html %}
|
67
|
+
<link rel="stylesheet" href="{{ " /assets/css/app.min.css" | prepend: site.baseurl }}">
|
68
|
+
<script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
|
69
|
+
</head>
|
@@ -3,6 +3,15 @@
|
|
3
3
|
<a href="{{ "/" | relative_url }}" aria-label="logo"></a>
|
4
4
|
</div>
|
5
5
|
<!-- <i id="menu-toggle" class="iconfont icon-menu"></i> -->
|
6
|
+
{% if site.badges.travelling %}
|
7
|
+
<div id="travelling-toggle">
|
8
|
+
<a href="https://www.travellings.cn/go.html" aria-label="Travelings" target="_blank">
|
9
|
+
<svg class="icon" aria-hidden="true">
|
10
|
+
<use xlink:href="#icon-train-subway"></use>
|
11
|
+
</svg>
|
12
|
+
</a>
|
13
|
+
</div>
|
14
|
+
{% endif %}
|
6
15
|
<div id="mode-toggle">
|
7
16
|
<svg class="icon icon-day" aria-hidden="true">
|
8
17
|
<use xlink:href="#icon-day"></use>
|
@@ -19,7 +28,7 @@
|
|
19
28
|
{% for i in site.nav %}
|
20
29
|
{% if i[1].first %}
|
21
30
|
<li class="dropdown">
|
22
|
-
<a class="dropdown-toggle"> {{ i[0] }} </a>
|
31
|
+
<a class="dropdown-toggle" href="#"> {{ i[0] }} </a>
|
23
32
|
<ul class="dropdown-menu">
|
24
33
|
{% for j in i[1] %}
|
25
34
|
<li>
|
@@ -38,6 +47,15 @@
|
|
38
47
|
</li>
|
39
48
|
{% endif %}
|
40
49
|
{% endfor %}
|
50
|
+
{% if site.badges.travelling %}
|
51
|
+
<li class="travelling">
|
52
|
+
<a href="https://www.travellings.cn/go.html" aria-label="Travelings" target="_blank">
|
53
|
+
<svg class="icon" aria-hidden="true">
|
54
|
+
<use xlink:href="#icon-train-subway"></use>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
</li>
|
58
|
+
{% endif %}
|
41
59
|
<li class="mode">
|
42
60
|
<svg class="icon day" aria-hidden="true">
|
43
61
|
<use xlink:href="#icon-day"></use>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<script src="https://cdn.jsdelivr.net/npm/dayjs@1.11.2/dayjs.min.js"></script>
|
2
|
+
<script src="https://cdn.jsdelivr.net/npm/dayjs@1.11.2/plugin/customParseFormat.js"></script>
|
3
|
+
<script src="https://cdn.jsdelivr.net/npm/dayjs@1.11.2/plugin/relativeTime.js"></script>
|
4
|
+
<script>
|
5
|
+
$(document).ready(function () {
|
6
|
+
var time_formats = ['YYYY-MM-DD HH:mm:ss ZZ', 'YYYY DD MMM HH:mm:ss ZZ', 'YYYY年MM月DD日 HH:mm:ss ZZ'];
|
7
|
+
function dateFormat(date, format) {
|
8
|
+
var date_org = dayjs(date, time_formats[format]);
|
9
|
+
var date = date_org.format(time_formats[format]);
|
10
|
+
return { "date_org": date_org, "date": date }
|
11
|
+
}
|
12
|
+
|
13
|
+
dayjs.extend(window.dayjs_plugin_customParseFormat);
|
14
|
+
dayjs.extend(window.dayjs_plugin_relativeTime);
|
15
|
+
var post_date = $("meta[property='post-date']").attr('content');
|
16
|
+
var post_date_format = $("meta[property='post-date-format']").attr('content');
|
17
|
+
var local_post_date = dateFormat(post_date, post_date_format);
|
18
|
+
|
19
|
+
$(".post time span.create-at").html(local_post_date["date"]);
|
20
|
+
|
21
|
+
fetch("https://api.github.com/repos/{{ site.github.owner }}/{{ site.github.repository }}/commits?path={{ page.path }}").then((response) => {
|
22
|
+
return response.json();
|
23
|
+
}).then((commits) => {
|
24
|
+
if (commits.length != 0) {
|
25
|
+
var update_at = dayjs(commits[0]['commit']['committer']['date']);
|
26
|
+
} else {
|
27
|
+
var update_at = post_date
|
28
|
+
}
|
29
|
+
|
30
|
+
var local_update_at = dateFormat(update_at, post_date_format);
|
31
|
+
$('.post time span.update-at').html(local_update_at["date"]);
|
32
|
+
|
33
|
+
var relative_time = dayjs().diff(local_update_at["date_org"], 'day');
|
34
|
+
$(".post-copyright .tips span").append(relative_time);
|
35
|
+
if (relative_time > 365) {
|
36
|
+
$(".post-copyright .tips").addClass("active");
|
37
|
+
}
|
38
|
+
});
|
39
|
+
});
|
40
|
+
</script>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{% if post.pin %}
|
2
2
|
<article class="article-item keep-top">
|
3
3
|
{% else %}
|
4
|
-
<article class="article-item
|
4
|
+
<article class="article-item">
|
5
5
|
{% endif %}
|
6
6
|
{% if post.cover %}
|
7
7
|
<div class="post-cover">
|
@@ -11,7 +11,14 @@
|
|
11
11
|
{% endif %}
|
12
12
|
<section class="post-preview">
|
13
13
|
<a class="post-link" href="{{ post.url | relative_url }}" title="{{ post.title }}"></a>
|
14
|
-
<h2 class="post-title">
|
14
|
+
<h2 class="post-title">
|
15
|
+
{% if post.pin %}
|
16
|
+
<svg class="icon" aria-hidden="true">
|
17
|
+
<use xlink:href="#icon-pin"></use>
|
18
|
+
</svg>
|
19
|
+
{% endif %}
|
20
|
+
{{ post.title }}
|
21
|
+
</h2>
|
15
22
|
{% if post.subtitle %}
|
16
23
|
<h3 class="post-subtitle">{{ post.subtitle }}</h3>
|
17
24
|
{% endif %}
|
@@ -15,13 +15,13 @@
|
|
15
15
|
{% endif %}
|
16
16
|
{% for i in (unpin_start..unpin_end) %}
|
17
17
|
{% assign post = unpin_posts[i] %}
|
18
|
-
{% include paginate-article.html %}
|
18
|
+
{% include layouts/paginate-article.html %}
|
19
19
|
{% endfor %}
|
20
20
|
{% elsif pin_posts_num < max_num %}
|
21
21
|
{% assign pin_end = pin_posts_num | minus: 1 %}
|
22
22
|
{% for i in (min_num..pin_end) %}
|
23
23
|
{% assign post = pin_posts[i] %}
|
24
|
-
{% include paginate-article.html %}
|
24
|
+
{% include layouts/paginate-article.html %}
|
25
25
|
{% endfor %}
|
26
26
|
{% assign unpin_end = max_num | minus: pin_posts_num | minus: 1 %}
|
27
27
|
{% if unpin_end >= unpin_posts_num %}
|
@@ -29,13 +29,13 @@
|
|
29
29
|
{% endif %}
|
30
30
|
{% for i in (0..unpin_end) %}
|
31
31
|
{% assign post = unpin_posts[i] %}
|
32
|
-
{% include paginate-article.html %}
|
32
|
+
{% include layouts/paginate-article.html %}
|
33
33
|
{% endfor %}
|
34
34
|
{% else %}
|
35
35
|
{% assign pin_start = min_num %}
|
36
36
|
{% assign pin_end = max_num | minus: 1 %}
|
37
37
|
{% for i in (pin_start..pin_end) %}
|
38
38
|
{% assign post = pin_posts[i] %}
|
39
|
-
{% include paginate-article.html %}
|
39
|
+
{% include layouts/paginate-article.html %}
|
40
40
|
{% endfor %}
|
41
|
-
{% endif %}
|
41
|
+
{% endif %}
|
@@ -45,7 +45,9 @@
|
|
45
45
|
</ul>
|
46
46
|
{% endif %}
|
47
47
|
</section>
|
48
|
-
|
48
|
+
{% if site.calendar %}
|
49
|
+
{% include plugins/others/calendar_block.html %}
|
50
|
+
{% endif %}
|
49
51
|
{% if site.recommend-tags and site.tags.size>0 %}
|
50
52
|
{% assign max_tag_count = 0 %}
|
51
53
|
{% for tag in site.tags %}
|
@@ -54,7 +56,12 @@
|
|
54
56
|
{% endif %}
|
55
57
|
{% endfor %}
|
56
58
|
<section class="tags-card">
|
57
|
-
<div class="links" rel="links">
|
59
|
+
<div class="links" rel="links">
|
60
|
+
<svg class="icon" aria-hidden="true">
|
61
|
+
<use xlink:href="#icon-tags"></use>
|
62
|
+
</svg>
|
63
|
+
{{ panel.hot_tags }}
|
64
|
+
</div>
|
58
65
|
{% assign pnum = 0 %}
|
59
66
|
{% for i in (1..max_tag_count) reversed %}
|
60
67
|
{% for tag in site.tags %}
|
@@ -75,7 +82,12 @@
|
|
75
82
|
|
76
83
|
{% if site.links.size > 0 %}
|
77
84
|
<section class="tags-card">
|
78
|
-
<div class="links" rel="links">
|
85
|
+
<div class="links" rel="links">
|
86
|
+
<svg class="icon" aria-hidden="true">
|
87
|
+
<use xlink:href="#icon-links"></use>
|
88
|
+
</svg>
|
89
|
+
{{ panel.links }}
|
90
|
+
</div>
|
79
91
|
{% for link in site.links %}
|
80
92
|
<a href="{{ link[1] }}" target="_blank" class="tag" rel="noreferrer"> {{ link[0] }} </a>
|
81
93
|
{% endfor %}
|
@@ -84,7 +96,12 @@
|
|
84
96
|
|
85
97
|
<section class="tags-card">
|
86
98
|
{% assign posts = site.posts | sort: "date" | reverse %}
|
87
|
-
<div class="links">
|
99
|
+
<div class="links">
|
100
|
+
<svg class="icon" aria-hidden="true">
|
101
|
+
<use xlink:href="#icon-new"></use>
|
102
|
+
</svg>
|
103
|
+
{{ panel.update }}
|
104
|
+
</div>
|
88
105
|
<ul class="latest-articles">
|
89
106
|
{% for post in posts limit:3 %}
|
90
107
|
<li>
|