hexo-theme-fluid 1.8.13 → 1.9.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.
Files changed (155) hide show
  1. package/LICENSE +674 -21
  2. package/README.md +17 -21
  3. package/_config.yml +164 -79
  4. package/languages/de.yml +58 -33
  5. package/languages/en.yml +58 -33
  6. package/languages/eo.yml +58 -33
  7. package/languages/es.yml +69 -0
  8. package/languages/ja.yml +58 -33
  9. package/languages/zh-CN.yml +58 -33
  10. package/languages/zh-HK.yml +69 -0
  11. package/languages/zh-TW.yml +58 -33
  12. package/layout/.DS_Store +0 -0
  13. package/layout/404.ejs +3 -1
  14. package/layout/{_partial → _partials}/archive-list.ejs +4 -4
  15. package/layout/_partials/category-chains.ejs +19 -0
  16. package/layout/_partials/category-list.ejs +62 -0
  17. package/layout/{_partial → _partials}/comments/changyan.ejs +0 -0
  18. package/layout/{_partial → _partials}/comments/cusdis.ejs +0 -0
  19. package/layout/{_partial → _partials}/comments/disqus.ejs +0 -0
  20. package/layout/_partials/comments/giscus.ejs +36 -0
  21. package/layout/{_partial → _partials}/comments/gitalk.ejs +0 -0
  22. package/layout/{_partial → _partials}/comments/livere.ejs +0 -0
  23. package/layout/{_partial → _partials}/comments/remark42.ejs +0 -0
  24. package/layout/{_partial → _partials}/comments/twikoo.ejs +3 -1
  25. package/layout/{_partial → _partials}/comments/utterances.ejs +1 -1
  26. package/layout/{_partial → _partials}/comments/valine.ejs +3 -1
  27. package/layout/{_partial → _partials}/comments/waline.ejs +6 -3
  28. package/layout/_partials/comments.ejs +5 -0
  29. package/layout/_partials/css.ejs +26 -0
  30. package/layout/_partials/footer/beian.ejs +33 -0
  31. package/layout/_partials/footer/statistics.ejs +39 -0
  32. package/layout/_partials/footer.ejs +18 -0
  33. package/layout/{_partial → _partials}/head.ejs +7 -1
  34. package/layout/_partials/header/banner.ejs +33 -0
  35. package/layout/{_partial/nav.ejs → _partials/header/navigation.ejs} +3 -2
  36. package/layout/_partials/header.ejs +8 -0
  37. package/layout/{_partial → _partials}/paginator.ejs +0 -0
  38. package/layout/_partials/plugins/analytics.ejs +87 -0
  39. package/layout/_partials/plugins/anchorjs.ejs +24 -0
  40. package/layout/_partials/plugins/code-widget.ejs +71 -0
  41. package/layout/_partials/plugins/fancybox.ejs +11 -0
  42. package/layout/_partials/plugins/highlight.ejs +13 -0
  43. package/layout/_partials/plugins/math.ejs +46 -0
  44. package/layout/_partials/plugins/mermaid.ejs +5 -0
  45. package/layout/{_partial → _partials}/plugins/nprogress.ejs +0 -0
  46. package/layout/_partials/plugins/typed.ejs +48 -0
  47. package/layout/_partials/post/category-bar.ejs +18 -0
  48. package/layout/_partials/post/copyright.ejs +56 -0
  49. package/layout/_partials/post/meta-bottom.ejs +16 -0
  50. package/layout/_partials/post/meta-top.ejs +63 -0
  51. package/layout/_partials/post/sidebar-left.ejs +10 -0
  52. package/layout/_partials/post/sidebar-right.ejs +10 -0
  53. package/layout/_partials/post/toc.ejs +34 -0
  54. package/layout/_partials/scripts.ejs +32 -0
  55. package/layout/{_partial → _partials}/search.ejs +2 -3
  56. package/layout/about.ejs +5 -3
  57. package/layout/archive.ejs +1 -1
  58. package/layout/categories.ejs +10 -59
  59. package/layout/category.ejs +1 -1
  60. package/layout/index.ejs +13 -15
  61. package/layout/layout.ejs +19 -39
  62. package/layout/links.ejs +2 -8
  63. package/layout/page.ejs +28 -12
  64. package/layout/post.ejs +65 -59
  65. package/layout/tag.ejs +1 -1
  66. package/package.json +11 -3
  67. package/scripts/.DS_Store +0 -0
  68. package/scripts/events/.DS_Store +0 -0
  69. package/scripts/events/index.js +1 -0
  70. package/scripts/events/lib/compatible-configs.js +7 -8
  71. package/scripts/events/lib/footnote.js +1 -1
  72. package/scripts/events/lib/hello.js +6 -2
  73. package/scripts/events/lib/highlight.js +93 -24
  74. package/scripts/events/lib/injects.js +118 -0
  75. package/scripts/events/lib/merge-configs.js +37 -7
  76. package/scripts/filters/default-injects.js +27 -0
  77. package/scripts/filters/post-filter.js +7 -0
  78. package/scripts/helpers/date.js +25 -0
  79. package/scripts/helpers/engine.js +9 -0
  80. package/scripts/helpers/export-config.js +8 -0
  81. package/scripts/helpers/import.js +24 -0
  82. package/scripts/helpers/injects.js +7 -0
  83. package/scripts/helpers/scope.js +44 -0
  84. package/scripts/helpers/utils.js +17 -2
  85. package/scripts/tags/checkbox.js +4 -2
  86. package/scripts/utils/.DS_Store +0 -0
  87. package/scripts/utils/object.js +5 -0
  88. package/scripts/utils/resolve.js +15 -0
  89. package/source/.DS_Store +0 -0
  90. package/source/css/_pages/_archive/archive.styl +28 -0
  91. package/source/css/_pages/_base/_widget/anchorjs.styl +8 -0
  92. package/source/css/_pages/_base/_widget/banner.styl +2 -11
  93. package/source/css/_pages/_base/_widget/board.styl +1 -4
  94. package/source/css/_pages/_base/_widget/code-widget.styl +36 -0
  95. package/source/css/_pages/_base/_widget/copyright.styl +90 -0
  96. package/source/css/_pages/_base/_widget/footer.styl +4 -1
  97. package/source/css/_pages/_base/_widget/header.styl +161 -2
  98. package/source/css/_pages/_base/_widget/modal.styl +100 -0
  99. package/source/css/_pages/_base/_widget/ngrogress.styl +12 -0
  100. package/source/css/_pages/_base/_widget/noscript.styl +12 -0
  101. package/source/css/_pages/_base/_widget/pagination.styl +23 -0
  102. package/source/css/_pages/_base/_widget/scroll-btn.styl +2 -15
  103. package/source/css/_pages/_base/_widget/toc.styl +75 -0
  104. package/source/css/_pages/_base/base.styl +23 -3
  105. package/source/css/_pages/_base/color-schema.styl +30 -58
  106. package/source/css/_pages/_base/inline.styl +2 -2
  107. package/source/css/_pages/_category/category-bar.styl +59 -0
  108. package/source/css/_pages/_category/category-chain.styl +6 -0
  109. package/source/css/_pages/_category/{categories.styl → category-list.styl} +17 -11
  110. package/source/css/_pages/_index/index.styl +7 -5
  111. package/source/css/_pages/_links/links.styl +2 -1
  112. package/source/css/_pages/_post/comment.styl +27 -0
  113. package/source/css/_pages/_post/highlight.styl +65 -0
  114. package/source/css/_pages/_post/markdown.styl +91 -0
  115. package/source/css/_pages/_post/{post.styl → post-page.styl} +44 -75
  116. package/source/css/_pages/_post/{tag_plugin.styl → post-tag.styl} +29 -27
  117. package/source/css/_variables/base.styl +30 -9
  118. package/source/css/highlight-dark.styl +6 -0
  119. package/source/css/highlight.styl +6 -0
  120. package/source/css/main.styl +7 -0
  121. package/source/img/.DS_Store +0 -0
  122. package/source/img/default.png +0 -0
  123. package/source/img/{favicon.png → fluid.png} +0 -0
  124. package/source/js/boot.js +1 -9
  125. package/source/js/color-schema.js +52 -7
  126. package/source/js/events.js +15 -15
  127. package/source/js/leancloud.js +9 -2
  128. package/source/js/local-search.js +2 -2
  129. package/source/js/plugins.js +26 -94
  130. package/source/js/utils.js +28 -12
  131. package/.editorconfig +0 -13
  132. package/.eslintrc +0 -224
  133. package/.gitattributes +0 -1
  134. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -28
  135. package/.github/ISSUE_TEMPLATE/bug_report_zh.md +0 -33
  136. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  137. package/.github/ISSUE_TEMPLATE/feature_request_zh.md +0 -20
  138. package/.github/ISSUE_TEMPLATE/question.md +0 -11
  139. package/.github/ISSUE_TEMPLATE/question_zh.md +0 -14
  140. package/.github/workflows/limit.yaml +0 -18
  141. package/README_en.md +0 -125
  142. package/layout/_partial/beian.ejs +0 -36
  143. package/layout/_partial/css.ejs +0 -47
  144. package/layout/_partial/footer.ejs +0 -11
  145. package/layout/_partial/plugins/analytics.ejs +0 -66
  146. package/layout/_partial/plugins/math.ejs +0 -69
  147. package/layout/_partial/plugins/mermaid.ejs +0 -24
  148. package/layout/_partial/plugins/typed.ejs +0 -41
  149. package/layout/_partial/post-meta.ejs +0 -51
  150. package/layout/_partial/scripts.ejs +0 -72
  151. package/layout/_partial/statistics.ejs +0 -43
  152. package/layout/_partial/toc.ejs +0 -4
  153. package/source/css/_pages/_base/_widget/copy-btn.styl +0 -42
  154. package/source/css/_pages/_base/rewrite.styl +0 -556
  155. package/source/css/_pages/_category/category.styl +0 -0
@@ -1,28 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
- title: ''
5
- labels: ':bug: bug'
6
- assignees: ''
7
- ---
8
-
9
- #### Make sure
10
- - [ ] Upgrade the latest [release](https://github.com/fluid-dev/hexo-theme-fluid/releases).
11
- - [ ] Browser does not belong to IE and other old browsers
12
- - [ ] It can be replicated through `hexo clean && hexo s` and cleared browser cache in the localhost.
13
- - [ ] Not affected by other Hexo plugins
14
-
15
- #### Describe the bug
16
- <!-- A clear and concise description of what the bug is. -->
17
- <!-- It is better to provide related items of _config.yml -->
18
-
19
- #### To Reproduce
20
- Steps to reproduce the behavior:
21
- 1. Go to '...', click on '....'
22
- 2. Scroll down to '....'
23
- 3. See error
24
-
25
- <!-- It is better to provide the page link that can be reproduced -->
26
-
27
- #### Screenshots
28
- <!-- If applicable, add screenshots to help explain your problem. -->
@@ -1,33 +0,0 @@
1
- ---
2
- name: Bug 报告
3
- about: 创建一份 Bug 报告帮助我们优化产品
4
- title: ''
5
- labels: ':bug: bug'
6
- assignees: ''
7
- ---
8
-
9
- <!-- 必读 -->
10
- <!-- 1. 反馈 Bug 必须按照本模板提供足够详细的复现步骤和相关配置,否则请后退使用问题求助 -->
11
- <!-- 2. 功能如果不正常工作,请先检查自己的环境和 Hexo 插件,特别是从其他主题更换过来的用户(最简单的方式:新建目录重新 hexo init) -->
12
- <!-- 3. 只考虑本地出现的问题,如果本地运行正常,部署后有问题,这种不属于 BUG,请清除缓存或者等 CDN 刷新 -->
13
- <!-- 4. 不确定是不是 BUG 的,请后退使用问题求助 -->
14
-
15
- #### 请确认
16
- - [ ] 是当前最新的 [Release 版本](https://github.com/fluid-dev/hexo-theme-fluid/releases)
17
- - [ ] 浏览器不属于 IE 等非主流浏览器
18
- - [ ] 本地 `hexo clean && hexo s`,并且清除浏览器缓存,仍可复现
19
- - [ ] 已经排除是其他 Hexo 插件影响
20
-
21
- #### Bug 描述
22
- <!-- 例如,当 xxx 时,xxx 功能不工作,期望是 xxx 能工作,浏览器: Chrome -->
23
- <!-- 如果涉及一些功能配置,最好提供 _config.yml 里相关配置项 -->
24
-
25
- #### 复现步骤
26
- 该 Bug 复现步骤如下:
27
- 1. 在 xxx 页面点击 xxx 按钮
28
- 2. 然后向下滚动
29
- 3. 会出现 xxx
30
-
31
- <!-- 最好提供部署后能复现的页面地址 -->
32
-
33
- #### 截图
@@ -1,20 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
- title: ''
5
- labels: ':sparkles: enhancement'
6
- assignees: ''
7
- ---
8
-
9
- #### Make sure
10
- - [ ] Difficult to implemented through [custom](https://hexo.fluid-dev.com/docs/en/guide/#custom-js-css-html).
11
- - [ ] Difficult to implemented through third-party plugins.
12
-
13
- #### Is your feature request related to a problem? Please describe
14
- <!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]. -->
15
-
16
- #### Describe the solution you'd like
17
- <!-- A clear and concise description of what you want to happen. -->
18
-
19
- #### Describe alternatives you've considered
20
- <!-- A clear and concise description of any alternative solutions or features you've considered. -->
@@ -1,20 +0,0 @@
1
- ---
2
- name: 功能需求或优化
3
- about: 创建一份合理可行的建议帮助我们提升产品
4
- title: ''
5
- labels: ':sparkles: enhancement'
6
- assignees: ''
7
- ---
8
-
9
- #### 如是功能需求,请确定符合以下情况
10
- - [ ] 难以通过[自定义](https://hexo.fluid-dev.com/docs/guide/#自定义-js-css-html)实现
11
- - [ ] 难以通过第三方插件实现
12
-
13
- #### 请描述该需求尝试解决的问题
14
- <!-- 例如,当 xxx 时,我总是被当前 xxx 的设计所困扰。 -->
15
-
16
- #### 请描述您认为可行的解决方案
17
- <!-- 例如,添加 xxx 功能能够解决问题。 -->
18
-
19
- #### 考虑过的替代方案
20
- <!-- 例如,如果用 xxx,也能解决该问题。 -->
@@ -1,11 +0,0 @@
1
- ---
2
- name: Question
3
- about: Ask a question about use, need help
4
- ---
5
-
6
- #### Make sure
7
- - [ ] Upgrade the latest [release](https://github.com/fluid-dev/hexo-theme-fluid/releases)
8
- - [ ] No solution found in [documentations](https://hexo.fluid-dev.com/docs/en/)
9
-
10
- #### Describe the question
11
- <!-- A clear and concise description of what the question is. -->
@@ -1,14 +0,0 @@
1
- ---
2
- name: 问题求助
3
- about: 提出一个使用过程中遇到的问题,需要得到帮助
4
- ---
5
-
6
- #### 请确认
7
- - [ ] 是当前最新的 [Release 版本](https://github.com/fluid-dev/hexo-theme-fluid/releases)
8
- - [ ] 在 [用户指南](https://hexo.fluid-dev.com/docs/) 中没有找到解决办法
9
-
10
- #### 问题描述
11
- <!--
12
- 例如,在使用 xxx 时出现了 xxx 报错。
13
- 如果是页面问题,需要提供浏览器版本(如果本地样式没问题,部署后有问题,请清除浏览器缓存)。
14
- -->
@@ -1,18 +0,0 @@
1
- name: Limit PRs
2
-
3
- on:
4
- pull_request:
5
- branches:
6
- - master
7
-
8
- jobs:
9
- limit_master_pr:
10
- runs-on: ubuntu-latest
11
- name: Limits PR to master
12
- steps:
13
- - name: Limit action step
14
- id: limit_action
15
- uses: LukBukkit/action-pr-limits@v1
16
- with:
17
- whitelist: |
18
- develop
package/README_en.md DELETED
@@ -1,125 +0,0 @@
1
- <p align="center">
2
- <img alt="Fluid Logo" src="https://avatars2.githubusercontent.com/t/3419353?s=280&v=4" width="128">
3
- </p>
4
-
5
- <p align="center">An elegant Material-Design theme for Hexo</p>
6
-
7
- ![ScreenShot](https://cdn.jsdelivr.net/gh/fluid-dev/static@master/hexo-theme-fluid/screenshots/index.png)
8
-
9
- <p align="center">
10
- <a title="Hexo Version" target="_blank" href="https://hexo.io"><img alt="Hexo Version" src="https://img.shields.io/badge/Hexo-%3E%3D%203.0-orange?style=flat"></a>
11
- <a title="Node Version" target="_blank" href="https://nodejs.org"><img alt="Node Version" src="https://img.shields.io/badge/Node-%3E%3D%208.10.0-yellowgreen?style=flat"></a>
12
- <a title="License" target="_blank" href="https://github.com/fluid-dev/hexo-theme-fluid/blob/master/LICENSE"><img alt="License" src="https://img.shields.io/github/license/fluid-dev/hexo-theme-fluid.svg?style=flat"></a>
13
- <br>
14
- <a title="GitHub Release" target="_blank" href="https://github.com/fluid-dev/hexo-theme-fluid/releases"><img alt="GitHub Release" src="https://img.shields.io/github/v/release/fluid-dev/hexo-theme-fluid?style=flat"></a>
15
- <a title="Npm Downloads" target="_blank" href="https://www.npmjs.com/package/hexo-theme-fluid"><img alt="Npm Downloads" src="https://img.shields.io/npm/dt/hexo-theme-fluid?color=red&label=npm"></a>
16
- <a title="GitHub Commits" target="_blank" href="https://github.com/fluid-dev/hexo-theme-fluid/commits/master"><img alt="GitHub Commits" src="https://img.shields.io/github/commit-activity/m/fluid-dev/hexo-theme-fluid.svg?style=flat&color=brightgreen&label=commits"></a>
17
- <br><br>
18
- <a title="GitHub Watchers" target="_blank" href="https://github.com/fluid-dev/hexo-theme-fluid/watchers"><img alt="GitHub Watchers" src="https://img.shields.io/github/watchers/fluid-dev/hexo-theme-fluid.svg?label=Watchers&style=social"></a>
19
- <a title="GitHub Stars" target="_blank" href="https://github.com/fluid-dev/hexo-theme-fluid/stargazers"><img alt="GitHub Stars" src="https://img.shields.io/github/stars/fluid-dev/hexo-theme-fluid.svg?label=Stars&style=social"></a>
20
- <a title="GitHub Forks" target="_blank" href="https://github.com/fluid-dev/hexo-theme-fluid/network/members"><img alt="GitHub Forks" src="https://img.shields.io/github/forks/fluid-dev/hexo-theme-fluid.svg?label=Forks&style=social"></a>
21
- </p>
22
-
23
- <p align="center"><a title="Chinese" href="README.md">🇨🇳 中文简体</a> | 🇬🇧 English</p>
24
-
25
- <p align="center">
26
- <span>Docs:</span>
27
- <a href="https://hexo.fluid-dev.com/docs/en/guide/">Theme-Guide</a>&nbsp&nbsp&nbsp&nbsp
28
- <a href="https://hexo.io/docs/front-matter">Post-Guide</a>
29
- </p>
30
-
31
- <p align="center">
32
- <span>Preview: </span>
33
- <a href="https://hexo.fluid-dev.com/">Fluid's blog</a>&nbsp&nbsp&nbsp&nbsp
34
- <a href="https://zkqiang.cn">zkqiang's blog</a>
35
- </p>
36
-
37
- ## Quick Start
38
-
39
- #### 1. Install Hexo
40
-
41
- If you don't have a hexo blog, please follow [Hexo Docs](https://hexo.io/docs/) to install and initialize your blog。
42
-
43
- #### 2. Install Fluid
44
-
45
- **Way A:**
46
-
47
- If your Hexo version >= 5.0.0, you can install Fluid via Npm:
48
-
49
- ```sh
50
- npm install --save hexo-theme-fluid
51
- ```
52
-
53
- Then create `_config.fluid.yml` in the blog directory and copy the content of [_config.yml](https://github.com/fluid-dev/hexo-theme-fluid/blob/master/_config.yml).
54
-
55
- **Way B:**
56
-
57
- Download the [latest release](https://github.com/fluid-dev/hexo-theme-fluid/releases), then extract it to `themes` directory and renamed to `fluid`.
58
-
59
- #### 3. Set theme
60
-
61
- Edit `_config.yml` in the blog root directory as follows:
62
-
63
- ```yaml
64
- theme: fluid
65
- ```
66
-
67
- #### 4. Create about page
68
-
69
- The about page needs to be created manually:
70
-
71
- ```bash
72
- hexo new page about
73
- ```
74
-
75
- Then edit `/source/about/index.md` and add `layout` attribute.
76
-
77
- The modified example is as follows:
78
-
79
- ```yaml
80
- ---
81
- title: about
82
- date: 2020-02-23 19:20:33
83
- layout: about
84
- ---
85
-
86
- About content
87
- ```
88
-
89
- ## How to Upgrade
90
-
91
- [Please follow here](https://hexo.fluid-dev.com/docs/en/start/#theme-upgrade)
92
-
93
- ## Features
94
-
95
- - [x] Image lazyload
96
- - [x] Custom code highlighting scheme
97
- - [x] Internationalization
98
- - [x] Support for multiple comment plugins
99
- - [x] Support for storing configuration in [Data Files](https://hexo.io/docs/data-files.html)
100
- - [x] Custom static resource CDN
101
- - [x] Detailed [documents](https://hexo.fluid-dev.com/docs/en/)
102
- - [x] Built-in search plugin
103
- - [x] Website analysis
104
- - [x] Support for footnote
105
- - [x] Support for LaTeX
106
- - [x] Support for mermaid
107
- - [x] Dark mode
108
-
109
- ## Contributors
110
-
111
- [![contributors](https://opencollective.com/hexo-theme-fluid/contributors.svg?width=890&button=false)](https://github.com/fluid-dev/hexo-theme-fluid/graphs/contributors)
112
-
113
- English docs translator:[@EatRice](https://eatrice.top/) [@橙子杀手](https://ruru.eatrice.top)
114
-
115
- Contributors outside PR:[@zhugaoqi](https://github.com/zhugaoqi) [@julydate](https://github.com/julydate)
116
-
117
- ## Thanks
118
-
119
- <a title="Thanks to JetBrains for providing the license" href="https://www.jetbrains.com/?from=hexo-theme-fluid" target="_blank">
120
- <img src="https://raw.githubusercontent.com/fluid-dev/static/690616966f34a58d66aa15ac7b550dd7bbc03967/hexo-theme-fluid/jetbrains.svg" width="150" alt="JetBrains">
121
- </a>
122
-
123
- ## Star Trending
124
-
125
- [![Stargazers over time](https://starchart.cc/fluid-dev/hexo-theme-fluid.svg)](https://starchart.cc/fluid-dev/hexo-theme-fluid)
@@ -1,36 +0,0 @@
1
- <% if(theme.footer.beian.enable) { %>
2
- <!-- 备案信息 -->
3
- <div class="beian">
4
- <span>
5
- <a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow noopener">
6
- <%- theme.footer.beian.icp_text %>
7
- </a>
8
- </span>
9
- <% if(theme.footer.beian.police_text) { %>
10
- <% if(theme.footer.beian.police_code) { %>
11
- <span>
12
- <a
13
- href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=<%= theme.footer.beian.police_code %>"
14
- rel="nofollow noopener"
15
- class="beian-police"
16
- target="_blank"
17
- >
18
- <% if(theme.footer.beian.police_icon) { %>
19
- <span style="visibility: hidden; width: 0">|</span>
20
- <img src="<%= url_for(theme.footer.beian.police_icon) %>" alt="police-icon"/>
21
- <% } %>
22
- <span><%- theme.footer.beian.police_text %></span>
23
- </a>
24
- </span>
25
- <% } else { %>
26
- <span class="beian-police">
27
- <% if(theme.footer.beian.police_icon) { %>
28
- <span style="visibility: hidden; width: 0">|</span>
29
- <img src="<%= url_for(theme.footer.beian.police_icon) %>" alt="police-icon"/>
30
- <% } %>
31
- <span class="beian-police"><%- theme.footer.beian.police_text %></span>
32
- </span>
33
- <% } %>
34
- <% } %>
35
- </div>
36
- <% } %>
@@ -1,47 +0,0 @@
1
- <%- css_ex(theme.static_prefix.bootstrap, 'css/bootstrap.min.css') %>
2
-
3
- <% if (is_post() || is_page()) { %>
4
- <%- css_ex(theme.static_prefix.github_markdown, 'github-markdown.min.css') %>
5
- <%- css_ex(theme.static_prefix.hint, 'hint.min.css') %>
6
-
7
- <% if (theme.code.highlight.enable) { %>
8
- <% var cssName %>
9
- <% if (theme.code.highlight.lib === 'highlightjs') { %>
10
- <% cssName = theme.code.highlight.highlightjs.style.toLowerCase().replace(/([^0-9])\s([^0-9])/g, '$1-$2').replace(/\s/g, '') %>
11
- <%- css_ex(theme.static_prefix.highlightjs, `/styles/${ cssName }.min.css`) %>
12
- <% } else if (theme.code.highlight.lib === 'prismjs') { %>
13
- <% var style = theme.code.highlight.prismjs.style %>
14
- <% if (/\.css$/.test(style)) { %>
15
- <%- css(style) %>
16
- <% } else { %>
17
- <% if (!style || style === 'default') { %>
18
- <% cssName = '' %>
19
- <% } else { %>
20
- <% cssName = style.toLowerCase().replace(/[\s\-]/g, '') %>
21
- <% if (cssName === 'prism') { cssName = '' } %>
22
- <% if (cssName === 'tomorrownight') { cssName = 'tomorrow' } %>
23
- <% } %>
24
- <%- css_ex(theme.static_prefix.prismjs, `/themes/${ cssName ? 'prism-' + cssName : 'prism' }.min.css`) %>
25
- <% } %>
26
- <% if (theme.code.highlight.line_number) { %>
27
- <%- css_ex(theme.static_prefix.prismjs, '/plugins/line-numbers/prism-line-numbers.min.css') %>
28
- <% } %>
29
- <% } %>
30
- <% } %>
31
-
32
- <% if (theme.post.image_zoom.enable && page.image_zoom !== false) { %>
33
- <%- css_ex(theme.static_prefix.fancybox, 'jquery.fancybox.min.css') %>
34
- <% } %>
35
- <% } %>
36
-
37
- <!-- 主题依赖的图标库,不要自行修改 -->
38
- <%- css('//at.alicdn.com/t/font_1749284_ba1fz6golrf.css') %>
39
-
40
- <%- css(theme.static_prefix.iconfont || theme.iconfont) %>
41
-
42
- <%- css_ex(theme.static_prefix.internal_css, 'main.css') %>
43
-
44
- <!-- 自定义样式保持在最底部 -->
45
- <% if (theme.custom_css) { %>
46
- <%- css(theme.custom_css) %>
47
- <% } %>
@@ -1,11 +0,0 @@
1
- <footer class="text-center mt-5 py-3">
2
- <div class="footer-content">
3
- <%- theme.footer.content %>
4
- </div>
5
- <%- partial('_partial/statistics.ejs') %>
6
- <%- partial('_partial/beian.ejs') %>
7
- <% if(theme.web_analytics.cnzz) { %>
8
- <!-- cnzz Analytics Icon -->
9
- <span id="cnzz_stat_icon_<%= theme.web_analytics.cnzz %>" style="display: none"></span>
10
- <% } %>
11
- </footer>
@@ -1,66 +0,0 @@
1
- <% if (theme.web_analytics.enable) { %>
2
-
3
- <% if(theme.web_analytics.baidu) { %>
4
- <!-- Baidu Analytics -->
5
- <script defer>
6
- var _hmt = _hmt || [];
7
- (function () {
8
- var hm = document.createElement("script");
9
- hm.src = "https://hm.baidu.com/hm.js?<%= theme.web_analytics.baidu %>";
10
- var s = document.getElementsByTagName("script")[0];
11
- s.parentNode.insertBefore(hm, s);
12
- })();
13
- </script>
14
- <% } %>
15
-
16
- <% if (theme.web_analytics.google){ %>
17
- <!-- Google Analytics -->
18
- <script defer>
19
- window.ga = window.ga || function () { (ga.q = ga.q || []).push(arguments) };
20
- ga.l = +new Date;
21
- ga('create', '<%= theme.web_analytics.google %>', 'auto');
22
- ga('send', 'pageview');
23
- </script>
24
- <script async src='https://www.google-analytics.com/analytics.js'></script>
25
- <% } %>
26
-
27
- <% if (theme.web_analytics.gtag){ %>
28
- <!-- Google gtag.js -->
29
- <script async src="https://www.googletagmanager.com/gtag/js?id=<%- theme.web_analytics.gtag %>"></script>
30
- <script defer>
31
- window.dataLayer = window.dataLayer || [];
32
- function gtag(){dataLayer.push(arguments);}
33
- gtag('js', new Date());
34
- gtag('config', '<%- theme.web_analytics.gtag %>');
35
- </script>
36
- <% } %>
37
-
38
- <% if(theme.web_analytics.tencent && theme.web_analytics.tencent.sid && theme.web_analytics.tencent.cid) { %>
39
- <!-- Tencent Analytics -->
40
- <script defer>
41
- var _mtac = {};
42
- (function () {
43
- var mta = document.createElement("script");
44
- mta.src = "//pingjs.qq.com/h5/stats.js?v2.0.4";
45
- mta.setAttribute("name", "MTAH5");
46
- mta.setAttribute("sid", "<%= theme.web_analytics.tencent.sid %>");
47
- <% if(theme.web_analytics.tencent.cid) { %>
48
- mta.setAttribute("cid", "<%= theme.web_analytics.tencent.cid %>");
49
- <% } %>
50
- var s = document.getElementsByTagName("script")[0];
51
- s.parentNode.insertBefore(mta, s);
52
- })();
53
- </script>
54
- <% } %>
55
-
56
- <% if(theme.web_analytics.woyaola) { %>
57
- <!-- 51.la Analytics -->
58
- <script defer type="text/javascript" src="//js.users.51.la/<%= theme.web_analytics.woyaola %>.js"></script>
59
- <% } %>
60
-
61
- <% if(theme.web_analytics.cnzz) { %>
62
- <!-- cnzz Analytics -->
63
- <script defer src="//s4.cnzz.com/z_stat.php?id=<%- theme.web_analytics.cnzz %>&show=pic"
64
- type="text/javascript"></script>
65
- <% } %>
66
- <% } %>
@@ -1,69 +0,0 @@
1
- <%
2
- var enable = theme.post.math.enable;
3
-
4
- if (enable) {
5
- if (is_post()) {
6
- enable = !theme.post.math.specific || (theme.post.math.specific && page.math);
7
- } else if (is_page()) {
8
- enable = page.math;
9
- } else {
10
- enable = false;
11
- }
12
- }
13
-
14
- var lazy = false;
15
- if (theme.lazyload.enable) {
16
- var verRe = theme.static_prefix.mathjax.match(/@(\d{1,2})\.?(\d{0,2})\.?(\d{0,2})/);
17
- if (verRe.length >= 4) {
18
- ver = `${verRe[1]}.${verRe[2] || 'x'}.${verRe[3] || 'x'}`;
19
- lazy = compareVersions(ver, '3.2.0') >= 0;
20
- }
21
- }
22
- %>
23
-
24
- <% if (enable) { %>
25
- <% var engine = theme.post.math.engine; %>
26
-
27
- <% if(engine === 'mathjax') { %>
28
- <!-- MathJax -->
29
- <script>
30
- MathJax = {
31
- tex: {
32
- inlineMath: [['$', '$'], ['\\(', '\\)']]
33
- },
34
- loader: {
35
- <%- lazy ? 'load: \[\'ui/lazy\'\]' : undefined %>
36
- },
37
- options: {
38
- renderActions: {
39
- findScript: [10, doc => {
40
- document.querySelectorAll('script[type^="math/tex"]').forEach(node => {
41
- const display = !!node.type.match(/; *mode=display/);
42
- const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display);
43
- const text = document.createTextNode('');
44
- node.parentNode.replaceChild(text, node);
45
- math.start = { node: text, delim: '', n: 0 };
46
- math.end = { node: text, delim: '', n: 0 };
47
- doc.math.push(math);
48
- });
49
- }, '', false],
50
- insertedScript: [200, () => {
51
- document.querySelectorAll('mjx-container').forEach(node => {
52
- let target = node.parentNode;
53
- if (target.nodeName.toLowerCase() === 'li') {
54
- target.parentNode.classList.add('has-jax');
55
- }
56
- });
57
- }, '', false]
58
- }
59
- }
60
- };
61
- </script>
62
-
63
- <%- js_ex(theme.static_prefix.mathjax, "tex-svg.js", 'async') %>
64
-
65
- <% } else if (engine === 'katex') { %>
66
- <!-- KaTeX -->
67
- <%- css_ex(theme.static_prefix.katex, "katex.min.css") %>
68
- <% } %>
69
- <% } %>
@@ -1,24 +0,0 @@
1
- <%
2
- var enable = theme.post.mermaid.enable;
3
-
4
- if (enable) {
5
- if (is_post()) {
6
- enable = !theme.post.mermaid.specific || (theme.post.mermaid.specific && page.mermaid);
7
- } else if (is_page()) {
8
- enable = page.mermaid;
9
- } else {
10
- enable = false;
11
- }
12
- }
13
-
14
- var options = JSON.stringify(theme.post.mermaid.options);
15
- %>
16
-
17
- <% if (enable) { %>
18
- <%- js_ex(theme.static_prefix.mermaid, 'mermaid.min.js') %>
19
- <script>
20
- if (window.mermaid) {
21
- mermaid.initialize(<%- options %>);
22
- }
23
- </script>
24
- <% } %>
@@ -1,41 +0,0 @@
1
- <% if(theme.fun_features.typing.enable && page.subtitle !== false) { %>
2
- <%- js_ex(theme.static_prefix.typed, '/typed.min.js') %>
3
- <script>
4
- (function (window, document) {
5
- var typing = Fluid.plugins.typing;
6
- var title = document.getElementById('subtitle').title;
7
- <% if (is_home() && theme.index.slogan.api && theme.index.slogan.api.enable) { %>
8
- jQuery.ajax({
9
- type: '<%= theme.index.slogan.api.method %>',
10
- url: '<%= theme.index.slogan.api.url %>',
11
- headers: <%- JSON.stringify(theme.index.slogan.api.headers || {}) %>,
12
- dataType: 'json',
13
- success: function(result) {
14
- var text;
15
- if (result) {
16
- var keys = '<%= theme.index.slogan.api.keys %>'.split(',');
17
- if (result instanceof Array) {
18
- result = result[0];
19
- }
20
- for (const k of keys) {
21
- var value = result[k];
22
- if (typeof value === 'string') {
23
- text = value;
24
- break;
25
- } else if (value instanceof Object) {
26
- result = value;
27
- }
28
- }
29
- }
30
- text ? typing(text) : typing(title);
31
- },
32
- error: function() {
33
- typing(title);
34
- }
35
- })
36
- <% } else { %>
37
- typing(title);
38
- <% } %>
39
- })(window, document);
40
- </script>
41
- <% } %>
@@ -1,51 +0,0 @@
1
- <div class="mt-3">
2
- <% if (theme.post.meta.author && theme.post.meta.author.enable && (page.author || config.author)) { %>
3
- <span class="post-meta mr-2">
4
- <i class="iconfont icon-author" aria-hidden="true"></i>
5
- <%- page.author || config.author %>
6
- </span>
7
- <% } %>
8
- <% if (theme.post.meta.date.enable) { %>
9
- <span class="post-meta">
10
- <i class="iconfont icon-date-fill" aria-hidden="true"></i>
11
- <time datetime="<%= full_date(page.date, 'YYYY-MM-DD HH:mm') %>" pubdate>
12
- <%= full_date(page.date, theme.post.meta.date.format) %>
13
- </time>
14
- </span>
15
- <% } %>
16
- </div>
17
-
18
- <div class="mt-1">
19
- <% if (theme.post.meta.wordcount.enable) { %>
20
- <span class="post-meta mr-2">
21
- <i class="iconfont icon-chart"></i>
22
- <%- theme.post.meta.wordcount.format.replace('{}', wordcount(page)) %>
23
- </span>
24
- <% } %>
25
-
26
- <% if (theme.post.meta.min2read.enable) { %>
27
- <span class="post-meta mr-2">
28
- <i class="iconfont icon-clock-fill"></i>
29
- <% var awl = parseInt(theme.post.meta.min2read.awl) %>
30
- <% var wpm = parseInt(theme.post.meta.min2read.wpm) %>
31
- <%- theme.post.meta.min2read.format.replace('{}', min2read(page, { awl: awl, wpm: wpm })) %>
32
- </span>
33
- <% } %>
34
-
35
- <% var views_texts = theme.post.meta.views.format.split('{}') %>
36
- <% if (theme.post.meta.views.enable) { %>
37
- <% if (theme.post.meta.views.source === 'leancloud') { %>
38
- <!-- LeanCloud 统计文章PV -->
39
- <span id="leancloud-page-views-container" class="post-meta" style="display: none">
40
- <i class="iconfont icon-eye" aria-hidden="true"></i>
41
- <%- views_texts[0] %><span id="leancloud-page-views"></span><%- views_texts[1] %>
42
- </span>
43
- <% } else if (theme.post.meta.views.source === 'busuanzi') { %>
44
- <!-- 不蒜子统计文章PV -->
45
- <span id="busuanzi_container_page_pv" style="display: none">
46
- <i class="iconfont icon-eye" aria-hidden="true"></i>
47
- <%- views_texts[0] %><span id="busuanzi_value_page_pv"></span><%- views_texts[1] %>
48
- </span>
49
- <% } %>
50
- <% } %>
51
- </div>