hexo-theme-solitude 1.1.3 → 1.2.2

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 (254) hide show
  1. package/LICENSE +674 -19
  2. package/_config.yml +244 -193
  3. package/languages/en-US.yml +1 -0
  4. package/languages/zh-CN.yml +8 -8
  5. package/layout/404.pug +24 -0
  6. package/layout/archive.pug +11 -0
  7. package/layout/category.pug +16 -0
  8. package/layout/includes/console.pug +42 -0
  9. package/layout/includes/footer.pug +71 -0
  10. package/layout/includes/head/config.pug +79 -0
  11. package/layout/includes/head/pwa.pug +59 -0
  12. package/layout/includes/head.pug +29 -0
  13. package/layout/includes/header.pug +4 -0
  14. package/layout/includes/inject/body.pug +68 -0
  15. package/layout/{partial/compoment/inject/head.ejs → includes/inject/head.pug} +61 -35
  16. package/layout/includes/layout.pug +35 -0
  17. package/layout/{partial/loading.ejs → includes/loading.pug} +19 -17
  18. package/layout/includes/mixins/articleSort.pug +14 -0
  19. package/layout/includes/mixins/pagination.pug +8 -0
  20. package/layout/includes/nav.pug +22 -0
  21. package/layout/includes/page/about.pug +10 -0
  22. package/layout/includes/page/categories.pug +8 -0
  23. package/layout/includes/page/default.pug +2 -0
  24. package/layout/includes/page/echarts.pug +7 -0
  25. package/layout/includes/page/equipment.pug +3 -0
  26. package/layout/includes/page/links.pug +35 -0
  27. package/layout/includes/page/moments.pug +5 -0
  28. package/layout/includes/page/rss.pug +22 -0
  29. package/layout/includes/page/says.pug +20 -0
  30. package/layout/includes/page/tags.pug +8 -0
  31. package/layout/includes/page/tlink.pug +9 -0
  32. package/layout/includes/recent-posts.pug +9 -0
  33. package/layout/includes/sidebar.pug +17 -0
  34. package/layout/includes/widgets/aside/aside.pug +18 -0
  35. package/layout/includes/widgets/aside/asideAllInfo.pug +8 -0
  36. package/layout/includes/widgets/aside/asideArchive.pug +9 -0
  37. package/layout/includes/widgets/aside/asideFlipCard.pug +5 -0
  38. package/layout/includes/widgets/aside/asideHistory.pug +8 -0
  39. package/layout/includes/widgets/aside/asideInfoCard.pug +22 -0
  40. package/layout/includes/widgets/aside/asideNewestPost.pug +16 -0
  41. package/layout/includes/widgets/aside/asidePower.pug +19 -0
  42. package/layout/includes/widgets/aside/asideSwitch.pug +26 -0
  43. package/layout/includes/widgets/aside/asideTag.pug +11 -0
  44. package/layout/includes/widgets/aside/asideToc.pug +5 -0
  45. package/layout/includes/widgets/aside/asideWebInfo.pug +40 -0
  46. package/layout/includes/widgets/aside/asideWelcome.pug +12 -0
  47. package/layout/includes/widgets/home/banner.pug +16 -0
  48. package/layout/includes/widgets/home/bbTimeList.pug +8 -0
  49. package/layout/includes/widgets/home/categoryBar.pug +10 -0
  50. package/layout/includes/widgets/home/categoryGroup.pug +9 -0
  51. package/layout/includes/widgets/home/hometop.pug +9 -0
  52. package/layout/includes/widgets/home/postList.pug +26 -0
  53. package/layout/includes/widgets/home/rencentPost.pug +26 -0
  54. package/layout/includes/widgets/home/topGroup.pug +27 -0
  55. package/layout/includes/widgets/nav/left.pug +10 -0
  56. package/layout/includes/widgets/nav/menu.pug +16 -0
  57. package/layout/includes/widgets/nav/right.pug +23 -0
  58. package/layout/includes/widgets/page/about/authorinfo.pug +12 -0
  59. package/layout/includes/widgets/page/about/award.pug +34 -0
  60. package/layout/includes/widgets/page/about/contentinfo.pug +38 -0
  61. package/layout/includes/widgets/page/about/hobbies.pug +33 -0
  62. package/layout/includes/widgets/page/about/motto.pug +19 -0
  63. package/layout/includes/widgets/page/about/other.pug +61 -0
  64. package/layout/includes/widgets/page/about/personalities.pug +16 -0
  65. package/layout/includes/widgets/page/about/skillsinfo.pug +41 -0
  66. package/layout/includes/widgets/page/banner.pug +14 -0
  67. package/layout/includes/widgets/page/equipment/content.pug +23 -0
  68. package/layout/includes/widgets/page/links/banner.pug +30 -0
  69. package/layout/includes/widgets/page/links/linksCard.pug +18 -0
  70. package/layout/includes/widgets/page/links/linksItem.pug +14 -0
  71. package/layout/includes/widgets/page/moments/angle.pug +24 -0
  72. package/layout/includes/widgets/page/moments/index.pug +18 -0
  73. package/layout/includes/widgets/page/says/saysBottom.pug +11 -0
  74. package/layout/includes/widgets/page/says/saysContent.pug +6 -0
  75. package/layout/includes/widgets/page/says/saysFunction.pug +10 -0
  76. package/layout/includes/widgets/page/says/saysMeta.pug +7 -0
  77. package/layout/includes/widgets/post/award.pug +48 -0
  78. package/layout/includes/widgets/post/copyright.pug +27 -0
  79. package/layout/includes/widgets/post/postMeta.pug +55 -0
  80. package/layout/includes/widgets/post/postNav.pug +25 -0
  81. package/layout/includes/widgets/post/wave.pug +9 -0
  82. package/layout/includes/widgets/randomlink.pug +32 -0
  83. package/layout/includes/widgets/rightside/index.pug +74 -0
  84. package/layout/includes/widgets/third-party/comments/comment.pug +14 -0
  85. package/layout/includes/widgets/third-party/comments/gitalk.pug +0 -0
  86. package/layout/{partial/compoment/third-party/comments/twikoo.ejs → includes/widgets/third-party/comments/twikoo.pug} +8 -9
  87. package/layout/includes/widgets/third-party/comments/valine.pug +0 -0
  88. package/layout/includes/widgets/third-party/music.pug +3 -0
  89. package/layout/includes/widgets/third-party/pjax.pug +30 -0
  90. package/layout/includes/widgets/third-party/search/algolia-search.pug +14 -0
  91. package/layout/includes/widgets/third-party/search/index.pug +7 -0
  92. package/layout/includes/widgets/third-party/search/local-search.pug +13 -0
  93. package/layout/index.pug +20 -0
  94. package/layout/page.pug +32 -0
  95. package/layout/post.pug +43 -0
  96. package/layout/tag.pug +19 -0
  97. package/package.json +4 -4
  98. package/scripts/event/page.js +20 -2
  99. package/scripts/filter/checkThemeConfig.js +0 -1
  100. package/scripts/filter/randomPosts.js +0 -1
  101. package/scripts/helper/{charts.js → echarts.js} +27 -28
  102. package/scripts/helper/stylus.js +23 -0
  103. package/scripts/tags/bvideo.js +1 -36
  104. package/source/css/_comment/index.styl +121 -0
  105. package/source/css/_comment/twikoo.styl +515 -0
  106. package/source/css/_extra/console.styl +354 -0
  107. package/source/css/_extra/rightmenu.styl +83 -0
  108. package/source/css/_global/animation.css +756 -0
  109. package/source/css/_global/function.styl +83 -0
  110. package/source/css/_global/index.styl +120 -0
  111. package/source/css/_global/var.styl +1 -0
  112. package/source/css/_layout/articleSort.styl +199 -0
  113. package/source/css/_layout/base.styl +392 -0
  114. package/source/css/_layout/footer.styl +359 -0
  115. package/source/css/_layout/header.styl +1331 -0
  116. package/source/css/_layout/index.styl +293 -0
  117. package/source/css/_layout/sidebar.styl +226 -0
  118. package/source/css/_mode/index.styl +52 -0
  119. package/source/css/_page/about.styl +835 -0
  120. package/source/css/_page/category.styl +141 -0
  121. package/source/css/_page/equipment.styl +101 -0
  122. package/source/css/_page/error.styl +161 -0
  123. package/source/css/_page/home.styl +58 -0
  124. package/source/css/_page/homeTop.styl +1035 -0
  125. package/source/css/_page/index.styl +131 -0
  126. package/source/css/_page/link.styl +433 -0
  127. package/source/css/_page/moment.styl +179 -0
  128. package/source/css/_page/rss.styl +87 -0
  129. package/source/css/_page/says.styl +347 -0
  130. package/source/css/_page/tag.styl +56 -0
  131. package/source/css/_post/commentBarrage.styl +149 -0
  132. package/source/css/_post/externalTags.styl +694 -0
  133. package/source/css/_post/highlight.styl +96 -0
  134. package/source/css/_post/index.styl +935 -0
  135. package/source/css/_post/pagination.styl +467 -0
  136. package/source/css/_post/postContent.styl +957 -0
  137. package/source/css/_post/relatedPost.styl +160 -0
  138. package/source/css/_post/reward.styl +217 -0
  139. package/source/css/_search/algolia-search.styl +154 -0
  140. package/source/css/_search/local-search.styl +131 -0
  141. package/source/css/_widgets/aside/allinfo.styl +134 -0
  142. package/source/css/_widgets/aside/flip.styl +68 -0
  143. package/source/css/_widgets/aside/history.styl +35 -0
  144. package/source/css/_widgets/aside/index.styl +156 -0
  145. package/source/css/_widgets/aside/info.styl +263 -0
  146. package/source/css/_widgets/aside/newPost.styl +55 -0
  147. package/source/css/_widgets/aside/power.styl +90 -0
  148. package/source/css/_widgets/aside/toc.styl +85 -0
  149. package/source/css/_widgets/aside/welcome.styl +14 -0
  150. package/source/css/_widgets/index.styl +3 -0
  151. package/source/css/index.styl +40 -0
  152. package/source/js/commentBarrage.js +8 -5
  153. package/source/js/extend/console/comment.js +60 -63
  154. package/source/js/extend/covercolor/local.js +1 -1
  155. package/source/js/extend/search/algolia-search.js +151 -134
  156. package/source/js/extend/search/local-search.js +137 -162
  157. package/source/js/main.js +655 -505
  158. package/source/js/utils.js +168 -145
  159. package/layout/404.ejs +0 -34
  160. package/layout/archive.ejs +0 -10
  161. package/layout/category.ejs +0 -18
  162. package/layout/index.ejs +0 -20
  163. package/layout/layout.ejs +0 -30
  164. package/layout/page/about.ejs +0 -15
  165. package/layout/page/categories.ejs +0 -12
  166. package/layout/page/circle.ejs +0 -5
  167. package/layout/page/echarts.ejs +0 -1
  168. package/layout/page/equipment.ejs +0 -2
  169. package/layout/page/links.ejs +0 -46
  170. package/layout/page/page.ejs +0 -3
  171. package/layout/page/rss.ejs +0 -39
  172. package/layout/page/says.ejs +0 -17
  173. package/layout/page/tags.ejs +0 -12
  174. package/layout/page/tlink.ejs +0 -11
  175. package/layout/page.ejs +0 -45
  176. package/layout/partial/body.ejs +0 -7
  177. package/layout/partial/compoment/about/authorinfo.ejs +0 -18
  178. package/layout/partial/compoment/about/award.ejs +0 -59
  179. package/layout/partial/compoment/about/contentinfo.ejs +0 -33
  180. package/layout/partial/compoment/about/hobbies.ejs +0 -53
  181. package/layout/partial/compoment/about/motto.ejs +0 -17
  182. package/layout/partial/compoment/about/other.ejs +0 -76
  183. package/layout/partial/compoment/about/personalities.ejs +0 -11
  184. package/layout/partial/compoment/about/skillsinfo.ejs +0 -62
  185. package/layout/partial/compoment/aside/aside.ejs +0 -28
  186. package/layout/partial/compoment/aside/asideAllInfo.ejs +0 -6
  187. package/layout/partial/compoment/aside/asideArchive.ejs +0 -11
  188. package/layout/partial/compoment/aside/asideFlipCard.ejs +0 -72
  189. package/layout/partial/compoment/aside/asideHistory.ejs +0 -49
  190. package/layout/partial/compoment/aside/asideInfoCard.ejs +0 -39
  191. package/layout/partial/compoment/aside/asideNewestPost.ejs +0 -31
  192. package/layout/partial/compoment/aside/asidePower.ejs +0 -31
  193. package/layout/partial/compoment/aside/asideSwitch.ejs +0 -41
  194. package/layout/partial/compoment/aside/asideTag.ejs +0 -5
  195. package/layout/partial/compoment/aside/asideToc.ejs +0 -11
  196. package/layout/partial/compoment/aside/asideWebInfo.ejs +0 -60
  197. package/layout/partial/compoment/aside/asideWelcome.ejs +0 -33
  198. package/layout/partial/compoment/circle/angle.ejs +0 -26
  199. package/layout/partial/compoment/circle/banner.ejs +0 -11
  200. package/layout/partial/compoment/circle/content.ejs +0 -19
  201. package/layout/partial/compoment/dorakika/rightmenu.ejs +0 -100
  202. package/layout/partial/compoment/equipment/list.ejs +0 -37
  203. package/layout/partial/compoment/home/homeCategoryBar.ejs +0 -11
  204. package/layout/partial/compoment/home/postList.ejs +0 -37
  205. package/layout/partial/compoment/hometop/bbTimeList.ejs +0 -15
  206. package/layout/partial/compoment/hometop/categoryGroup.ejs +0 -19
  207. package/layout/partial/compoment/hometop/groupTag.ejs +0 -30
  208. package/layout/partial/compoment/hometop/topGroup.ejs +0 -41
  209. package/layout/partial/compoment/inject/body.ejs +0 -70
  210. package/layout/partial/compoment/links/angle.ejs +0 -26
  211. package/layout/partial/compoment/links/banner.ejs +0 -42
  212. package/layout/partial/compoment/links/linksCard.ejs +0 -27
  213. package/layout/partial/compoment/links/linksItem.ejs +0 -21
  214. package/layout/partial/compoment/mixins/articleSort.ejs +0 -26
  215. package/layout/partial/compoment/mixins/pagination.ejs +0 -11
  216. package/layout/partial/compoment/nav/left.ejs +0 -22
  217. package/layout/partial/compoment/nav/menu.ejs +0 -25
  218. package/layout/partial/compoment/nav/right.ejs +0 -42
  219. package/layout/partial/compoment/post/award.ejs +0 -60
  220. package/layout/partial/compoment/post/copyright.ejs +0 -39
  221. package/layout/partial/compoment/post/postMeta.ejs +0 -85
  222. package/layout/partial/compoment/post/postNav.ejs +0 -41
  223. package/layout/partial/compoment/post/wave.ejs +0 -14
  224. package/layout/partial/compoment/says/banner.ejs +0 -10
  225. package/layout/partial/compoment/says/saysBottom.ejs +0 -18
  226. package/layout/partial/compoment/says/saysContent.ejs +0 -10
  227. package/layout/partial/compoment/says/saysFunction.ejs +0 -15
  228. package/layout/partial/compoment/third-party/comments/comment.ejs +0 -12
  229. package/layout/partial/compoment/third-party/comments/twikoo_k.ejs +0 -29
  230. package/layout/partial/compoment/third-party/music.ejs +0 -5
  231. package/layout/partial/compoment/third-party/pjax.ejs +0 -31
  232. package/layout/partial/compoment/third-party/search/algolia-search.ejs +0 -20
  233. package/layout/partial/compoment/third-party/search/index.ejs +0 -10
  234. package/layout/partial/compoment/third-party/search/local-search.ejs +0 -22
  235. package/layout/partial/compoment/tlink/banner.ejs +0 -10
  236. package/layout/partial/console.ejs +0 -68
  237. package/layout/partial/footer.ejs +0 -109
  238. package/layout/partial/head.ejs +0 -37
  239. package/layout/partial/header.ejs +0 -6
  240. package/layout/partial/hometop.ejs +0 -15
  241. package/layout/partial/nav.ejs +0 -34
  242. package/layout/partial/pwa.ejs +0 -40
  243. package/layout/partial/sidebar.ejs +0 -31
  244. package/layout/post.ejs +0 -52
  245. package/layout/tag.ejs +0 -19
  246. package/scripts/helper/randomLinks.js +0 -16
  247. package/scripts/helper/themeJsExport.js +0 -79
  248. package/source/css/commentBarrage.css +0 -174
  249. package/source/css/custom.css +0 -901
  250. package/source/css/main.css +0 -16285
  251. package/source/css/search/algolia-search.css +0 -141
  252. package/source/css/search/local-search.css +0 -138
  253. package/source/css/var.css +0 -189
  254. /package/source/js/{rightmenu.js → rightside.js} +0 -0
@@ -1,20 +0,0 @@
1
- <div id="algolia-search">
2
- <div class="search-dialog">
3
- <nav class="search-nav">
4
- <span class="search-dialog-title">搜索</span>
5
- <button class="search-close-button">
6
- <i class="scoicon sco-close-fill"></i>
7
- </button>
8
- </nav>
9
- <div class="search-wrap">
10
- <div class="search-box" id="search-input"></div>
11
- <div id="search-results">
12
- <div id="algolia-hits">
13
- </div>
14
- <div class="algolia-stats"></div>
15
- <div class="algolia-poweredBy"></div>
16
- </div>
17
- </div>
18
- </div>
19
- <div id="search-mask"></div>
20
- </div>
@@ -1,10 +0,0 @@
1
- <% if(theme.thirdparty.search.local_search.enable){ %>
2
- <%- partial('partial/compoment/third-party/search/local-search') %>
3
- <%- css('/css/search/local-search.css') %>
4
- <%- js('/js/extend/search/local-search.js') %>
5
- <% } %>
6
- <% if(theme.thirdparty.search.algolia_search.enable){ %>
7
- <%- partial('partial/compoment/third-party/search/algolia-search') %>
8
- <%- css('/css/search/algolia-search') %>
9
- <%- js('/js/extend/search/algolia-search.js') %>
10
- <% } %>
@@ -1,22 +0,0 @@
1
- <div id="local-search">
2
- <div class="search-dialog">
3
- <nav class="search-nav">
4
- <span class="search-dialog-title">搜索</span>
5
- <button class="search-close-button">
6
- <i class="scoicon sco-close-fill"></i>
7
- </button>
8
- </nav>
9
- <div id="loading-database">
10
- <i class="scoicon sco-loading-line"></i>
11
- <span>加载中</span>
12
- </div>
13
- <div class="search-wrap">
14
- <div class="search-box">
15
- <input class="search-box-input" placeholder="<%= __('search.placeholder') %>" type="text" id="search-input" autocomplete="off" spellcheck="false" autocorrect="off" autocapitalize="off">
16
- </div>
17
- <div id="loading-status"></div>
18
- <div id="search-results"></div>
19
- </div>
20
- </div>
21
- <div id="search-mask"></div>
22
- </div>
@@ -1,10 +0,0 @@
1
- <div class="author-content author-content-item essayPage single nolazyload" style="background: url(<%= page.cover %>) no-repeat center;background-size: cover;">
2
- <div class="card-content">
3
- <div class="author-content-item-tips"><%= page.title %></div>
4
- <span class="author-content-item-title"><%= page.desc %></span>
5
- <div class="content-bottom">
6
- <div class="tips"><%- page.tipl %></div>
7
- <div class="tips"><%- page.tipr %></div>
8
- </div>
9
- </div>
10
- </div>
@@ -1,68 +0,0 @@
1
- <div id="console" style="zoom: 1;" class="">
2
- <div class="close-btn" onclick="sco.hideConsole()" href="javascript:void(0);">
3
- <i class="scoicon sco-close-fill"></i>
4
- </div>
5
- <% if(theme.thirdparty.consolePlus){ %>
6
- <div class="console-card-group">
7
- <div class="console-card-group-left">
8
- <div class="console-card" id="card-newest-comments" onclick="sco.hideConsole()">
9
- <div class="card-content">
10
- <div class="author-content-item-tips">互动</div>
11
- <div class="author-content-item-title">最新评论</div>
12
- </div>
13
- <div class="aside-list"></div>
14
- </div>
15
-
16
- </div>
17
- <div class="console-card-group-right">
18
- <div class="console-card tags" onclick="sco.hideConsole()">
19
- <div class="card-content">
20
- <div class="author-content-item-tips">标签</div>
21
- <div class="author-content-item-title">寻找感兴趣的领域</div>
22
- </div>
23
- <div class="card-tag-cloud">
24
- <% site.tags.data.forEach(data => { %>
25
- <a href="<%= url_for(data.path) %>"
26
- style="font-size: 0.8rem; color: #d3d3d3"><%= data.name %>
27
- <sup><%= data.length %></sup></a>
28
- <% }) %>
29
- </div>
30
- </div>
31
- <div class="console-card history" onclick="sco.hideConsole()">
32
- <%- partial('partial/compoment/aside/asideArchive', {type: 'month'}) %>
33
- </div>
34
- </div>
35
- </div>
36
- <% } %>
37
-
38
- <div class="button-group">
39
- <div class="console-btn-item">
40
- <a class="darkmode_switchbutton" onclick="sco.switchDarkMode()" title="显示模式切换"
41
- href="javascript:void(0);" rel="external nofollow" data-pjax-state="">
42
- <i class="scoicon sco-moon-clear-fill" style="font-size: 1rem;"></i>
43
- </a>
44
- </div>
45
- <div class="console-btn-item" id="consoleHideAside">
46
- <a class="asideSwitch" onclick="sco.switchHideAside()" title="边栏显示控制"
47
- href="javascript:void(0);" rel="external nofollow" data-pjax-state="">
48
- <i class="scoicon sco-side-bar-fill" style="font-size: 1rem;"></i>
49
- </a>
50
- </div>
51
- <% if(theme.thirdparty.aplayer.enable){ %>
52
- <div class="console-btn-item" id="consoleMusic" onclick="sco.musicToggle()" title="音乐开关">
53
- <a class="music-switch">
54
- <i class="scoicon sco-disc-fill"></i>
55
- </a>
56
- </div>
57
- <% } %>
58
- <% if(theme.comment.enable) { %>
59
- <div class="console-btn-item on" id="consoleCommentBarrage" onclick="sco.switchCommentBarrage()"
60
- title="热评开关">
61
- <a class="commentBarrage">
62
- <i class="scoicon sco-chat-fill"></i>
63
- </a>
64
- </div>
65
- <% }%>
66
- </div>
67
- <div class="console-mask" onclick="sco.hideConsole()" href="javascript:void(0);" rel="external nofollow"></div>
68
- </div>
@@ -1,109 +0,0 @@
1
- <div id="sco-footer-bar">
2
- <div class="footer-logo">
3
- <% if (theme.site.name.class === 'i_class') { %>
4
- <i class="<%= theme.site.name.custom %>" style="font-size: 16px;"></i>
5
- <% } else if (theme.site.name.class === 'img') { %>
6
- <i style="background-image: url('<%= url_for(theme.site.name.custom) %>')"></i>
7
- <% } else if (theme.site.name.class === 'text') { %>
8
- <span class="scoicon"><%= theme.site.name.custom %></span>
9
- <% } %>
10
- </div>
11
- <div class="footer-bar-description">来自 <%- config.title %> 最新设计与科技的文章</div>
12
- <a class="footer-bar-link" href="/" data-pjax-state="">了解更多</a>
13
- </div>
14
- <div id="footer_deal">
15
- <% for(const i in theme.footer.information.left){ %>
16
- <a class="deal_link" href="<%= url_for(theme.footer.information.left[i].url) %>" rel="external nofollow"
17
- title="<%= i %>">
18
- <i class="<%= theme.footer.information.left[i].icon %>"></i>
19
- </a>
20
- <% } %>
21
- <img class="footer_mini_logo" src="<%= theme.site.icon %>"
22
- title="返回顶部" onclick="sco.toTop()">
23
- <% for(const i in theme.footer.information.right){ %>
24
- <a class="deal_link" href="<%= url_for(theme.footer.information.right[i].url) %>" rel="external nofollow"
25
- title="<%= i %>">
26
- <i class="<%= theme.footer.information.right[i].icon %>"></i>
27
- </a>
28
- <% } %>
29
- </div>
30
- <div id="sco-footer">
31
- <% for(const x in theme.footer.group){ %>
32
- <div class="footer-group">
33
- <h3 class="footer-title"><%= x %></h3>
34
- <div class="footer-links">
35
- <% for(const y in theme.footer.group[x]){ %>
36
- <a class="footer-item" href="<%= url_for(theme.footer.group[x][y]) %>" title="<%= y %>"
37
- rel="noopener external nofollow noreferrer"><%= y %></a>
38
- <% } %>
39
- </div>
40
- </div>
41
- <% } %>
42
- <% if(theme.footer.randomlink){ %>
43
- <div class="footer-group">
44
- <div class="footer-title-group">
45
- <h3 class="footer-title">友链</h3>
46
- <a class="random-friends-btn" href="javascript:randomLinksList();" rel="external nofollow">
47
- <i class="scoicon sco-refresh-line"></i>
48
- </a>
49
- </div>
50
- <div class="footer-links" id="friend-links-in-footer">
51
- </div>
52
- </div>
53
- <% } %>
54
- </div>
55
- <div id="footer-bar">
56
- <div class="footer-bar-links">
57
- <div class="footer-bar-left">
58
- <div id="footer-bar-tips">
59
- <% if(moment(theme.aside.siteinfo.runtime).year() === new Date().getFullYear()){ %>
60
- <div class="copyright">© <%= moment(theme.aside.siteinfo.runtime).year() %>
61
- By
62
- <a class="footer-bar-link" href="/" rel="external nofollow"><%= config.author %></a>
63
- </div>
64
- <% }else{ %>
65
- <div class="copyright">© <%= moment(theme.aside.siteinfo.runtime).year() %>
66
- - <%= new Date().getFullYear() %> By
67
- <a class="footer-bar-link" href="/" rel="external nofollow"><%= config.author %></a>
68
- </div>
69
- <% } %>
70
- </div>
71
- </div>
72
- <div class="footer-bar-right">
73
- <% if(theme.footer.rss.enable){ %>
74
- <a class="footer-bar-link" href="/rss/" rel="external nofollow"
75
- target="_self">订阅</a>
76
- <% } %>
77
- <a class="footer-bar-link" href="https://github.com/DuoSco/hexo-theme-solitude" rel="external nofollow"
78
- target="_self">主题</a>
79
- <% if(theme.site.icp){ %>
80
- <a class="footer-bar-link" target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index"
81
- rel="noopener external nofollow noreferrer noopener">
82
- <%= theme.site.icp %>
83
- </a>
84
- <% } %>
85
- <a class="footer-bar-link cc" href="<%- theme.footer.license.url %>" target="_self" rel="external nofollow">
86
- <i class="scoicon sco-copyright-line"></i>
87
- <i class="scoicon sco-creative-commons-by-line"></i>
88
- <i class="scoicon sco-creative-commons-nc-line"></i>
89
- <i class="scoicon sco-creative-commons-nd-line"></i>
90
- </a>
91
- </div>
92
- </div>
93
- </div>
94
- <div class="needEndHide" id="cookies-window">
95
- <div class="cookies-window-title">协议提醒助手</div>
96
- <div class="cookies-window-content">
97
- <span class="cookies-tip">查看本站为你的个人隐私做出的努力</span>
98
- <a class="cookies-link" href="/privacy/" title="本站如何保护你的隐私" data-pjax-state="">
99
- <i class="scoicon sco-arrow-right-circle-fill"></i>
100
- </a>
101
- </div>
102
- </div>
103
- <% if(theme.post.award.enable){%>
104
- <div id="quit-box" onclick="RemoveRewardMask()" style="display: none"></div>
105
- <%} %>
106
- <% if(theme.comment.enable){ %>
107
- <div class="comment-barrage">
108
- </div>
109
- <% } %>
@@ -1,37 +0,0 @@
1
- <% const cdn = theme.cdn.head %>
2
-
3
- <meta charset="UTF-8">
4
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <%
7
- var title = '', subtitle = ''
8
- if (is_home()) {
9
- title = config.title
10
- } else if (is_archive()) title = '归档 ' + (page.year || '')
11
- else if (is_category()) title = '分类 ' + page.category
12
- else if (is_tag()) title = '标签 ' + page.tag
13
- else if (page.type === '404') title = '404 ' + theme.errorpage.text
14
- else if (is_page() || is_post()) title = page.title
15
- if (is_home()) subtitle = config.subtitle ? ' - ' + config.subtitle : ''
16
- else subtitle = title ? ' | ' + config.title : config.title
17
- var description = page.desc || page.excerpt || config.description
18
- -%>
19
- <title><%= title + subtitle %></title>
20
- <noscript>开启Javascript是必要的</noscript>
21
- <link rel="icon" type="image/x-icon" href="<%= url_for(theme.site.siteIcon) %>">
22
- <meta name="description" content="<%= description %>">
23
- <% if (theme.pwa.enable) { %>
24
- <%- partial('partial/pwa') %>
25
- <% }else{ %>
26
- <meta name="apple-mobile-web-app-title" content="<%= config.title %>">
27
- <link rel="bookmark" href="<%= url_for(theme.site.siteIcon) %>">
28
- <link rel="apple-touch-icon-precomposed" sizes="180x180" href="<%= url_for(theme.site.siteIcon) %>">
29
- <% } %>
30
- <link rel="stylesheet" href="/css/var.css">
31
- <link rel="stylesheet" href="/css/main.css">
32
- <link rel="stylesheet" href="/css/custom.css">
33
- <%- partial('partial/compoment/inject/head', {cache: true}) %>
34
- <% if (theme.extends.head) for (const i of theme.extends.head){ %>
35
- <%- i %>
36
- <% } %>
37
- <%- export_config() %>
@@ -1,6 +0,0 @@
1
- <header class="<%= is_post() ? 'post-bg' : 'not-top-img' %>" id="page-header">
2
- <%- partial('partial/nav', {cache: true}) %>
3
- <% if(is_post()){ %>
4
- <%- partial('partial/compoment/post/postMeta') %>
5
- <% } %>
6
- </header>
@@ -1,15 +0,0 @@
1
- <div class="recent-top-post-group" id="recent-top-post-group">
2
- <div class="recent-post-top" id="recent-post-top">
3
- <div id="bannerGroup">
4
- <div id="banners">
5
- <%- partial('partial/compoment/hometop/groupTag') %>
6
- </div>
7
- <div class="categoryGroup">
8
- <%- partial('partial/compoment/hometop/categoryGroup') %>
9
- </div>
10
- </div>
11
- <div class="topGroup">
12
- <%- partial('partial/compoment/hometop/topGroup') %>
13
- </div>
14
- </div>
15
- </div>
@@ -1,34 +0,0 @@
1
- <nav id="nav" class="show">
2
- <div id="nav-group">
3
- <div id="blog_name">
4
- <% if(theme.nav.left.enable){ %>
5
- <div class="back-home-button" tabindex="-1">
6
- <i class="back-home-button-icon scoicon sco-more-fill"></i>
7
- <%- partial('partial/compoment/nav/left') %>
8
- </div>
9
- <% } %>
10
- <a id="site-name" href="/" title="返回博客主页" target="_self">
11
- <% if (theme.site.name.class === 'i_class') { %>
12
- <i class="<%= theme.site.name.custom %>" style="font-size: 16px;"></i>
13
- <% } else if (theme.site.name.class === 'img') { %>
14
- <img src="<%= url_for(theme.site.name.custom) %>"></img>
15
- <% } else if (theme.site.name.class === 'text') { %>
16
- <span class="scoicon"><%= theme.site.name.custom %></span>
17
- <% } %>
18
- </a>
19
- </div>
20
- <div id="page-name-mask">
21
- <div id="page-name">
22
- <a id="page-name-text" onclick="sco.toTop()"><%= page.title || config.title %></a>
23
- </div>
24
- </div>
25
- <div id="menus">
26
- <%- partial('partial/compoment/nav/menu') %>
27
- </div>
28
- <div id="nav-left">
29
- </div>
30
- <div id="nav-right">
31
- <%- partial('partial/compoment/nav/right') %>
32
- </div>
33
- </div>
34
- </nav>
@@ -1,40 +0,0 @@
1
- <meta name="theme-color" content="<%- theme.pwa.theme_color %>">
2
- <link rel="manifest" href="<%- theme.pwa.manifest %>">
3
- <% if (theme.pwa.theme_color) { %><meta name="msapplication-TileColor" content="<%- theme.pwa.theme_color %>"><% } %>
4
- <% if (theme.pwa.mask_icon) { %><link rel="mask-icon" href="<%- theme.pwa.mask_icon %>" color="<%- theme.pwa.theme_color %>"><% } %>
5
- <% if (theme.pwa.apple_touch_icon) { %><link rel="apple-touch-icon" sizes="180x180" href="<%- theme.pwa.apple_touch_icon %>">
6
- <link rel="apple-touch-icon-precomposed" sizes="180x180" href="<%- theme.pwa.apple_touch_icon %>">
7
- <meta name="apple-mobile-web-app-title" content="<%= config.title %>"><% } %>
8
- <% if (theme.pwa.favicon_16_16) { %><link rel="icon" type="image/png" sizes="16x16" href="<%- theme.pwa.favicon_16_16 %>"><% } %>
9
- <% if (theme.pwa.favicon_32_32) { %><link rel="icon" type="image/png" sizes="32x32" href="<%- theme.pwa.favicon_32_32 %>"><% } %>
10
- <% if (theme.pwa.bookmark_icon) { %><link rel="bookmark" href="<%- theme.pwa.bookmark_icon %>"><% } %><% if (theme.pwa.startup_image_enable) { %>
11
- <% if (theme.pwa.favicon_2048_2732) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2048_2732 %>" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
12
- <% if (theme.pwa.favicon_2732_2048) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2732_2048 %>" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
13
- <% if (theme.pwa.favicon_1668_2388) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1668_2388 %>" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
14
- <% if (theme.pwa.favicon_2388_1668) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2388_1668 %>" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
15
- <% if (theme.pwa.favicon_1536_2048) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1536_2048 %>" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
16
- <% if (theme.pwa.favicon_2048_1536) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2048_1536 %>" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
17
- <% if (theme.pwa.favicon_1668_2224) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1668_2224 %>" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
18
- <% if (theme.pwa.favicon_1668_2224) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1668_2224 %>" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
19
- <% if (theme.pwa.favicon_1620_2160) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1620_2160 %>" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
20
- <% if (theme.pwa.favicon_2160_1620) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2160_1620 %>" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
21
- <% if (theme.pwa.favicon_1290_2796) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1290_2796 %>" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
22
- <% if (theme.pwa.favicon_2796_1290) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2796_1290 %>" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
23
- <% if (theme.pwa.favicon_1179_2556) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1179_2556 %>" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
24
- <% if (theme.pwa.favicon_2556_1179) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2556_1179 %>" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
25
- <% if (theme.pwa.favicon_1248_2778) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1248_2778 %>" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
26
- <% if (theme.pwa.favicon_2778_1248) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2778_1248 %>" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
27
- <% if (theme.pwa.favicon_1170_2532) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1170_2532 %>" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
28
- <% if (theme.pwa.favicon_2532_1170) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2532_1170 %>" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
29
- <% if (theme.pwa.favicon_1125_2436) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1125_2436 %>" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
30
- <% if (theme.pwa.favicon_2436_1125) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2436_1125 %>" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
31
- <% if (theme.pwa.favicon_1242_2688) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1242_2688 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
32
- <% if (theme.pwa.favicon_2688_1242) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2688_1242 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
33
- <% if (theme.pwa.favicon_828_1792) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_828_1792 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
34
- <% if (theme.pwa.favicon_1792_828) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1792_828 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
35
- <% if (theme.pwa.favicon_1242_2208) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1242_2208 %>" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
36
- <% if (theme.pwa.favicon_2208_1242) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2208_1242 %>" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
37
- <% if (theme.pwa.favicon_750_1334) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_750_1334 %>" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
38
- <% if (theme.pwa.favicon_1334_750) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1334_750 %>" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
39
- <% if (theme.pwa.favicon_640_1136) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_640_1136 %>" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
40
- <% if (theme.pwa.favicon_1136_640) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1136_640 %>" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %><% } %>
@@ -1,31 +0,0 @@
1
- <div id="sidebar" style="zoom: 1;">
2
- <div id="menu-mask" style="display: none;"></div>
3
- <div id="sidebar-menus" class>
4
- <span class="sidebar-menu-item-title">功能</span>
5
- <div class="sidebar-menu-item">
6
- <a class="darkmode_switchbutton menu-child" onclick="sco.switchDarkMode()" title="显示模式切换"
7
- href="javascript:void(0);" rel="external nofollow">
8
- <i class="scoicon sco-moon-clear-fill" style="font-size: 1rem;"></i>
9
- <span>显示模式</span>
10
- </a>
11
- </div>
12
- <% if(theme.nav.left.enable){ %>
13
- <%- partial('partial/compoment/nav/left') %>
14
- <% } %>
15
- <%- partial('partial/compoment/nav/menu') %>
16
- <span class="sidebar-menu-item-title">标签</span>
17
- <div class="card-widget card-tags card-archives card-webinfo card-allinfo">
18
- <div class="item-headline">
19
- <i class="scoicon sco-price-tag-fill"></i>
20
- <span>标签</span>
21
- </div>
22
- <div class="card-tag-cloud">
23
- <% site.tags.data.forEach(data => { %>
24
- <a href="<%= url_for(data.path) %>" style="font-size: 1em; color: #d3d3d3"><%= data.name %>
25
- <sup><%= data.length %></sup>
26
- </a>
27
- <% }) %>
28
- </div>
29
- </div>
30
- </div>
31
- </div>
package/layout/post.ejs DELETED
@@ -1,52 +0,0 @@
1
- <main class="layout" id="content-inner">
2
- <div id="post">
3
- <article class="post-content" id="article-container">
4
- <%- page.content %>
5
- </article>
6
- <%- partial('partial/compoment/post/copyright') %>
7
-
8
- <div class="post-tools-right">
9
- <div class="tag_share">
10
- <div class="post-meta__tag-list">
11
- <% page.tags.data.forEach(data => { %>
12
- <a href="<%= url_for(data.path) %>" class="post-meta__tags">
13
- <span class="tags-punctuation"></span>
14
- <%= data.name %>
15
- <span class="tagsPageCount"><%= data.length %></span>
16
- </a>
17
- <% }) %>
18
- </div>
19
- </div>
20
- </div>
21
-
22
- <% if(site.posts.length > 1){ %>
23
- <%- partial('partial/compoment/post/postNav') %>
24
- <% } %>
25
-
26
- <%- related_posts(page, site.posts) %>
27
-
28
- <% if(page.comment){ %>
29
- <%- partial('partial/compoment/third-party/comments/comment') %>
30
- <% } %>
31
- </div>
32
-
33
- <%- partial('partial/compoment/aside/aside') %>
34
-
35
- <% if(theme.thirdparty.ai.enable){ %>
36
- <script data-pjax defer>
37
- // AI构造函数
38
- new ChucklePostAI({
39
- /* 必须配置 */
40
- // 文章内容所在的元素属性的选择器,也是AI挂载的容器,AI将会挂载到该容器的最前面
41
- el: '#post #article-container',
42
- // 驱动AI所必须的key,即是tianliGPT后端服务所必须的key
43
- key: '<%= theme.thirdparty.ai.key %>',
44
- /* 非必须配置,但最好根据自身需要进行配置 */
45
- // 文章标题所在的元素属性的选择器,默认获取当前网页的标题
46
- title_el: '.post-title',
47
- // 文章推荐方式,all:匹配数据库内所有文章进行推荐,web:仅当前站内的文章,默认all
48
- rec_method: '<%= theme.thirdparty.ai.rec_method || 'web' %>',
49
- })
50
- </script>
51
- <% } %>
52
- </main>
package/layout/tag.ejs DELETED
@@ -1,19 +0,0 @@
1
- <main class="layout" id="content-inner">
2
- <div id="tag">
3
- <div id="tag-page-tags">
4
- <% site.tags.data.forEach(data => { %>
5
- <a href="<%= url_for(data.path) %>" class="<%= data.name === page.tag ? 'select' : '' %>">
6
- <span class="tags-punctuation"></span>
7
- <%= data.name %>
8
- <span class="tagsPageCount"><%= data.length %></span>
9
- </a>
10
- <% }) %>
11
- </div>
12
- <div class="article-sort-title"><%= page.tag %></div>
13
- <div class="article-sort">
14
- <%- partial('partial/compoment/mixins/articleSort') %>
15
- </div>
16
- <%- partial('partial/compoment/mixins/pagination') %>
17
- </div>
18
- <%- partial('partial/compoment/aside/aside') %>
19
- </main>
@@ -1,16 +0,0 @@
1
- hexo.extend.helper.register('randomLinks', function(){
2
- const links = []
3
- const data = this.site.data.links.links
4
- if(!data)return
5
- data.forEach(x => {
6
- if(x.type === "item"){
7
- x.link_list.forEach(y => {
8
- links.push({
9
- name: y.name,
10
- link: y.link
11
- })
12
- })
13
- }
14
- });
15
- return `<script>const links=${JSON.stringify(links)};function travelling(){const link=links[utils.randomNum(links.length)];utils.snackbarShow('您即将前往 ⌈ '+link.name+' ⌋ , 安全性未知',false,3000);setTimeout(()=>{window.open(link.link,"_blank")},3000)};function randomLinksList(){let data='';let linksCopy = [...links];let count = Math.min(3, linksCopy.length);for (let i = 0; i < count; i++) {let index = utils.randomNum(linksCopy.length);const link = linksCopy[index];data += '<a class="footer-item" href="' + link.link + '" target="_blank" rel="noopener nofollow">' + link.name + '</a>';linksCopy.splice(index, 1);}document.getElementById('friend-links-in-footer').innerHTML = data + '<a class="footer-item" href="/links/">更多</a>';};</script>`
16
- })
@@ -1,79 +0,0 @@
1
- hexo.extend.helper.register('export_config', function () {
2
- const {config, theme} = this, lang = hexo.theme.i18n.get(config.language || 'zh-CN')
3
- let exportGlobalConfig = {
4
- root: config.root,
5
- runtime: theme.aside.siteinfo.runtimeenable ? theme.aside.siteinfo.runtime : false,
6
- lazyload: {
7
- enable: theme.lazyload.enable,
8
- error: theme.lazyload.errorimg
9
- },
10
- hightlight: {
11
- enable: theme.hightlight.enable,
12
- limit: theme.hightlight.hightlimit
13
- },
14
- lightbox: theme.lightbox,
15
- randomlinks: theme.footer.randomlink,
16
- lang: {
17
- theme: {
18
- dark: lang['theme.dark'],
19
- light: lang['theme.light'],
20
- },
21
- copy: {
22
- success: lang['copy.success'],
23
- error: lang['copy.error'],
24
- },
25
- backtop: lang['nav.backtop'],
26
- time: {
27
- recent: lang['time.recent'],
28
- yesterday: lang['time.yesterday'],
29
- berforeyesterday: lang['time.berforeyesterday'],
30
- daybefore: lang['time.daybefore'],
31
- runtime: lang['time.runtime'],
32
- },
33
- sayhello: {
34
- morning: lang['sayhello.morning'],
35
- noon: lang['sayhello.noon'],
36
- afternoon: lang['sayhello.afternoon'],
37
- night: lang['sayhello.night'],
38
- goodnight: lang['sayhello.goodnight'],
39
- iam: lang['sayhello.iam'],
40
- },
41
- search: {
42
- empty: lang['search.empty'],
43
- hit: lang['search.hit'],
44
- placeholder: lang['search.placeholder'],
45
- }
46
- },
47
- covercolor: theme.post.covercolor.enable,
48
- comment: {
49
- enable: theme.comment.enable,
50
- twikooUrl: theme.comment.twikoo.envId,
51
- twikooAccessToken: theme.comment.twikoo.accessToken
52
- },
53
- }
54
-
55
- // 搜索数据
56
- if (theme.thirdparty.search.local_search.enable) exportGlobalConfig = Object.assign(exportGlobalConfig, {
57
- localsearch: {
58
- preload: theme.thirdparty.search.local_search.preload,
59
- path: theme.thirdparty.search.local_search.path || '/search.xml'
60
- }
61
- })
62
- if (theme.thirdparty.search.algolia_search.enable) exportGlobalConfig = Object.assign(exportGlobalConfig, {
63
- algolia: {
64
- appId: config.algolia.appId,
65
- apiKey: config.algolia.apiKey,
66
- indexName: config.algolia.indexName
67
- }
68
- })
69
-
70
- const exportPageConfig = {
71
- is_home: this.is_home(),
72
- is_post: this.is_post(),
73
- is_page: this.is_page(),
74
- page: this.is_page() && (this.page.type || 'default'),
75
- toc: this.page.toc,
76
- comment: this.page.comment,
77
- }
78
- return `<script>var GLOBALCONFIG = ${JSON.stringify(exportGlobalConfig)};</script><script id="site-config">var PAGECONFIG = ${JSON.stringify(exportPageConfig)};</script>`;
79
- })