jekyll-theme-h2o-ac 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 706b78256ebf824ed29e0a0a08474adf51562cc2a6872d8684f13f3b2bc98cf7
4
- data.tar.gz: 2138bcc86be17bcc079c064c4988a26793072ef54c46dc9883e6d2683bd38d16
3
+ metadata.gz: 5e8adcaaf4e554babff373944b6f8ca485909faf610b0bfcca931a869fa43490
4
+ data.tar.gz: 280099e22c19eafcbbba41fcfe96e8656892c05b0de17351be14ccd9a1007ca3
5
5
  SHA512:
6
- metadata.gz: fc93dc3266b5bf5a2956d6a4c68102d8aa0d1b77df2eb457a1d8b37a6f75ed747303151feb46f3a617b2cdda1317e84e1c91aa8f261b497fa45ea7e432713079
7
- data.tar.gz: 551de9a5d0c7c1d708d8771a120cc0dfbadd8c65cca61d1dc242ac566f09ce30e646013d44dee92b5e240c13b144929ed69b4ef5f9a6d874ef1645acc29a33b1
6
+ metadata.gz: a1328cc5cce2252750106589a34f19ccb7dd7f2b81ce1114c65375a191b41e2d61c4af3b51b1bc8d4683f7549684df7666e27deeb2cd182dbccd9889a26306d7
7
+ data.tar.gz: 2a2a1a7462813ddaba76b0357a032da6c034daa992dabdf08a1241c5f54e50c08a6f7f198df9b83cd32ae7cecbf59d555de353fee84dfc1695b7bc48b74e90db
data/README.md CHANGED
@@ -1,27 +1,24 @@
1
- <div align="center">
2
-
3
1
  # jekyll-theme-H2O-ac
4
2
 
5
- [![Gem Version](https://badge.fury.io/rb/jekyll-theme-h2o-ac.svg)](https://badge.fury.io/rb/jekyll-theme-h2o-ac)
6
- [![pages-build-deployment](https://github.com/zhonger/jekyll-theme-H2O-ac/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/zhonger/jekyll-theme-H2O-ac/actions/workflows/pages/pages-build-deployment)
3
+ ![Gem (including prereleases)](https://img.shields.io/gem/v/jekyll-theme-h2o-ac)
4
+ ![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/zhonger/jekyll-theme-h2o-ac/jekyll.yml)
7
5
  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/60e1e5fb75b8411da3df2fbed7243aa6)](https://www.codacy.com/gh/zhonger/jekyll-theme-H2O-ac/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=zhonger/jekyll-theme-H2O-ac&amp;utm_campaign=Badge_Grade)
8
6
  [![GitHub license](https://img.shields.io/github/license/zhonger/jekyll-theme-H2O-ac)](https://github.com/zhonger/jekyll-theme-H2O-ac/blob/master/LICENSE)
9
7
  ![Jekyll Version](https://img.shields.io/badge/Jekyll-4.2.1-blue)
10
8
  ![Ruby Version](https://img.shields.io/badge/Ruby-3.1.0-blue)
11
9
  [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fzhonger%2Fjekyll-theme-H2O-ac.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fzhonger%2Fjekyll-theme-H2O-ac?ref=badge_shield)
10
+ ![Gem](https://img.shields.io/gem/dt/jekyll-theme-h2o-ac)
12
11
 
13
12
  基于 Jekyll 和 [H2O](https://github.com/kaeyleo/jekyll-theme-H2O) 主题、适合学术研究人员和运维开发人员的博客主题模板。
14
13
 
15
14
  A Jekyll theme for researchers and maintainers based on Jekyll and [H2O](https://github.com/kaeyleo/jekyll-theme-H2O) theme.
16
15
 
17
- </div>
18
-
19
- ### Preview
16
+ ## Preview
20
17
 
21
- #### [在线预览 Live Demo →](https://h2o-ac.pages.dev/)
18
+ ### [在线预览 Live Demo →](https://h2o-ac.pages.dev/)
22
19
 
23
- ![vgy.me](https://i.vgy.me/pICzcE.png)
24
- ![vgy.me](https://i.vgy.me/0kmQ1j.png)
20
+ ![vgy.me](https://i.vgy.me/tDC0t6.png)
21
+ ![vgy.me](https://i.vgy.me/2Oj0Tj.png)
25
22
 
26
23
  如果你喜欢这个博客模板,请在右上角star一下,非常感谢~
27
24
 
@@ -29,13 +26,13 @@ If you like this theme or using it, please give a ⭐️ for motivation ;)
29
26
 
30
27
  如果想体验手机浏览效果,可以扫一下二维码:
31
28
 
32
- ![vgy.me](https://i.vgy.me/XGUDp6.png)
29
+ Using your smartphone to scan the QR Code for preview
33
30
 
34
- Using your smartphone to scan the QR Code
31
+ <img src="https://i.vgy.me/0zuPYl.png" width=200 />
35
32
 
36
- ### New Features compared with H2O, 与 H2O 不同的新特性
33
+ ## New Features compared with H2O, 与 H2O 不同的新特性
37
34
 
38
- #### CN
35
+ ### CN
39
36
 
40
37
  - 学术首页
41
38
  - 归档页
@@ -55,7 +52,7 @@ Using your smartphone to scan the QR Code
55
52
  - 文章置顶
56
53
  - 版权显式声明
57
54
 
58
- #### EN
55
+ ### EN
59
56
 
60
57
  - Academic Home Page
61
58
  - Archive Page
@@ -75,19 +72,19 @@ Using your smartphone to scan the QR Code
75
72
  - Top article pin
76
73
  - Copyright statement for articles
77
74
 
78
- ### Usage 快速开始
75
+ ## Usage 快速开始
79
76
 
80
77
  请访问 [H2O-ac theme for Jekyll](https://lisz.me/tech/webmaster/new-theme-h2o-ac.html) 查看详情。
81
78
 
82
79
  Please refer to [H2O-ac theme for Jekyll](https://lisz.me/tech/webmaster/new-theme-h2o-ac.html) for details.
83
80
 
84
- ### Contribution 贡献
81
+ ## Contribution 贡献
85
82
 
86
83
  Any types of contribution are welcome. Thanks.
87
84
 
88
85
  接受各种形式的贡献,包括不限于提交问题与需求,修复代码。等待您的 ```Pull Request```。
89
86
 
90
- ### Thanks 感谢参与 H2O 代码贡献的伙伴
87
+ ## Thanks 感谢参与 H2O 代码贡献的伙伴
91
88
 
92
89
  - [kaeyleo](https://github.com/kaeyleo/)
93
90
  - [Ray-Eldath](https://github.com/Ray-Eldath)
@@ -96,11 +93,11 @@ Any types of contribution are welcome. Thanks.
96
93
  - [moycat](https://github.com/moycat)
97
94
  - More
98
95
 
99
- ### Contributors 贡献者
96
+ ## Contributors 贡献者
100
97
 
101
98
  ![Contributors](https://contrib.rocks/image?repo=zhonger/jekyll-theme-H2O-ac)
102
99
 
103
- ### License 许可证
100
+ ## License 许可证
104
101
 
105
102
  Jekyll-Theme-H2O-ac is licensed under [MIT](https://github.com/zhonger/jekyll-theme-H2O-ac/blob/master/LICENSE).
106
103
 
data/_config.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  # jekyll-theme-h2o-ac
2
- version: 1.2.0
2
+ version: 1.2.1
3
3
 
4
4
  # Site settings 配置站点
5
5
  title: 'Mr Li'
@@ -32,9 +32,6 @@ pwa:
32
32
  color: '#81BBFF'
33
33
  short_name: 'lisz'
34
34
 
35
- # International
36
- language: zh-cn
37
-
38
35
  # Navigation links
39
36
  nav:
40
37
  home: '/'
@@ -155,7 +152,7 @@ pagination:
155
152
  sort_field: 'date'
156
153
  sort_reverse: true
157
154
 
158
- exclude: ['node_modules', 'dev', 'package.json', 'gulpfile.js', '.gitignore', 'README.md', '*.gemspec', '*.gem']
155
+ exclude: ['node_modules', 'dev', 'package.json', 'webpack.config.js', '.gitignore', 'README.md', '*.gemspec', '*.gem']
159
156
 
160
157
  # Markdown
161
158
  markdown: kramdown
@@ -195,6 +192,9 @@ foreverblog: false
195
192
  # Wormhole
196
193
  wormhole: false
197
194
 
195
+ # NotByAI
196
+ notbyAI: false
197
+
198
198
  # Alive time
199
199
  alivetime: false
200
200
  alivestart: "12/23/2021"
data/_data/locales/en.yml CHANGED
@@ -72,4 +72,5 @@ categories:
72
72
  unit: 'categories,'
73
73
  uncategory:
74
74
  info: ''
75
- unit: 'uncategoried articles )'
75
+ unit: 'uncategoried articles )'
76
+ langs: 'All available languages: '
data/_data/locales/ja.yml CHANGED
@@ -72,4 +72,5 @@ categories:
72
72
  unit: 'のカテゴリ、'
73
73
  uncategory:
74
74
  info: ''
75
- unit: 'の未分類の記事 )'
75
+ unit: 'の未分類の記事 )'
76
+ langs: 'この記事の全ての言語バージョン:'
@@ -72,4 +72,5 @@ categories:
72
72
  unit: '个,'
73
73
  uncategory:
74
74
  info: '未分类有'
75
- unit: '篇。'
75
+ unit: '篇。'
76
+ langs: '本文提供的所有语言版本:'
@@ -72,4 +72,5 @@ categories:
72
72
  unit: '個,'
73
73
  uncategory:
74
74
  info: '未分類有'
75
- unit: '篇。'
75
+ unit: '篇。'
76
+ langs: '本文提供的所有語言版本:'
@@ -2,62 +2,74 @@
2
2
  {% assign locales = site.data.locales[lang] %}
3
3
  {% assign footer = locales.footer%}
4
4
  <footer class="g-footer">
5
- <section class="links">{{ site.title }} ©
6
- {% assign current = "now" | date: "%Y" | plus: 0%}
7
- {% unless site.footer.since and site.footer.since == current %}
8
- {{ site.footer.since }}
9
- -
10
- {% endunless %}
11
- {{ current }}
12
- {% if site.beian %}
13
- <a href="https://beian.miit.gov.cn/" target="_blank" class="extlinks">{{ site.beian }}</a>
14
- {% endif %}
15
- </section>
16
- <section class="links">
17
- {{ footer.driver }}
18
- {% 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 %}
19
- {% if site.supports.webify %} & <a href="https://webify.cloudbase.net/" target="_blank" class="extlinks">CloudBase Webify</a> {% endif %}
20
- </section>
21
- {% if site.cnzz %}
22
- <script type="text/javascript">document.write(unescape("%3Cspan id='cnzz_stat_icon_{{ site.cnzz }}'%3E%3C/span%3E%3Cscript src='https://v1.cnzz.com/z_stat.php%3Fid%3D{{ site.cnzz }}%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));</script>
23
- {% endif %}
24
- {% if site.busuanzi %}
25
- <section>
26
- <span id="busuanzi_container_site_pv">
27
- 👁️ {{ footer.views }} <span id="busuanzi_value_site_pv"></span> <b>·</b>
28
- </span>
29
- <span id="busuanzi_container_site_uv">
30
- 👤 {{ footer.visitors }} <span id="busuanzi_value_site_uv"></span>
31
- </span>
32
- </section>
33
- {% endif %}
34
- {% if site.supports.upyun %}
35
- <section>
36
- <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>
37
- </section>
38
- {% endif %}
39
- <section>
40
- {% if site.alivetime %}
41
- {{ footer.running.info }}
42
- <span class="alivetime_days"></span> {{ footer.running.day }}
43
- <span class="alivetime_hours"></span> {{ footer.running.hour }}
44
- <span class="alivetime_minutes"></span> {{ footer.running.minute }}
45
- <span class="alivetime_seconds"></span> {{ footer.running.second }}
5
+ <div class="g-container">
6
+ <div class="g-left">
7
+ <section class="links">
8
+ {{ footer.driver }}
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
+ {% if site.supports.webify %} & <a href="https://webify.cloudbase.net/" target="_blank" class="extlinks">CloudBase Webify</a> {% endif %}
11
+ </section>
12
+ <section class="links">{{ site.title }} ©
13
+ {% assign current = "now" | date: "%Y" | plus: 0%}
14
+ {% unless site.footer.since and site.footer.since == current %}
15
+ {{ site.footer.since }}
16
+ -
17
+ {% endunless %}
18
+ {{ current }}
19
+ {% if site.beian %}
20
+ <a href="https://beian.miit.gov.cn/" target="_blank" class="extlinks">{{ site.beian }}</a>
21
+ {% endif %}
22
+ </section>
23
+ {% if site.busuanzi %}
24
+ <section>
25
+ <span id="busuanzi_container_site_pv">
26
+ 👁️ {{ footer.views }} <span id="busuanzi_value_site_pv"></span> <b>·</b>
27
+ </span>
28
+ <span id="busuanzi_container_site_uv">
29
+ 👤 {{ footer.visitors }} <span id="busuanzi_value_site_uv"></span>
30
+ </span>
31
+ </section>
32
+ {% endif %}
33
+ <section>
34
+ {% if site.alivetime %}
35
+ {{ footer.running.info }}
36
+ <span class="alivetime_days"></span> {{ footer.running.day }}
37
+ <span class="alivetime_hours"></span> {{ footer.running.hour }}
38
+ <span class="alivetime_minutes"></span> {{ footer.running.minute }}
39
+ <span class="alivetime_seconds"></span> {{ footer.running.second }}
40
+ {% endif %}
41
+ </section>
42
+ </div>
43
+ <div class="g-right">
44
+ {% if site.supports.upyun %}
45
+ <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>
47
+ </section>
48
+ {% endif %}
49
+ {% if site.foreverblog or site.wormhole or site.notbyAI %}
50
+ <section class="badges">
51
+ {% if site.foreverblog %}
52
+ <a href="https://www.foreverblog.cn/" target="_blank" class="foreverblog">
53
+ <img src="https://img.foreverblog.cn/logo_en_default.png" alt="">
54
+ </a>
55
+ {% endif %}
56
+ {% if site.wormhole %}
57
+ <a href="https://www.foreverblog.cn/go.html" target="_blank" class="wormhole">
58
+ <img src="https://img.foreverblog.cn/wormhole_3.gif" alt="" title="穿梭虫洞-随机访问十年之约友链博客">
59
+ </a>
60
+ {% endif%}
61
+ {% if site.notbyAI %}
62
+ <a href="https://notbyai.fyi/" target="_blank" class="notbyAI">
63
+ <img src="{{ "/assets/icons/notbyAI-white.png" | prepend: site.baseurl }}" alt="Written by Human, Not by AI">
64
+ </a>
65
+ {% endif %}
66
+ </section>
67
+ {% endif %}
68
+ </div>
69
+ {% if site.cnzz %}
70
+ <script type="text/javascript">document.write(unescape("%3Cspan id='cnzz_stat_icon_{{ site.cnzz }}'%3E%3C/span%3E%3Cscript src='https://v1.cnzz.com/z_stat.php%3Fid%3D{{ site.cnzz }}%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));</script>
46
71
  {% endif %}
47
- {% if site.foreverblog or site.wormhole %}
48
- <br/>
49
- {% endif %}
50
- {% if site.foreverblog %}
51
- <a href="https://www.foreverblog.cn/" target="_blank" class="foreverblog">
52
- <img src="https://img.foreverblog.cn/logo_en_default.png" alt="">
53
- </a>
54
- {% endif %}
55
- {% if site.wormhole %}
56
- <a href="https://www.foreverblog.cn/go.html" target="_blank" class="wormhole">
57
- <img src="https://img.foreverblog.cn/wormhole_3.gif" alt="" title="穿梭虫洞-随机访问十年之约友链博客">
58
- </a>
59
- {% endif%}
60
- </section>
72
+ </div>
61
73
  </footer>
62
74
  <div class="cookie-tip">
63
75
  {{ cookie.cookieconsent_status }} {{ footer.tos.left }}「 <a href="{{ site.tos | prepend: site.baseurl }}">{{ footer.tos.middle }}</a> 」{{ footer.tos.right }}
@@ -1,4 +1,4 @@
1
- <header class="g-header">
1
+ <header class="g-header" data-theme="{{ site.theme-color }}">
2
2
  <div class="g-logo">
3
3
  <a href="{{ "/" | relative_url }}" aria-label="logo"></a>
4
4
  </div>
data/_includes/toc.html CHANGED
@@ -130,8 +130,8 @@
130
130
  {% if include.anchor_class %}
131
131
  {% capture anchorAttributes %}{{ anchorAttributes }} class="{{ include.anchor_class | split: '.' | join: ' ' }}"{% endcapture %}
132
132
  {% endif %}
133
-
134
- {% capture listItem %}<a{{ anchorAttributes }}>{{ anchorBody }}</a>{% endcapture %}
133
+ {% assign anchorBody2 = anchorBody | remove: ":" | replace: " ", "-" | downcase %}
134
+ {% capture listItem %}<a onclick="scrollToAdjust('{{ anchorBody2 }}')">{{ anchorBody }}</a>{% endcapture %}
135
135
  {% elsif skipNoIDs == true %}
136
136
  {% continue %}
137
137
  {% else %}
@@ -12,9 +12,9 @@
12
12
  <div class="alert-danger" role="alert">你的浏览器实在太太太旧了,放学别走,升级完浏览器再说!<a target="_blank" class="alert-link" href="http://browsehappy.com">立即升级</a></div>
13
13
  <![endif]-->
14
14
  {% if site.gray %}
15
- <div id=all class="gray">
15
+ <div id=all class="gray" data-theme="{{ site.theme-color }}">
16
16
  {% else %}
17
- <div id="all">
17
+ <div id="all" data-theme="{{ site.theme-color }}">
18
18
  {% endif %}
19
19
  <input id="nm-switch" type="hidden" value="{{ site.nightMode }}">
20
20
  <div class="visible">
@@ -0,0 +1,35 @@
1
+ {
2
+ "lang": "{{ site.language }}",
3
+ "dir": "{{ site.baseurl }}",
4
+ "name": {{ site.title | smartify | jsonify }},
5
+ "short_name": {{ site.pwa.short_name | smartify | jsonify }},
6
+ "icons": [
7
+ {
8
+ "src": "{{ "/assets/img/touch/android-chrome-192x192.png" | prepend: site.baseurl }}",
9
+ "sizes": "192x192",
10
+ "type": "image/png"
11
+ },
12
+ {
13
+ "src": "{{ "/assets/img/touch/android-chrome-512x512.png" | prepend: site.baseurl }}",
14
+ "sizes": "512x512",
15
+ "type": "image/png"
16
+ },
17
+ {
18
+ "src": "{{ "/assets/img/touch/android-chrome-maskable-192x192.png" | prepend: site.baseurl }}",
19
+ "sizes": "192x192",
20
+ "type": "image/png",
21
+ "purpose": "maskable"
22
+ },
23
+ {
24
+ "src": "{{ "/assets/img/touch/android-chrome-maskable-512x512.png" | prepend: site.baseurl }}",
25
+ "sizes": "512x512",
26
+ "type": "image/png",
27
+ "purpose": "maskable"
28
+ }
29
+ ],
30
+ "theme_color": "{{ site.pwa.color }}",
31
+ "background_color": "{{ site.pwa.color }}",
32
+ "start_url": "{{ "/" | prepend: site.baseurl }}",
33
+ "display": "standalone",
34
+ "orientation": "natural"
35
+ }
data/_layouts/page.html CHANGED
@@ -32,6 +32,37 @@ description: 或许是最漂亮的Jekyll主题
32
32
  <div class="article-list">
33
33
  <div class="post-content" style="padding-left: 30px;padding-right: 30px;width: auto;">
34
34
  <article class="markdown-body" style="width: auto;">
35
+ {% assign lang = page.lang | default: site.default_lang %}
36
+ {% assign locales = site.data.locales[lang] %}
37
+ {% if page.langs %}
38
+ <p><b>{{ locales.langs }}</b>
39
+ {% assign langs = "zh-Hans, zh-Hant, en, ja" | split: ", " %}
40
+ {% assign langnames = "简中, 繁中, EN, 日本語" | split: ", " %}
41
+ {% if lang == site.default_lang %}
42
+ {% assign url = page.url %}
43
+ {% else %}
44
+ {% assign urls = page.url | split: '/' %}
45
+ {% assign url = "" %}
46
+ {% for u in urls offset:2 %}
47
+ {% assign url = url | append: "/" | append: u %}
48
+ {% endfor %}
49
+ {% endif %}
50
+ {% for l in page.langs %}
51
+ {% for i in (0..4) %}
52
+ {% if langs[i] == l %}
53
+ {% if l == page.lang %}
54
+ {{ langnames[i] }}
55
+ {% elsif l == site.default_lang %}
56
+ <a href="{{ url }}">{{ langnames[i] }}</a>
57
+ {% else %}
58
+ {% assign prefix = "/" | append: l %}
59
+ <a href="{{ url | prepend: prefix }}">{{ langnames[i] }}</a>
60
+ {% endif %}
61
+ {% endif %}
62
+ {% endfor %}
63
+ {% endfor %}
64
+ </p>
65
+ {% endif %}
35
66
  {{ content | extlinks }}
36
67
  </article>
37
68
  </div>
data/_layouts/post.html CHANGED
@@ -18,9 +18,9 @@
18
18
  <div class="alert-danger" role="alert">你的浏览器实在太太太旧了,放学别走,升级完浏览器再说!<a target="_blank" class="alert-link" href="http://browsehappy.com">立即升级</a></div>
19
19
  <![endif]-->
20
20
  {% if site.gray %}
21
- <div id=all class="post gray">
21
+ <div id=all class="post gray" data-theme="{{ site.theme-color }}">
22
22
  {% else %}
23
- <div id="all" class="post">
23
+ <div id="all" class="post" data-theme="{{ site.theme-color }}">
24
24
  {% endif %}
25
25
  <div class="alert-tip" id="no-previous">
26
26
  {{ post.tips.left }}
@@ -111,13 +111,42 @@
111
111
  {% if site.toc %}
112
112
  <div class="container">
113
113
  <div class="contents">
114
- <article class="markdown-body">
115
- {{ page.content }}
114
+ <article class="markdown-body post">
115
+ {% if page.langs %}
116
+ <p><b>{{ locales.langs }}</b>
117
+ {% assign langs = "zh-Hans, zh-Hant, en, ja" | split: ", " %}
118
+ {% assign langnames = "简中, 繁中, EN, 日本語" | split: ", " %}
119
+ {% if lang == site.default_lang %}
120
+ {% assign url = page.url %}
121
+ {% else %}
122
+ {% assign urls = page.url | split: '/' %}
123
+ {% assign url = "" %}
124
+ {% for u in urls offset:2 %}
125
+ {% assign url = url | append: "/" | append: u %}
126
+ {% endfor %}
127
+ {% endif %}
128
+ {% for l in page.langs %}
129
+ {% for i in (0..4) %}
130
+ {% if langs[i] == l %}
131
+ {% if l == page.lang %}
132
+ {{ langnames[i] }}
133
+ {% elsif l == site.default_lang %}
134
+ <a href="{{ url }}">{{ langnames[i] }}</a>
135
+ {% else %}
136
+ {% assign prefix = "/" | append: l %}
137
+ <a href="{{ url | prepend: prefix }}">{{ langnames[i] }}</a>
138
+ {% endif %}
139
+ {% endif %}
140
+ {% endfor %}
141
+ {% endfor %}
142
+ </p>
143
+ {% endif %}
144
+ {{ page.content | extlinks }}
116
145
  <div class="post-copyright">
117
146
  <p>
118
147
  <span>{{ copyright.statement.name }}:</span>
119
148
  {{ copyright.statement.left }}
120
- <a href="{{ site.url }}">{{ site.title }}</a>
149
+ <a href="{{ site.url }}" class="cplink">{{ site.title }}</a>
121
150
  {{ copyright.statement.middle }}
122
151
  </p>
123
152
  {% if site.cclicense %}
@@ -128,7 +157,7 @@
128
157
  </p>
129
158
  {% endif %}
130
159
  <p><span>{{ copyright.title }}:</span>《 {{ page.title }} 》</p>
131
- <p><span>{{ copyright.link }}:</span><a href="{{ page.url | prepend: site.url }}">{{ page.url | prepend: site.url }}</a></p>
160
+ <p><span>{{ copyright.link }}:</span><a href="{{ page.url | prepend: site.url }}" class="cplink">{{ page.url | prepend: site.url }}</a></p>
132
161
  <p class="tips">{{ copyright.statement.outdate1 }} <span></span> {{ copyright.statement.outdate2 }}</p>
133
162
  </div>
134
163
  </article>
@@ -140,13 +169,42 @@
140
169
  </div>
141
170
  {% else %}
142
171
  <article class="markdown-body">
172
+ {% if page.langs %}
173
+ <p><b>{{ locales.langs }}</b>
174
+ {% assign langs = "zh-Hans, zh-Hant, en, ja" | split: ", " %}
175
+ {% assign langnames = "简中, 繁中, EN, 日本語" | split: ", " %}
176
+ {% if lang == site.default_lang %}
177
+ {% assign url = page.url %}
178
+ {% else %}
179
+ {% assign urls = page.url | split: '/' %}
180
+ {% assign url = "" %}
181
+ {% for u in urls offset:2 %}
182
+ {% assign url = url | append: "/" | append: u %}
183
+ {% endfor %}
184
+ {% endif %}
185
+ {% for l in page.langs %}
186
+ {% for i in (0..4) %}
187
+ {% if langs[i] == l %}
188
+ {% if l == page.lang %}
189
+ {{ langnames[i] }}
190
+ {% elsif l == site.default_lang %}
191
+ <a href="{{ url }}">{{ langnames[i] }}</a>
192
+ {% else %}
193
+ {% assign prefix = "/" | append: l %}
194
+ <a href="{{ url | prepend: prefix }}">{{ langnames[i] }}</a>
195
+ {% endif %}
196
+ {% endif %}
197
+ {% endfor %}
198
+ {% endfor %}
199
+ </p>
200
+ {% endif %}
143
201
  {{ page.content }}
144
202
  <div class="post-copyright">
145
203
  {% assign copyright = post.copyright %}
146
204
  <p>
147
205
  <span>{{ copyright.statement.name }}:</span>
148
206
  {{ copyright.statement.left }}
149
- <a href="{{ site.url }}">{{ site.title }}</a>
207
+ <a href="{{ site.url }}" class="cplink">{{ site.title }}</a>
150
208
  {{ copyright.statement.middle }}
151
209
  </p>
152
210
  {% if site.cclicense %}
@@ -157,7 +215,7 @@
157
215
  </p>
158
216
  {% endif %}
159
217
  <p><span>{{ copyright.title }}:</span>《 {{ page.title }} 》</p>
160
- <p><span>{{ copyright.link }}:</span><a href="{{ page.url | prepend: site.url }}">{{ page.url | prepend: site.url }}</a></p>
218
+ <p><span>{{ copyright.link }}:</span><a href="{{ page.url | prepend: site.url }}" class="cplink">{{ page.url | prepend: site.url }}</a></p>
161
219
  <p class="tips">{{ copyright.statement.outdate1 }} <span></span> {{ copyright.statement.outdate2 }}</p>
162
220
  </div>
163
221
  </article>
@@ -321,6 +379,19 @@
321
379
  <script src="https://cdn.jsdelivr.net/npm/dayjs@1.11.2/plugin/customParseFormat.js"></script>
322
380
  <script src="https://cdn.jsdelivr.net/npm/dayjs@1.11.2/plugin/relativeTime.js"></script>
323
381
  <script>
382
+ /**
383
+ * Better Scroll Experience
384
+ */
385
+ function scrollToAdjust(id){
386
+ var element = document.getElementById(id);
387
+ var headerOffset = 90;
388
+ var elementPosition = element.getBoundingClientRect().top;
389
+ var offsetPosition = elementPosition + window.scrollY - headerOffset;
390
+ window.scrollTo({
391
+ top: offsetPosition,
392
+ behavior: "smooth"
393
+ });
394
+ }
324
395
  // 给图片添加链接
325
396
  $(document).ready(function() {
326
397
  var baseurl = $("meta[property='og:baseurl']").attr('content');
@@ -0,0 +1,7 @@
1
+ [{% for post in site.posts %}
2
+ {
3
+ "title" : "{{ post.title | escape }}",
4
+ "tags" : "{% for tag in post.tags %}{% if forloop.rindex != 1 %}{{ tag }} {% else %}{{ tag }}{% endif %}{% endfor %}",
5
+ "url" : "{{ post.url | relative_url }}"
6
+ } {% unless forloop.last %},{% endunless %}
7
+ {% endfor %}]
data/_layouts/sw.js CHANGED
@@ -4,11 +4,11 @@ const offlineFallbackPage = "index.html";
4
4
 
5
5
  // Install stage sets up the index page (home page) in the cache and opens a new cache
6
6
  self.addEventListener("install", function (event) {
7
- console.log("Install Event processing");
7
+ // console.log("Install Event processing");
8
8
 
9
9
  event.waitUntil(
10
10
  caches.open(CACHE).then(function (cache) {
11
- console.log("Cached offline page during install");
11
+ // console.log("Cached offline page during install");
12
12
 
13
13
  if (offlineFallbackPage === "ToDo-replace-this-name.html") {
14
14
  return cache.add(new Response("Update the value of the offlineFallbackPage constant in the serviceworker."));
@@ -26,7 +26,7 @@ if (event.request.method !== "GET") return;
26
26
  event.respondWith(
27
27
  fetch(event.request)
28
28
  .then(function (response) {
29
- console.log("Add page to offline cache: " + response.url);
29
+ // console.log("Add page to offline cache: " + response.url);
30
30
 
31
31
  // If request was success, add or update it in the cache
32
32
  event.waitUntil(updateCache(event.request, response.clone()));
@@ -34,7 +34,7 @@ event.respondWith(
34
34
  return response;
35
35
  })
36
36
  .catch(function (error) {
37
- console.log("Network request Failed. Serving content from cache: " + error);
37
+ // console.log("Network request Failed. Serving content from cache: " + error);
38
38
  return fromCache(event.request);
39
39
  })
40
40
  );
data/_layouts/tags.html CHANGED
@@ -5,7 +5,7 @@ layout: default
5
5
 
6
6
  {% include header.html %}
7
7
 
8
- <div class="g-banner tags-banner {{ site.postPatterns | prepend: 'post-pattern-' }} {{ site.theme-color | prepend: 'bgcolor-' }}" data-theme="{{ site.theme-color }}">
8
+ <div class="g-banner tags-banner {{ site.postPatterns | prepend: 'post-pattern-' }}" data-theme="{{ site.theme-color }}">
9
9
  <h2>TAGS</h2>
10
10
  </div>
11
11
 
@@ -24,7 +24,7 @@ layout: default
24
24
  {% for i in (1..max_tag_count) reversed %}
25
25
  {% for tag in site.tags %}
26
26
  {% if tag[1].size == i %}
27
- <a href="{{ page.url }}.html#{{ tag[0] }}" class="tag">
27
+ <a href="{{ page.url }}#{{ tag[0] }}" class="tag">
28
28
  {{ tag[0] }}<sup>{{ i }}</sup>
29
29
  </a>
30
30
  {% endif %}