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,26 +0,0 @@
1
- <div class="title-h2-a">
2
- <div class="title-h2-a-left">
3
- <h2 style="padding-top: 0;margin:0.6rem 0 0.6rem;">🎣 钓鱼</h2>
4
- <a id="random-post-start" href="javascript:fetchRandomPost();" rel="external nofollow"
5
- style="transition-duration: 0.3s; transform: rotate(63000deg); opacity: 1;" data-pjax-state="">
6
- <i class="scoicon refresh-line" hidden="hidden"></i>
7
- </a>
8
- </div>
9
- <div class="title-h2-a-right"><a class="random-post-all" href="/links/" data-pjax-state="">全部友链</a></div>
10
- </div>
11
- <div id="random-post"></div>
12
-
13
- <div class="title-h2-a">
14
- <div class="title-h2-a-left">
15
- <h2 style="padding-top: 0;margin:0.6rem 0 0.6rem;">🐟 鱼塘</h2>
16
- </div>
17
- <div class="title-h2-a-right"><span>以下内容自动生成,未经过审核</span></div>
18
- </div>
19
- <script>
20
- var fdata = {
21
- apiurl: "<%= theme.thirdparty.circle.api %>",
22
- defaultFish: 100,
23
- hungryFish: 100,
24
- }
25
- </script>
26
- <%- js('/lib/friends_post') %>
@@ -1,42 +0,0 @@
1
- <div class="banners-title">
2
- <div class="banners-title-small"><%= page.title %></div>
3
- <div class="banners-title-big"><%= page.desc %></div>
4
- </div>
5
- <div class="banner-button-group">
6
- <% if (theme.footer.randomlink){ %>
7
- <a class="banner-button secondary" onclick="travelling()">
8
- <i class="scoicon sco-signal-tower-fill"></i>
9
- <span class="banner-button-text">随机访问</span>
10
- </a>
11
- <% } %>
12
- <a class="banner-button" onclick="sco.scrollToComment()">
13
- <i class="scoicon sco-right-btn-fill"></i>
14
- <span class="scoicon banner-button-text">申请友链</span>
15
- </a>
16
- </div>
17
- <div class="tags-group-all nowrapMove">
18
- <div class="tags-group-wrapper">
19
- <% const data = site.data.links.links %>
20
- <% for (let i = 0; i < 2; i++){ %>
21
- <% data.forEach(x => {
22
- if (x.type === "item") {
23
- x.link_list.forEach((y, index) => { %>
24
- <% if(index % 2 === 0){ %>
25
- <div class="tags-group-icon-pair">
26
- <% } %>
27
- <a class="tags-group-icon" href="<%= url_for(y.link) %>" title="<%= y.name %>">
28
- <img src="<%= y.avatar %>" title="<%= y.name %>">
29
- </a>
30
- <% if(index % 2 !== 0 || index === x.link_list.length - 1){ %>
31
- </div>
32
- <% } %>
33
- <% })
34
- }
35
- }) %>
36
- <% } %>
37
- </div>
38
- </div>
39
-
40
-
41
-
42
-
@@ -1,27 +0,0 @@
1
- <div class="site-card-group">
2
- <% data.forEach(item =>{ %>
3
- <div class="site-card">
4
- <% if(item.tag){ %>
5
- <% if(item.vip){ %>
6
- <span class="site-card-tag vip"><%= item.tag %></span>
7
- <% }else{ %>
8
- <span class="site-card-tag"><%= item.tag %></span>
9
- <% } %>
10
- <% } %>
11
- <a class="img" itle="<%= item.name %>" href="<%= url_for(item.link) %>">
12
- <img class="flink-avatar" src="<%= item.topimg %>" alt="<%= item.name %>">
13
- <div class="img-alt is-center"><%= item.name %></div>
14
- </a>
15
- <a class="info cf-friends-link" title="<%= item.name %>" href="<%= url_for(item.link) %>">
16
- <div class="site-card-avatar">
17
- <img class="flink-avatar cf-friends-avatar" src="<%= item.avatar %>" alt="<%= item.name %>">
18
- <div class="img-alt is-center"><%= item.name %></div>
19
- </div>
20
- <div class="site-card-text">
21
- <span class="title cf-friends-name"><%= item.name %></span>
22
- <span class="desc" title="<%= item.descr %>"><%= item.descr %></span>
23
- </div>
24
- </a>
25
- </div>
26
- <% }) %>
27
- </div>
@@ -1,21 +0,0 @@
1
- <div class="flink-list">
2
- <% data.forEach(item =>{ %>
3
- <div class="flink-list-item">
4
- <a class="cf-friends-link" href="<%= url_for(item.link) %>" title="<%= item.name %>">
5
- <% if(item.tag){ %>
6
- <% if(item.vip){ %>
7
- <span class="site-card-tag vip"><%= item.tag %></span>
8
- <% }else{ %>
9
- <span class="site-card-tag"><%= item.tag %></span>
10
- <% } %>
11
- <% } %>
12
- <img class="flink-avatar cf-friends-avatar" alt="<%= item.name %>" src="<%= item.avatar %>">
13
- <div class="img-alt is-center"><%= item.name %></div>
14
- <div class="flink-item-info">
15
- <span class="flink-item-name cf-friends-name"><%= item.name %></span>
16
- <span class="flink-item-desc" title="<%= item.descr %>"><%= item.descr %></span>
17
- </div>
18
- </a>
19
- </div>
20
- <% }) %>
21
- </div>
@@ -1,26 +0,0 @@
1
- <% let year %>
2
- <% page.posts.data.forEach(post => { %>
3
- <% if(year !== moment(post.date).year()){ year = moment(post.date).year() %>
4
- <div class="article-sort-item year"><%= year %></div>
5
- <% } %>
6
- <div class="article-sort-item">
7
- <a class="article-sort-item-img" href="<%= url_for(post.path) %>" title="<%= post.title %>">
8
- <img src="<%= post.cover %>"
9
- alt="<%= post.title %>">
10
- </a>
11
- <div class="article-sort-item-info">
12
- <a class="article-sort-item-title" href="<%= url_for(post.path) %>" title="<%= post.title %>"
13
- onclick="window.event.cancelBubble=true;">
14
- <%= post.title %>
15
- </a>
16
- <div class="article-sort-item-tags">
17
- <% post.tags.data.forEach(tags => { %>
18
- <a class="article-meta__tags" href="<%= url_for(tags.path) %>" onclick="window.event.cancelBubble=true;">
19
- <span class="tags-punctuation"></span>
20
- <%= tags.name %>
21
- </a>
22
- <% }) %>
23
- </div>
24
- </div>
25
- </div>
26
- <% }); %>
@@ -1,11 +0,0 @@
1
- <nav id="pagination">
2
- <div class="pagination">
3
- <% const options = {
4
- mid_size: 1,
5
- escape: false,
6
- next_text: '<div class="pagination_tips_next">下页</div> <i class="scoicon sco-arrow-right-bold"></i>',
7
- prev_text: '<i class="scoicon sco-arrow-left-bold"></i> <div class="pagination_tips_prev">上页</div>'
8
- } %>
9
- <%- paginator(options) %>
10
- </div>
11
- </nav>
@@ -1,22 +0,0 @@
1
- <div class="back-menu-list-groups">
2
- <% for(const x in theme.nav.left.menu){ %>
3
- <% const groupData=theme.nav.left.menu[x] %>
4
- <div class="back-menu-list-group">
5
- <div class="back-menu-list-title">
6
- <%= x %>
7
- </div>
8
- <div class="back-menu-list">
9
- <% for(const y in groupData){ %>
10
- <% const data=groupData[y] %>
11
- <a class="back-menu-item" href="<%= url_for(data.url) %>" rel="external nofollow" title="<%= y %>">
12
- <img class="back-menu-item-icon" src="<%= data.icon %>" loading="lazy">
13
- <span class="back-menu-item-text">
14
- <%= y %>
15
- </span>
16
- </a>
17
- <% } %>
18
- </div>
19
- </div>
20
- <% } %>
21
- </div>
22
-
@@ -1,25 +0,0 @@
1
- <div class="menus_items">
2
- <% for(const x in theme.nav.menu){ %>
3
- <div class="menus_item">
4
- <% if(!theme.nav.menu[x].url){ %>
5
- <a class="site-page" href="javascript:void(0);" rel="external nofollow">
6
- <span> <%= x %></span>
7
- </a>
8
- <ul class="menus_item_child">
9
- <% for(y in theme.nav.menu[x].child){ %>
10
- <li>
11
- <a class="site-page child" href="<%- url_for(theme.nav.menu[x].child[y].url) %>">
12
- <i class="<%- theme.nav.menu[x].child[y].icon %>"></i>
13
- <span> <%= y %></span>
14
- </a>
15
- </li>
16
- <% } %>
17
- </ul>
18
- <% } else { %>
19
- <a class="site-page not-child" href="<%- url_for(theme.nav.menu[x].url) %>" rel="external nofollow">
20
- <span> <%= x %></span>
21
- </a>
22
- <% } %>
23
- </div>
24
- <% } %>
25
- </div>
@@ -1,42 +0,0 @@
1
- <% if(theme.nav.right.travellings){ %>
2
- <div class="nav-button only-home" id="travellings_button">
3
- <a class="site-page" target="_blank" rel="noopener external nofollow" href="https://www.travellings.cn/go.html" title="开往-友链接力" width="120">
4
- <i class="scoicon sco-train-line" style="font-size: 1rem;"></i>
5
- </a>
6
- </div>
7
- <% } %>
8
- <% if(theme.nav.right.random){ %>
9
- <div class="nav-button" id="randomPost_button">
10
- <a class="site-page" onclick="toRandomPost()"
11
- title="随机前往一个文章">
12
- <i class="scoicon sco-signal-tower-fill" style="font-size: 1rem;"></i>
13
- </a>
14
- </div>
15
- <% } %>
16
- <% if(theme.thirdparty.search.algolia_search.enable || theme.thirdparty.search.local_search.enable){ %>
17
- <div class="nav-button" id="search-button">
18
- <a class="site-page social-icon search" title="站内搜索"
19
- href="javascript:void(0);" rel="external nofollow">
20
- <i class="scoicon sco-search-line" style="font-size: 1rem;"></i>
21
- </a>
22
- </div>
23
- <% } %>
24
- <% if(theme.nav.right.console){ %>
25
- <div class="nav-button" id="nav-console">
26
- <a class="console_switchbutton" onclick="sco.showConsole()"
27
- title="显示中控台" href="javascript:void(0);" rel="external nofollow">
28
- <i class="scoicon sco-dashboard-fill" style="font-size: 1rem;"></i>
29
- </a>
30
- </div>
31
- <% } %>
32
- <div class="nav-button" id="nav-totop" onclick="sco.toTop()">
33
- <a class="totopbtn">
34
- <i class="scoicon sco-arrow-up-line"></i>
35
- <span id="percent">0</span>
36
- </a>
37
- </div>
38
- <div id="toggle-menu">
39
- <a class="site-page">
40
- <i class="scoicon sco-menu-line" style="font-size: 1rem;"></i>
41
- </a>
42
- </div>
@@ -1,60 +0,0 @@
1
- <div class="post-reward">
2
- <div class="reward-button button--animated" onclick="AddRewardMask()" title="赞赏作者">
3
- <i class="scoicon sco-hand-heart-fill"></i>
4
- 打赏作者
5
- </div>
6
- <div class="reward-main">
7
- <ul class="reward-all">
8
- <span class="reward-title">感谢你赐予我前进的力量</span>
9
- <ul class="reward-group">
10
- <% if(theme.post.award.wechat){ %>
11
- <li class="reward-item">
12
- <a href="<%= theme.post.award.wechat %>" target="_blank">
13
- <img class="post-qr-code-img" src="<%= theme.post.award.wechat %>" alt="微信">
14
- </a>
15
- <div class="post-qr-code-desc">微信</div>
16
- </li>
17
- <% } %>
18
- <% if(theme.post.award.alipay){ %>
19
- <li class="reward-item">
20
- <a href="<%= theme.post.award.alipay %>" target="_blank">
21
- <img class="post-qr-code-img" src="<%= theme.post.award.alipay %>" alt="支付宝">
22
- </a>
23
- <div class="post-qr-code-desc">支付宝</div>
24
- </li>
25
- <% } %>
26
- </ul>
27
- <a class="reward-main-btn" href="<%= url_for(theme.post.award.url) %>">
28
- <div class="reward-text">赞赏者名单</div>
29
- <div class="reward-dec">因为你们的支持让我意识到写文章的价值🙏</div>
30
- </a>
31
- </ul>
32
- </div>
33
- </div>
34
- <script type="text/javascript">
35
- function RemoveRewardMask() {
36
- let rewardMainElements = document.querySelectorAll(".reward-main");
37
- let quitBoxElement = document.querySelector("#quit-box");
38
-
39
- rewardMainElements.forEach(element => {
40
- element.style.display = "none";
41
- });
42
-
43
- if (quitBoxElement) {
44
- quitBoxElement.style.display = "none";
45
- }
46
- }
47
-
48
- function AddRewardMask() {
49
- let rewardMainElements = document.querySelectorAll(".reward-main");
50
- let quitBoxElement = document.querySelector("#quit-box");
51
-
52
- rewardMainElements.forEach(element => {
53
- element.style.display = "flex";
54
- });
55
-
56
- if (quitBoxElement) {
57
- quitBoxElement.style.display = "flex";
58
- }
59
- }
60
- </script>
@@ -1,39 +0,0 @@
1
- <div class="post-copyright">
2
- <div class="post-copyright__author_group">
3
- <a class="post-copyright__author_img" href="/about/"
4
- data-pjax-state="">
5
- <img class="post-copyright__author_img_back"
6
- src="https://bu.dusays.com/2023/11/01/6541f6d4b2573.png">
7
- <img class="post-copyright__author_img_front"
8
- src="<%= theme.site.icon %>"></a>
9
- <div class="post-copyright__author_name"><%= config.title %></div>
10
- <div class="post-copyright__author_desc"><%= config.subtitle %></div>
11
- </div>
12
- <div class="post-tools" id="post-tools">
13
- <div class="post-tools-left">
14
- <% if(theme.post.award.enable){ %>
15
- <%- partial('/award', {cache: true}) %>
16
- <% } %>
17
- <% if(theme.footer.rss.enable){ %>
18
- <div class="reward-link mode">
19
- <a class="reward-link-button" href="<%- theme.footer.rss.url %>">
20
- <i class="scoicon sco-plant-fill"></i>
21
- 订阅
22
- </a>
23
- </div>
24
- <% } %>
25
- </div>
26
- </div>
27
- <div class="post-copyright__notice">
28
- <span class="post-copyright-info">
29
- 本文是<%= page.cc || theme.post.default.copyright %>文章,
30
- <% if(page.cc === "转载或翻译"){ %>
31
- 版权归原作者所有。转载本文请联系原作者。
32
- <% }else{ %>
33
- 采用 <a href="/copyright/" target="_blank">CC BY-NC-ND 4.0</a>
34
- 协议,完整转载请注明来自
35
- <a href="/" target="_blank"><%= config.title %></a>
36
- <% } %>
37
- </span>
38
- </div>
39
- </div>
@@ -1,85 +0,0 @@
1
- <div class="coverdiv" id="coverdiv">
2
- <img id="post-cover" class="nolazyload" src="<%= page.cover %>" alt="cover">
3
- </div>
4
- <div id="post-info">
5
- <div id="post-firstinfo">
6
- <div class="meta-firstline">
7
- <a class="post-meta-original" title="该文章为<%= page.cc %>文章,注意版权协议">
8
- <%= page.cc %>
9
- </a>
10
- <% if (page.categories.data.length) { %>
11
- <span class="post-meta-categories">
12
- <% page.categories.data.forEach(item => { %>
13
- <a class="post-meta-categories" href="<%= url_for(item.path) %>"><%= item.name %></a>
14
- <% }) %>
15
- </span>
16
- <% } %>
17
- <div class="tag_share">
18
- <div class="post-meta__tag-list">
19
- <% page.tags.data.forEach(tags => { %>
20
- <a class="post-meta__tags" href="<%= url_for(tags.path) %>">
21
- <span class="tags-punctuation"></span>
22
- <span class="tags-name"><%= tags.name %></span>
23
- </a>
24
- <% }) %>
25
- </div>
26
- </div>
27
- </div>
28
- </div>
29
- <h1 class="post-title"><%= page.title %></h1>
30
- <div id="post-meta">
31
- <div class="meta-secondline">
32
- <% if(theme.post.meta.date){ %>
33
- <span class="post-meta-date" title="发布于">
34
- <i class="post-meta-icon scoicon sco-calendar-todo-fill"></i>
35
- <time datetime="<%= moment(page.date).format() %>"></time>
36
- </span>
37
- <% } %>
38
- <% if(theme.post.meta.updated){ %>
39
- <span class="post-meta-date" title="更新于">
40
- <i class="post-meta-icon scoicon sco-refresh-line"></i>
41
- <time datetime="<%= moment(page.updated).format() %>"></time>
42
- </span>
43
- <% } %>
44
- <% if(theme.post.meta.locate){ %>
45
- <span class="post-meta-position" title="作者IP归属地为<%= page.locate %>">
46
- <i class="post-meta-icon scoicon sco-map-pin-fill"></i>
47
- <span><%= page.locate %></span>
48
- </span>
49
- <% } %>
50
- <% if(theme.thirdparty.wordcount){ %>
51
- <% if(theme.post.meta.wordcount){ %>
52
- <span class="post-meta-wordcount">
53
- <i class="scoicon sco-word-fill post-meta-icon" title="文章字数"></i>
54
- <span class="word-count"><%= wordcount(page.content) %></span>
55
- </span>
56
- <% } %>
57
- <% if(theme.post.meta.readtime){ %>
58
- <span class="post-meta-time">
59
- <i class="scoicon sco-clock-fill post-meta-icon" title="阅读耗时"></i>
60
- <span><%= min2read(page.content) %> min</span>
61
- </span>
62
- <% } %>
63
- <% } %>
64
- <% if(theme.thirdparty.busuanzi.enable && theme.post.meta.pv){ %>
65
- <span class="post-meta-pv" title="文章热度">
66
- <i class="scoicon sco-fire-fill post-meta-icon"></i>
67
- <% if(theme.thirdparty.busuanzi.usecomment){ %>
68
- <span id="twikoo_visitors"><i class="scoicon sco-loading-line"></i></span>
69
- <% }else{ %>
70
- <span id="busuanzi_value_page_pv"><i class="scoicon sco-loading-line"></i></span>
71
- <% } %>
72
- </span>
73
- <% } %>
74
- <% if(theme.post.meta.comment && page.comment){ %>
75
- <span class="post-meta-commentcount" title="评论数">
76
- <i class="scoicon sco-chat-fill"></i>
77
- <a href="#post-comment">
78
- <span id="twikoo-count"><i class="scoicon sco-loading-line"></i></span>
79
- </a>
80
- </span>
81
- <% } %>
82
- </div>
83
- </div>
84
- </div>
85
- <%- partial('partial/compoment/post/wave', {cache: true}) %>
@@ -1,41 +0,0 @@
1
- <nav class="needEndHide pagination-post" id="pagination">
2
- <% if(page.prev && page.next){ %>
3
- <div class="prev-post pull-left">
4
- <a href="<%= url_for(page.prev.path) %>">
5
- <div class="pagination-info">
6
- <div class="label">上一篇</div>
7
- <div class="prev_info"><%= page.prev.title %></div>
8
- </div>
9
- </a>
10
- </div>
11
- <div class="next-post pull-right">
12
- <a href="<%= url_for(page.next.path) %>">
13
- <div class="pagination-info">
14
- <div class="label">下一篇</div>
15
- <div class="next_info"><%= page.next.title %></div>
16
- </div>
17
- </a>
18
- </div>
19
- <% }else{ %>
20
- <% if(!page.prev && page.next){ %>
21
- <div class="next-post pull-full">
22
- <a href="<%= url_for(page.next.path) %>">
23
- <div class="pagination-info">
24
- <div class="label">下一篇</div>
25
- <div class="next_info"><%= page.next.title %></div>
26
- </div>
27
- </a>
28
- </div>
29
- <% } %>
30
- <% if(!page.next && page.prev){ %>
31
- <div class="prev-post pull-full">
32
- <a href="<%= url_for(page.prev.path) %>">
33
- <div class="pagination-info">
34
- <div class="label">上一篇</div>
35
- <div class="prev_info"><%= page.prev.title %></div>
36
- </div>
37
- </a>
38
- </div>
39
- <% } %>
40
- <% } %>
41
- </nav>
@@ -1,14 +0,0 @@
1
- <section class="main-hero-waves-area waves-area"><svg class="waves-svg" xmlns="http://www.w3.org/2000/svg"
2
- xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto">
3
- <defs>
4
- <path id="gentle-wave"
5
- d="M -160 44 c 30 0 58 -18 88 -18 s 58 18 88 18 s 58 -18 88 -18 s 58 18 88 18 v 44 h -352 Z"></path>
6
- </defs>
7
- <g class="parallax">
8
- <use href="#gentle-wave" x="48" y="0"></use>
9
- <use href="#gentle-wave" x="48" y="3"></use>
10
- <use href="#gentle-wave" x="48" y="5"></use>
11
- <use href="#gentle-wave" x="48" y="7"></use>
12
- </g>
13
- </svg>
14
- </section>
@@ -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,18 +0,0 @@
1
- <div class="bber-bottom">
2
- <div class="bber-info">
3
- <div class="bber-info-time">
4
- <i class="scoicon sco-calendar-todo-fill"></i>
5
- <time class="datetime" datetime="<%= moment(item.date).format() %>"></time>
6
- </div>
7
- <% if(item.link){ %>
8
- <a class="bber-content-link" href="<%= url_for(item.link) %>" title="跳转到短文指引的链接">
9
- <i class="scoicon sco-link-m-line"></i>
10
- 链接
11
- </a>
12
- <% } %>
13
- </div>
14
- <a class="bber-reply" onclick="sco.toTalk('<%- item.content %>')" >
15
- <i class="scoicon sco-chat-fill" style="font-size: 1rem;">
16
- </i>
17
- </a>
18
- </div>
@@ -1,10 +0,0 @@
1
- <div id="bber-content">
2
- <p class="datacont"><%- item.content %></p>
3
- <% if(item.image){ %>
4
- <div class="bber-content-img">
5
- <% item.image.forEach(img => { %>
6
- <img src="<%= img %>" title="即刻短文配图">
7
- <% }); %>
8
- </div>
9
- <% } %>
10
- </div>
@@ -1,15 +0,0 @@
1
- <% if(item.aplayer){ %>
2
- <div class="bber-music">
3
- <meting-js server="<%= item.aplayer.server %>" type="song" id="<%= item.aplayer.id %>" mutex="true" preload="none" theme="var(--sco-main)" data-lrctype="0"></meting-js>
4
- </div>
5
- <% } %>
6
- <% if(item.video){ %>
7
- <div class="bber-video">
8
- <% if(item.video.player){ %>
9
- <video src="<%= item.video.player %>" controls="controls" style="object-fit: cover;"></video>
10
- <% } %>
11
- <% if(item.video.bilibili){ %>
12
- <iframe src="<%= item.video.bilibili %>" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>
13
- <% } %>
14
- </div>
15
- <% } %>
@@ -1,12 +0,0 @@
1
- <div id="post-comment" view-image>
2
- <div class="comment-head">
3
- <div class="comment-headline">
4
- <i class="scoicon sco-chat-fill"></i>
5
- <span> 评论</span>
6
- </div>
7
- </div>
8
- <div class="comment-wrap">
9
- <div id="comment"></div>
10
- <%- partial('partial/compoment/third-party/comments/twikoo', {cache: true}) %>
11
- </div>
12
- </div>
@@ -1,29 +0,0 @@
1
- <script>
2
- async function initComment(){
3
- var initOptions = Object.assign(
4
- <%- JSON.stringify(theme.comment.twikoo || {}) %>,
5
- {
6
- el: '#comment',
7
- onCommentLoaded: function() {
8
- GLOBALCONFIG.lightbox && sco.lightbox('#article-container img, #twikoo .tk-content img:not(.tk-owo-emotion)')
9
- }
10
- }
11
- )
12
- await twikoo.init(initOptions)
13
- <% if(theme.post.meta.comment && is_post()){ %>
14
- var countOptions = Object.assign(
15
- <%- JSON.stringify(theme.comment.twikoo || {}) %>,
16
- {
17
- urls: [window.location.pathname],
18
- includeReply: false
19
- }
20
- )
21
- const res = await twikoo.getCommentsCount(countOptions)
22
- try{
23
- document.getElementById('twikoo-count').innerText = res[0].count
24
- }catch (e) {
25
- document.getElementById('twikoo-count').innerText = '加载错误'
26
- }
27
- <% } %>
28
- }
29
- </script>
@@ -1,5 +0,0 @@
1
- <div class="needEndHide" id="nav-music" onclick="sco.musicToggle()">
2
- <div id="nav-music-hoverTips">音乐已暂停</div>
3
- <meting-js id="<%= theme.thirdparty.aplayer.id %>" server="<%= theme.thirdparty.aplayer.server %>" type="playlist" mutex="true"
4
- preload="none" data-lrctype="0" order="random" theme="var(--sco-main)"></meting-js>
5
- </div>
@@ -1,31 +0,0 @@
1
- <script>
2
- let pjaxSelectors = [
3
- 'title',
4
- '#body-wrap',
5
- '#site-config',
6
- 'meta[name="description"]',
7
- '#js-pjax'
8
- ]
9
-
10
- const pjax = new Pjax({
11
- elements: 'a:not([target="_blank"])',
12
- selectors: pjaxSelectors,
13
- cacheBust: false,
14
- analytics: false,
15
- scrollRestoration: false
16
- })
17
-
18
- document.querySelectorAll('script[data-pjax]').forEach(item => {
19
- const newScript = document.createElement('script')
20
- const content = item.text || item.textContent || item.innerHTML || ""
21
- Array.from(item.attributes).forEach(attr => newScript.setAttribute(attr.name, attr.value))
22
- newScript.appendChild(document.createTextNode(content))
23
- item.parentNode.replaceChild(newScript, item)
24
- })
25
-
26
- document.addEventListener('pjax:error', (e) => {
27
- if (e.request.status === 404) {
28
- pjax.loadUrl('/404.html')
29
- }
30
- })
31
- </script>