jekyll-theme-resuchirp 0.2.0

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.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +94 -0
  4. data/_data/authors.yml +17 -0
  5. data/_data/contact.yml +28 -0
  6. data/_data/locales/ar.yml +91 -0
  7. data/_data/locales/bg-BG.yml +81 -0
  8. data/_data/locales/cs-CZ.yml +89 -0
  9. data/_data/locales/de-DE.yml +80 -0
  10. data/_data/locales/el-GR.yml +91 -0
  11. data/_data/locales/en.yml +91 -0
  12. data/_data/locales/es-ES.yml +77 -0
  13. data/_data/locales/fi-FI.yml +90 -0
  14. data/_data/locales/fr-FR.yml +77 -0
  15. data/_data/locales/hu-HU.yml +79 -0
  16. data/_data/locales/id-ID.yml +77 -0
  17. data/_data/locales/it-IT.yml +90 -0
  18. data/_data/locales/ko-KR.yml +84 -0
  19. data/_data/locales/my-MM.yml +77 -0
  20. data/_data/locales/pt-BR.yml +77 -0
  21. data/_data/locales/ru-RU.yml +77 -0
  22. data/_data/locales/sl-SI.yml +91 -0
  23. data/_data/locales/sv-SE.yml +91 -0
  24. data/_data/locales/th.yml +91 -0
  25. data/_data/locales/tr-TR.yml +77 -0
  26. data/_data/locales/uk-UA.yml +77 -0
  27. data/_data/locales/vi-VN.yml +76 -0
  28. data/_data/locales/zh-CN.yml +83 -0
  29. data/_data/locales/zh-TW.yml +83 -0
  30. data/_data/origin/basic.yml +48 -0
  31. data/_data/origin/cors.yml +59 -0
  32. data/_data/share.yml +25 -0
  33. data/_includes/comments/disqus.html +49 -0
  34. data/_includes/comments/giscus.html +64 -0
  35. data/_includes/comments/utterances.html +51 -0
  36. data/_includes/comments.html +5 -0
  37. data/_includes/datetime.html +19 -0
  38. data/_includes/embed/twitch.html +4 -0
  39. data/_includes/embed/youtube.html +6 -0
  40. data/_includes/favicons.html +17 -0
  41. data/_includes/footer.html +34 -0
  42. data/_includes/google-analytics.html +14 -0
  43. data/_includes/head.html +95 -0
  44. data/_includes/js-selector.html +106 -0
  45. data/_includes/jsdelivr-combine.html +26 -0
  46. data/_includes/lang.html +8 -0
  47. data/_includes/language-alias.html +70 -0
  48. data/_includes/mermaid.html +58 -0
  49. data/_includes/metadata-hook.html +1 -0
  50. data/_includes/mode-toggle.html +143 -0
  51. data/_includes/no-linenos.html +10 -0
  52. data/_includes/origin-type.html +13 -0
  53. data/_includes/post-nav.html +37 -0
  54. data/_includes/post-paginator.html +89 -0
  55. data/_includes/post-sharing.html +37 -0
  56. data/_includes/read-time.html +37 -0
  57. data/_includes/refactor-content.html +286 -0
  58. data/_includes/related-posts.html +97 -0
  59. data/_includes/search-loader.html +45 -0
  60. data/_includes/search-results.html +10 -0
  61. data/_includes/sidebar.html +104 -0
  62. data/_includes/toc.html +13 -0
  63. data/_includes/topbar.html +70 -0
  64. data/_includes/trending-tags.html +46 -0
  65. data/_includes/update-list.html +39 -0
  66. data/_layouts/archives.html +36 -0
  67. data/_layouts/categories.html +138 -0
  68. data/_layouts/category.html +24 -0
  69. data/_layouts/compress.html +10 -0
  70. data/_layouts/default.html +76 -0
  71. data/_layouts/home.html +110 -0
  72. data/_layouts/page.html +68 -0
  73. data/_layouts/post.html +133 -0
  74. data/_layouts/tag.html +23 -0
  75. data/_layouts/tags.html +22 -0
  76. data/_sass/addon/commons.scss +1578 -0
  77. data/_sass/addon/module.scss +178 -0
  78. data/_sass/addon/syntax.scss +271 -0
  79. data/_sass/addon/variables.scss +27 -0
  80. data/_sass/colors/dark-syntax.scss +87 -0
  81. data/_sass/colors/dark-typography.scss +151 -0
  82. data/_sass/colors/light-syntax.scss +84 -0
  83. data/_sass/colors/light-typography.scss +109 -0
  84. data/_sass/jekyll-theme-chirpy.scss +19 -0
  85. data/_sass/layout/archives.scss +144 -0
  86. data/_sass/layout/categories.scss +83 -0
  87. data/_sass/layout/category-tag.scss +77 -0
  88. data/_sass/layout/home.scss +219 -0
  89. data/_sass/layout/post.scss +414 -0
  90. data/_sass/layout/tags.scss +19 -0
  91. data/_sass/variables-hook.scss +3 -0
  92. data/assets/404.html +16 -0
  93. data/assets/css/style.scss +6 -0
  94. data/assets/feed.xml +61 -0
  95. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  96. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  97. data/assets/img/favicons/apple-touch-icon.png +0 -0
  98. data/assets/img/favicons/browserconfig.xml +13 -0
  99. data/assets/img/favicons/favicon-16x16.png +0 -0
  100. data/assets/img/favicons/favicon-32x32.png +0 -0
  101. data/assets/img/favicons/favicon.ico +0 -0
  102. data/assets/img/favicons/mstile-150x150.png +0 -0
  103. data/assets/img/favicons/site.webmanifest +26 -0
  104. data/assets/js/data/search.json +20 -0
  105. data/assets/js/data/swcache.js +50 -0
  106. data/assets/js/pwa/app.js +47 -0
  107. data/assets/js/pwa/sw.js +90 -0
  108. data/assets/js/pwa/unregister.js +12 -0
  109. data/assets/robots.txt +10 -0
  110. metadata +255 -0
@@ -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: 篇文章
@@ -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: 篇文章
@@ -0,0 +1,48 @@
1
+ # fonts
2
+
3
+ webfonts: /assets/lib/fonts/main.css
4
+
5
+ # Libraries
6
+
7
+ jquery:
8
+ js: /assets/lib/jquery/jquery.min.js
9
+
10
+ bootstrap:
11
+ css: /assets/lib/bootstrap/bootstrap.min.css
12
+ js: /assets/lib/bootstrap/bootstrap.bundle.min.js
13
+
14
+ toc:
15
+ css: /assets/lib/tocbot/tocbot.min.css
16
+ js: /assets/lib/tocbot/tocbot.min.js
17
+
18
+ fontawesome:
19
+ css: /assets/lib/fontawesome-free/css/all.min.css
20
+
21
+ search:
22
+ js: /assets/lib/simple-jekyll-search/simple-jekyll-search.min.js
23
+
24
+ mermaid:
25
+ js: /assets/lib/mermaid/mermaid.min.js
26
+
27
+ dayjs:
28
+ js:
29
+ common: /assets/lib/dayjs/dayjs.min.js
30
+ locale: /assets/lib/dayjs/locale/en.min.js
31
+ relativeTime: /assets/lib/dayjs/plugin/relativeTime.min.js
32
+ localizedFormat: /assets/lib/dayjs/plugin/localizedFormat.min.js
33
+
34
+ magnific-popup:
35
+ css: /assets/lib/magnific-popup/magnific-popup.css
36
+ js: /assets/lib/magnific-popup/jquery.magnific-popup.min.js
37
+
38
+ lazysizes:
39
+ js: /assets/lib/lazysizes/lazysizes.min.js
40
+
41
+ clipboard:
42
+ js: /assets/lib/clipboard/clipboard.min.js
43
+
44
+ polyfill:
45
+ js: /assets/lib/polyfill-v3-es6/polyfill.min.js
46
+
47
+ mathjax:
48
+ js: /assets/lib/mathjax/tex-chtml.js
@@ -0,0 +1,59 @@
1
+ # CDNs
2
+
3
+ cdns:
4
+ # Google Fonts
5
+ - url: https://fonts.googleapis.com
6
+ - url: https://fonts.gstatic.com
7
+ args: crossorigin
8
+ - url: https://fonts.googleapis.com
9
+ # jsDelivr CDN
10
+ - url: https://cdn.jsdelivr.net
11
+
12
+ # fonts
13
+
14
+ webfonts: https://fonts.googleapis.com/css2?family=Lato&family=Source+Sans+Pro:wght@400;600;700;900&display=swap
15
+
16
+ # Libraries
17
+
18
+ jquery:
19
+ js: https://cdn.jsdelivr.net/npm/jquery@3.7.0/dist/jquery.min.js
20
+
21
+ 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
+
25
+ toc:
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
+
29
+ fontawesome:
30
+ css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/css/all.min.css
31
+
32
+ search:
33
+ js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js
34
+
35
+ mermaid:
36
+ js: https://cdn.jsdelivr.net/npm/mermaid@9.4.3/dist/mermaid.min.js
37
+
38
+ dayjs:
39
+ js:
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
+
45
+ magnific-popup:
46
+ css: https://cdn.jsdelivr.net/npm/magnific-popup@1.1.0/dist/magnific-popup.min.css
47
+ js: https://cdn.jsdelivr.net/npm/magnific-popup@1.1.0/dist/jquery.magnific-popup.min.js
48
+
49
+ lazysizes:
50
+ js: https://cdn.jsdelivr.net/npm/lazysizes@5.3.2/lazysizes.min.js
51
+
52
+ clipboard:
53
+ js: https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js
54
+
55
+ polyfill:
56
+ js: https://polyfill.io/v3/polyfill.min.js?features=es6
57
+
58
+ mathjax:
59
+ js: https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-chtml.js
data/_data/share.yml ADDED
@@ -0,0 +1,25 @@
1
+ # Sharing options at the bottom of the post.
2
+ # Icons from <https://fontawesome.com/>
3
+
4
+ platforms:
5
+ - type: Twitter
6
+ icon: "fab fa-twitter"
7
+ link: "https://twitter.com/intent/tweet?text=TITLE&url=URL"
8
+
9
+ - type: Facebook
10
+ icon: "fab fa-facebook-square"
11
+ link: "https://www.facebook.com/sharer/sharer.php?title=TITLE&u=URL"
12
+
13
+ - type: Telegram
14
+ icon: "fab fa-telegram"
15
+ link: "https://t.me/share/url?url=URL&text=TITLE"
16
+
17
+ # Uncomment below if you need to.
18
+ #
19
+ # - type: Linkedin
20
+ # icon: "fab fa-linkedin"
21
+ # link: "https://www.linkedin.com/sharing/share-offsite/?url=URL"
22
+ #
23
+ # - type: Weibo
24
+ # icon: "fab fa-weibo"
25
+ # link: "http://service.weibo.com/share/share.php?title=TITLE&url=URL"
@@ -0,0 +1,49 @@
1
+ <!-- The Disqus lazy loading. -->
2
+ <div id="disqus_thread" class="pt-2 pb-2">
3
+ <p class="text-center text-muted small">Comments powered by <a href="https://disqus.com/">Disqus</a>.</p>
4
+ </div>
5
+
6
+ <script type="text/javascript">
7
+ var disqus_config = function () {
8
+ this.page.url = '{{ page.url | absolute_url }}';
9
+ this.page.identifier = '{{ page.url }}';
10
+ };
11
+
12
+ /* Lazy loading */
13
+ var disqus_observer = new IntersectionObserver(
14
+ function (entries) {
15
+ if (entries[0].isIntersecting) {
16
+ (function () {
17
+ var d = document,
18
+ s = d.createElement('script');
19
+ s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
20
+ s.setAttribute('data-timestamp', +new Date());
21
+ (d.head || d.body).appendChild(s);
22
+ })();
23
+
24
+ disqus_observer.disconnect();
25
+ }
26
+ },
27
+ { threshold: [0] }
28
+ );
29
+
30
+ disqus_observer.observe(document.querySelector('#disqus_thread'));
31
+
32
+ /* Auto switch theme */
33
+ function reloadDisqus() {
34
+ if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
35
+ /* Disqus hasn't been loaded */
36
+ if (typeof DISQUS === 'undefined') {
37
+ return;
38
+ }
39
+
40
+ if (document.readyState == 'complete') {
41
+ DISQUS.reset({ reload: true, config: disqus_config });
42
+ }
43
+ }
44
+ }
45
+
46
+ if (document.querySelector('.mode-toggle')) {
47
+ window.addEventListener('message', reloadDisqus);
48
+ }
49
+ </script>
@@ -0,0 +1,64 @@
1
+ <!-- https://giscus.app/ -->
2
+ <script type="text/javascript">
3
+ (function () {
4
+ const origin = 'https://giscus.app';
5
+ const iframe = 'iframe.giscus-frame';
6
+ const lightTheme = 'light';
7
+ const darkTheme = 'dark_dimmed';
8
+
9
+ let initTheme = lightTheme;
10
+ const html = document.documentElement;
11
+
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
+ ) {
18
+ initTheme = darkTheme;
19
+ }
20
+
21
+ let giscusAttributes = {
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: ''
35
+ };
36
+
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);
42
+
43
+ addEventListener('message', (event) => {
44
+ if (
45
+ event.source === window &&
46
+ event.data &&
47
+ event.data.direction === ModeToggle.ID
48
+ ) {
49
+ /* global theme mode changed */
50
+ const mode = event.data.message;
51
+ const theme = mode === ModeToggle.DARK_MODE ? darkTheme : lightTheme;
52
+
53
+ const message = {
54
+ setConfig: {
55
+ theme: theme
56
+ }
57
+ };
58
+
59
+ const giscus = document.querySelector(iframe).contentWindow;
60
+ giscus.postMessage({ giscus: message }, origin);
61
+ }
62
+ });
63
+ })();
64
+ </script>
@@ -0,0 +1,51 @@
1
+ <!-- https://utteranc.es/ -->
2
+ <script src="https://utteranc.es/client.js"
3
+ repo="{{ site.comments.utterances.repo }}"
4
+ issue-term="{{ site.comments.utterances.issue_term }}"
5
+ crossorigin="anonymous"
6
+ async>
7
+ </script>
8
+
9
+ <script type="text/javascript">
10
+ $(function() {
11
+ const origin = "https://utteranc.es";
12
+ const iframe = "iframe.utterances-frame";
13
+ const lightTheme = "github-light";
14
+ const darkTheme = "github-dark";
15
+ let initTheme = lightTheme;
16
+
17
+ if ($("html[data-mode=dark]").length > 0
18
+ || ($("html[data-mode]").length == 0
19
+ && window.matchMedia("(prefers-color-scheme: dark)").matches)) {
20
+ initTheme = darkTheme;
21
+ }
22
+
23
+ addEventListener("message", (event) => {
24
+ let theme;
25
+
26
+ /* credit to <https://github.com/utterance/utterances/issues/170#issuecomment-594036347> */
27
+ if (event.origin === origin) {
28
+ /* page initial */
29
+ theme = initTheme;
30
+
31
+ } else if (event.source === window && event.data &&
32
+ event.data.direction === ModeToggle.ID) {
33
+ /* global theme mode changed */
34
+ const mode = event.data.message;
35
+ theme = (mode === ModeToggle.DARK_MODE ? darkTheme : lightTheme);
36
+
37
+ } else {
38
+ return;
39
+ }
40
+
41
+ const message = {
42
+ type: "set-theme",
43
+ theme: theme
44
+ };
45
+
46
+ const utterances = document.querySelector(iframe).contentWindow;
47
+ utterances.postMessage(message, origin);
48
+ });
49
+
50
+ });
51
+ </script>
@@ -0,0 +1,5 @@
1
+ <!-- The comments switcher -->
2
+ {% if page.comments and site.comments.active %}
3
+ {% capture path %}comments/{{ site.comments.active }}.html{% endcapture %}
4
+ {% include {{ path }} %}
5
+ {% endif %}
@@ -0,0 +1,19 @@
1
+ <!--
2
+ Date format snippet
3
+ See: ${JS_ROOT}/utils/locale-dateime.js
4
+ -->
5
+
6
+ {% assign wrap_elem = include.wrap | default: 'em' %}
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
+
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
+ >
18
+ {{ include.date | date: df_strftime }}
19
+ </{{ wrap_elem }}>
@@ -0,0 +1,4 @@
1
+ <iframe class="embed-video twitch lazyload"
2
+ src="https://player.twitch.tv/?video={{ include.id }}&parent={{ site.url | split: '://' | last | remove: '/' }}"
3
+ frameborder="0" allowfullscreen="true"
4
+ scrolling="no"></iframe>
@@ -0,0 +1,6 @@
1
+ <iframe class="embed-video youtube lazyload"
2
+ src="https://www.youtube.com/embed/{{ include.id }}"
3
+ title="YouTube video player"
4
+ frameborder="0"
5
+ allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
6
+ allowfullscreen></iframe>
@@ -0,0 +1,17 @@
1
+ <!--
2
+ The Favicons for Web, Android, Microsoft, and iOS (iPhone and iPad) Apps
3
+ Generated by: https://realfavicongenerator.net/
4
+ -->
5
+
6
+ {% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %}
7
+
8
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ favicon_path }}/apple-touch-icon.png">
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ favicon_path }}/favicon-32x32.png">
10
+ <link rel="icon" type="image/png" sizes="16x16" href="{{ favicon_path }}/favicon-16x16.png">
11
+ <link rel="manifest" href="{{ favicon_path }}/site.webmanifest">
12
+ <link rel="shortcut icon" href="{{ favicon_path }}/favicon.ico">
13
+ <meta name="apple-mobile-web-app-title" content="{{ site.title }}">
14
+ <meta name="application-name" content="{{ site.title }}">
15
+ <meta name="msapplication-TileColor" content="#da532c">
16
+ <meta name="msapplication-config" content="{{ favicon_path }}/browserconfig.xml">
17
+ <meta name="theme-color" content="#ffffff">
@@ -0,0 +1,34 @@
1
+ <!-- The Footer -->
2
+
3
+ <footer>
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 -%}
8
+ <a href="https://jekyllrb.com" target="_blank" rel="noopener">Jekyll</a>
9
+ {%- endcapture -%}
10
+
11
+ {%- capture _theme -%}
12
+ <a href="https://github.com/lilacnight/jekyll-theme-resuchirp" target="_blank" rel="noopener">Chirpy</a>
13
+ {%- endcapture -%}
14
+
15
+ {{ site.data.locales[include.lang].meta | replace: ':PLATFORM', _platform | replace: ':THEME', _theme }}
16
+ </p>
17
+
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>
32
+ </div>
33
+ </div>
34
+ </footer>
@@ -0,0 +1,14 @@
1
+ <!--
2
+ The GA snippet
3
+ -->
4
+ <!-- Global site tag (gtag.js) - Google Analytics -->
5
+ <script defer src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics.id }}"></script>
6
+ <script>
7
+ document.addEventListener("DOMContentLoaded", function(event) {
8
+ window.dataLayer = window.dataLayer || [];
9
+ function gtag(){dataLayer.push(arguments);}
10
+
11
+ gtag('js', new Date());
12
+ gtag('config', '{{ site.google_analytics.id }}');
13
+ });
14
+ </script>
@@ -0,0 +1,95 @@
1
+ <!-- The Head -->
2
+
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <meta name="theme-color" media="(prefers-color-scheme: light)" content="#f7f7f7">
6
+ <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1b1b1e">
7
+ <meta name="apple-mobile-web-app-capable" content="yes">
8
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
9
+ <meta
10
+ name="viewport"
11
+ content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover"
12
+ >
13
+
14
+ {% capture seo_tags %}
15
+ {% seo title=false %}
16
+ {% endcapture %}
17
+
18
+ {% if page.image %}
19
+ {% assign img = page.image.path | default: page.image %}
20
+
21
+ {% unless img contains '://' %}
22
+ {% assign img_path = page.img_path | append: '/' | append: img | replace: '//', '/' %}
23
+ {% capture target %}"{{ img | absolute_url }}"{% endcapture %}
24
+
25
+ {% if site.img_cdn contains '//' %}
26
+ <!-- it's a cross-origin URL -->
27
+ {% capture replacement %}"{{ site.img_cdn }}{{ img_path }}"{% endcapture %}
28
+ {% else %}
29
+ <!-- it's a local file path -->
30
+ {%- capture replacement -%}
31
+ "{{ site.img_cdn | append: '/' | append: img_path | replace: '//', '/' | absolute_url }}"
32
+ {%- endcapture -%}
33
+ {% endif %}
34
+
35
+ {% assign seo_tags = seo_tags | replace: target, replacement %}
36
+ {% endunless %}
37
+ {% endif %}
38
+
39
+ {{ seo_tags }}
40
+
41
+ <title>
42
+ {%- unless page.layout == 'home' -%}
43
+ {{ page.title | append: ' | ' }}
44
+ {%- endunless -%}
45
+ {{ site.title }}
46
+ </title>
47
+
48
+ {% include_cached favicons.html %}
49
+
50
+ {% if site.resources.ignore_env != jekyll.environment and site.resources.self_hosted %}
51
+ <link href="{{ site.data.origin[type].webfonts | relative_url }}" rel="stylesheet">
52
+
53
+ {% else %}
54
+ {% for cdn in site.data.origin[type].cdns %}
55
+ <link rel="preconnect" href="{{ cdn.url }}" {{ cdn.args }}>
56
+ <link rel="dns-prefetch" href="{{ cdn.url }}" {{ cdn.args }}>
57
+ {% endfor %}
58
+
59
+ <link rel="stylesheet" href="{{ site.data.origin[type].webfonts | relative_url }}">
60
+ {% endif %}
61
+
62
+ <!-- GA -->
63
+ {% if jekyll.environment == 'production' and site.google_analytics.id != empty and site.google_analytics.id %}
64
+ <link rel="preconnect" href="https://www.google-analytics.com" crossorigin="use-credentials">
65
+ <link rel="dns-prefetch" href="https://www.google-analytics.com">
66
+
67
+ <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="anonymous">
68
+ <link rel="dns-prefetch" href="https://www.googletagmanager.com">
69
+ {% endif %}
70
+
71
+ <!-- Bootstrap -->
72
+ <link rel="stylesheet" href="{{ site.data.origin[type].bootstrap.css | relative_url}}">
73
+
74
+ <!-- Font Awesome -->
75
+ <link rel="stylesheet" href="{{ site.data.origin[type].fontawesome.css | relative_url }}">
76
+
77
+ <link rel="stylesheet" href="{{ '/assets/css/style.css' | relative_url }}">
78
+
79
+ {% if site.toc and page.toc %}
80
+ <link rel="stylesheet" href="{{ site.data.origin[type].toc.css | relative_url }}">
81
+ {% endif %}
82
+
83
+ {% if page.layout == 'page' or page.layout == 'post' %}
84
+ <!-- Manific Popup -->
85
+ <link rel="stylesheet" href="{{ site.data.origin[type].magnific-popup.css | relative_url }}">
86
+ {% endif %}
87
+
88
+ <!-- JavaScript -->
89
+
90
+ {% unless site.theme_mode %}
91
+ {% include mode-toggle.html %}
92
+ {% endunless %}
93
+
94
+ {% include metadata-hook.html %}
95
+ </head>