hexo-theme-solitude 1.1.0 → 1.2.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 (304) hide show
  1. package/LICENSE +674 -19
  2. package/README.md +56 -19
  3. package/README_EN.md +98 -0
  4. package/_config.yml +274 -224
  5. package/languages/en-US.yml +1 -0
  6. package/languages/zh-CN.yml +8 -8
  7. package/layout/404.pug +24 -0
  8. package/layout/archive.pug +11 -0
  9. package/layout/category.pug +16 -0
  10. package/layout/includes/console.pug +42 -0
  11. package/layout/includes/footer.pug +71 -0
  12. package/layout/includes/head/config.pug +79 -0
  13. package/layout/includes/head/pwa.pug +59 -0
  14. package/layout/includes/head.pug +29 -0
  15. package/layout/includes/header.pug +4 -0
  16. package/layout/includes/inject/body.pug +68 -0
  17. package/layout/{partial/compoment/inject/head.ejs → includes/inject/head.pug} +60 -37
  18. package/layout/includes/layout.pug +35 -0
  19. package/layout/{partial/loading.ejs → includes/loading.pug} +19 -17
  20. package/layout/includes/mixins/articleSort.pug +14 -0
  21. package/layout/includes/mixins/pagination.pug +8 -0
  22. package/layout/includes/nav.pug +22 -0
  23. package/layout/includes/page/about.pug +10 -0
  24. package/layout/includes/page/categories.pug +8 -0
  25. package/layout/includes/page/default.pug +2 -0
  26. package/layout/includes/page/echarts.pug +7 -0
  27. package/layout/includes/page/equipment.pug +3 -0
  28. package/layout/includes/page/links.pug +35 -0
  29. package/layout/includes/page/moments.pug +5 -0
  30. package/layout/includes/page/rss.pug +22 -0
  31. package/layout/includes/page/says.pug +20 -0
  32. package/layout/includes/page/tags.pug +8 -0
  33. package/layout/includes/page/tlink.pug +9 -0
  34. package/layout/includes/recent-posts.pug +9 -0
  35. package/layout/includes/sidebar.pug +17 -0
  36. package/layout/includes/widgets/aside/aside.pug +18 -0
  37. package/layout/includes/widgets/aside/asideAllInfo.pug +8 -0
  38. package/layout/includes/widgets/aside/asideArchive.pug +9 -0
  39. package/layout/includes/widgets/aside/asideFlipCard.pug +5 -0
  40. package/layout/includes/widgets/aside/asideHistory.pug +8 -0
  41. package/layout/includes/widgets/aside/asideInfoCard.pug +22 -0
  42. package/layout/includes/widgets/aside/asideNewestPost.pug +16 -0
  43. package/layout/includes/widgets/aside/asidePower.pug +19 -0
  44. package/layout/includes/widgets/aside/asideSwitch.pug +26 -0
  45. package/layout/includes/widgets/aside/asideTag.pug +11 -0
  46. package/layout/includes/widgets/aside/asideToc.pug +5 -0
  47. package/layout/includes/widgets/aside/asideWebInfo.pug +40 -0
  48. package/layout/includes/widgets/aside/asideWelcome.pug +12 -0
  49. package/layout/includes/widgets/home/banner.pug +16 -0
  50. package/layout/includes/widgets/home/bbTimeList.pug +8 -0
  51. package/layout/includes/widgets/home/categoryBar.pug +10 -0
  52. package/layout/includes/widgets/home/categoryGroup.pug +9 -0
  53. package/layout/includes/widgets/home/hometop.pug +9 -0
  54. package/layout/includes/widgets/home/postList.pug +26 -0
  55. package/layout/includes/widgets/home/rencentPost.pug +26 -0
  56. package/layout/includes/widgets/home/topGroup.pug +27 -0
  57. package/layout/includes/widgets/nav/left.pug +10 -0
  58. package/layout/includes/widgets/nav/menu.pug +16 -0
  59. package/layout/includes/widgets/nav/right.pug +23 -0
  60. package/layout/includes/widgets/page/about/authorinfo.pug +12 -0
  61. package/layout/includes/widgets/page/about/award.pug +34 -0
  62. package/layout/includes/widgets/page/about/contentinfo.pug +38 -0
  63. package/layout/includes/widgets/page/about/hobbies.pug +33 -0
  64. package/layout/includes/widgets/page/about/motto.pug +19 -0
  65. package/layout/includes/widgets/page/about/other.pug +61 -0
  66. package/layout/includes/widgets/page/about/personalities.pug +16 -0
  67. package/layout/includes/widgets/page/about/skillsinfo.pug +41 -0
  68. package/layout/includes/widgets/page/banner.pug +14 -0
  69. package/layout/includes/widgets/page/equipment/content.pug +23 -0
  70. package/layout/includes/widgets/page/links/banner.pug +30 -0
  71. package/layout/includes/widgets/page/links/linksCard.pug +18 -0
  72. package/layout/includes/widgets/page/links/linksItem.pug +14 -0
  73. package/layout/includes/widgets/page/moments/angle.pug +24 -0
  74. package/layout/includes/widgets/page/moments/index.pug +18 -0
  75. package/layout/includes/widgets/page/says/saysBottom.pug +11 -0
  76. package/layout/includes/widgets/page/says/saysContent.pug +6 -0
  77. package/layout/includes/widgets/page/says/saysFunction.pug +10 -0
  78. package/layout/includes/widgets/page/says/saysMeta.pug +7 -0
  79. package/layout/includes/widgets/post/award.pug +48 -0
  80. package/layout/includes/widgets/post/copyright.pug +27 -0
  81. package/layout/includes/widgets/post/postMeta.pug +55 -0
  82. package/layout/includes/widgets/post/postNav.pug +25 -0
  83. package/layout/includes/widgets/post/wave.pug +9 -0
  84. package/layout/includes/widgets/randomlink.pug +32 -0
  85. package/layout/includes/widgets/rightside/index.pug +74 -0
  86. package/layout/includes/widgets/third-party/comments/comment.pug +14 -0
  87. package/layout/includes/widgets/third-party/comments/gitalk.pug +0 -0
  88. package/layout/{partial/compoment/third-party/comments/twikoo.ejs → includes/widgets/third-party/comments/twikoo.pug} +8 -9
  89. package/layout/includes/widgets/third-party/comments/valine.pug +0 -0
  90. package/layout/includes/widgets/third-party/music.pug +3 -0
  91. package/layout/includes/widgets/third-party/pjax.pug +30 -0
  92. package/layout/includes/widgets/third-party/search/algolia-search.pug +16 -0
  93. package/layout/includes/widgets/third-party/search/index.pug +7 -0
  94. package/layout/includes/widgets/third-party/search/local-search.pug +15 -0
  95. package/layout/index.pug +20 -0
  96. package/layout/page.pug +32 -0
  97. package/layout/post.pug +43 -0
  98. package/layout/tag.pug +19 -0
  99. package/package.json +3 -3
  100. package/scripts/event/page.js +20 -2
  101. package/scripts/filter/checkThemeConfig.js +0 -1
  102. package/scripts/filter/randomPosts.js +0 -1
  103. package/scripts/helper/{charts.js → echarts.js} +21 -11
  104. package/scripts/helper/related_post.js +10 -3
  105. package/scripts/helper/stylus.js +23 -0
  106. package/scripts/tags/bvideo.js +1 -36
  107. package/scripts/tags/fold.js +2 -3
  108. package/scripts/tags/note.js +6 -2
  109. package/scripts/tags/tabs.js +1 -1
  110. package/source/css/_comment/index.styl +121 -0
  111. package/source/css/_comment/twikoo.styl +515 -0
  112. package/source/css/_extra/console.styl +354 -0
  113. package/source/css/_extra/rightmenu.styl +83 -0
  114. package/source/css/_global/animation.css +756 -0
  115. package/source/css/_global/function.styl +83 -0
  116. package/source/css/_global/index.styl +120 -0
  117. package/source/css/_global/var.styl +1 -0
  118. package/source/css/_layout/articleSort.styl +199 -0
  119. package/source/css/_layout/base.styl +392 -0
  120. package/source/css/_layout/footer.styl +359 -0
  121. package/source/css/_layout/header.styl +1331 -0
  122. package/source/css/_layout/index.styl +293 -0
  123. package/source/css/_layout/sidebar.styl +226 -0
  124. package/source/css/_mode/index.styl +52 -0
  125. package/source/css/_page/about.styl +944 -0
  126. package/source/css/_page/category.styl +141 -0
  127. package/source/css/_page/equipment.styl +108 -0
  128. package/source/css/_page/error.styl +161 -0
  129. package/source/css/_page/home.styl +58 -0
  130. package/source/css/_page/homeTop.styl +1035 -0
  131. package/source/css/_page/index.styl +22 -0
  132. package/source/css/_page/link.styl +433 -0
  133. package/source/css/_page/moment.styl +186 -0
  134. package/source/css/_page/rss.styl +87 -0
  135. package/source/css/_page/says.styl +353 -0
  136. package/source/css/_page/tag.styl +56 -0
  137. package/source/css/_post/commentBarrage.styl +149 -0
  138. package/source/css/_post/externalTags.styl +694 -0
  139. package/source/css/_post/highlight.styl +96 -0
  140. package/source/css/_post/index.styl +935 -0
  141. package/source/css/_post/pagination.styl +467 -0
  142. package/source/css/_post/postContent.styl +957 -0
  143. package/source/css/_post/relatedPost.styl +160 -0
  144. package/source/css/_post/reward.styl +217 -0
  145. package/source/css/_search/algolia-search.styl +206 -0
  146. package/source/css/_search/local-search.styl +112 -0
  147. package/source/css/_widgets/aside/allinfo.styl +134 -0
  148. package/source/css/_widgets/aside/flip.styl +68 -0
  149. package/source/css/_widgets/aside/history.styl +35 -0
  150. package/source/css/_widgets/aside/index.styl +156 -0
  151. package/source/css/_widgets/aside/info.styl +263 -0
  152. package/source/css/_widgets/aside/newPost.styl +55 -0
  153. package/source/css/_widgets/aside/power.styl +90 -0
  154. package/source/css/_widgets/aside/toc.styl +85 -0
  155. package/source/css/_widgets/aside/welcome.styl +14 -0
  156. package/source/css/_widgets/index.styl +3 -0
  157. package/source/css/index.styl +40 -0
  158. package/source/img/default.png +0 -0
  159. package/source/img/logo-horizontal_version.png +0 -0
  160. package/source/img/pwa/16.png +0 -0
  161. package/source/img/pwa/180.png +0 -0
  162. package/source/img/pwa/192.png +0 -0
  163. package/source/img/pwa/32.png +0 -0
  164. package/source/img/pwa/512.png +0 -0
  165. package/source/img/pwa/logo.png +0 -0
  166. package/source/img/pwa/siteicon/splash-1125x2436.png +0 -0
  167. package/source/img/pwa/siteicon/splash-1136x640.png +0 -0
  168. package/source/img/pwa/siteicon/splash-1170x2532.png +0 -0
  169. package/source/img/pwa/siteicon/splash-1179x2556.png +0 -0
  170. package/source/img/pwa/siteicon/splash-1242x2208.png +0 -0
  171. package/source/img/pwa/siteicon/splash-1242x2688.png +0 -0
  172. package/source/img/pwa/siteicon/splash-1248x2778.png +0 -0
  173. package/source/img/pwa/siteicon/splash-1290x2796.png +0 -0
  174. package/source/img/pwa/siteicon/splash-1334x750.png +0 -0
  175. package/source/img/pwa/siteicon/splash-1536x2048.png +0 -0
  176. package/source/img/pwa/siteicon/splash-1620x2160.png +0 -0
  177. package/source/img/pwa/siteicon/splash-1668x2224.png +0 -0
  178. package/source/img/pwa/siteicon/splash-1668x2388.png +0 -0
  179. package/source/img/pwa/siteicon/splash-1792x828.png +0 -0
  180. package/source/img/pwa/siteicon/splash-2048x1536.png +0 -0
  181. package/source/img/pwa/siteicon/splash-2048x2732.png +0 -0
  182. package/source/img/pwa/siteicon/splash-2160x1620.png +0 -0
  183. package/source/img/pwa/siteicon/splash-2208x1242.png +0 -0
  184. package/source/img/pwa/siteicon/splash-2224x1668.png +0 -0
  185. package/source/img/pwa/siteicon/splash-2388x1668.png +0 -0
  186. package/source/img/pwa/siteicon/splash-2436x1125.png +0 -0
  187. package/source/img/pwa/siteicon/splash-2532x1170.png +0 -0
  188. package/source/img/pwa/siteicon/splash-2556x1179.png +0 -0
  189. package/source/img/pwa/siteicon/splash-2688x1242.png +0 -0
  190. package/source/img/pwa/siteicon/splash-2732x2048.png +0 -0
  191. package/source/img/pwa/siteicon/splash-2778x1248.png +0 -0
  192. package/source/img/pwa/siteicon/splash-2796x1290.png +0 -0
  193. package/source/img/pwa/siteicon/splash-640x1136.png +0 -0
  194. package/source/img/pwa/siteicon/splash-750x1334.png +0 -0
  195. package/source/img/pwa/siteicon/splash-828x1792.png +0 -0
  196. package/source/img/solitude-show.jpg +0 -0
  197. package/source/js/commentBarrage.js +8 -5
  198. package/source/js/extend/console/comment.js +60 -63
  199. package/source/js/extend/covercolor/local.js +105 -95
  200. package/source/js/extend/search/algolia-search.js +104 -111
  201. package/source/js/extend/search/local-search.js +7 -7
  202. package/source/js/main.js +673 -520
  203. package/source/js/utils.js +131 -137
  204. package/source/lib/chuckle-post-ai.js +1 -1
  205. package/layout/404.ejs +0 -34
  206. package/layout/archive.ejs +0 -10
  207. package/layout/category.ejs +0 -18
  208. package/layout/index.ejs +0 -20
  209. package/layout/layout.ejs +0 -30
  210. package/layout/page/about.ejs +0 -13
  211. package/layout/page/categories.ejs +0 -12
  212. package/layout/page/circle.ejs +0 -5
  213. package/layout/page/echarts.ejs +0 -14
  214. package/layout/page/equipment.ejs +0 -2
  215. package/layout/page/links.ejs +0 -46
  216. package/layout/page/page.ejs +0 -3
  217. package/layout/page/rss.ejs +0 -37
  218. package/layout/page/says.ejs +0 -17
  219. package/layout/page/tags.ejs +0 -12
  220. package/layout/page/tlink.ejs +0 -11
  221. package/layout/page.ejs +0 -45
  222. package/layout/partial/body.ejs +0 -7
  223. package/layout/partial/compoment/about/authorinfo.ejs +0 -18
  224. package/layout/partial/compoment/about/award.ejs +0 -59
  225. package/layout/partial/compoment/about/contentinfo.ejs +0 -33
  226. package/layout/partial/compoment/about/hobbies.ejs +0 -53
  227. package/layout/partial/compoment/about/motto.ejs +0 -17
  228. package/layout/partial/compoment/about/other.ejs +0 -76
  229. package/layout/partial/compoment/about/personalities.ejs +0 -11
  230. package/layout/partial/compoment/about/skillsinfo.ejs +0 -62
  231. package/layout/partial/compoment/aside/aside.ejs +0 -28
  232. package/layout/partial/compoment/aside/asideAllInfo.ejs +0 -6
  233. package/layout/partial/compoment/aside/asideArchive.ejs +0 -11
  234. package/layout/partial/compoment/aside/asideFlipCard.ejs +0 -72
  235. package/layout/partial/compoment/aside/asideHistory.ejs +0 -49
  236. package/layout/partial/compoment/aside/asideInfoCard.ejs +0 -39
  237. package/layout/partial/compoment/aside/asideNewestPost.ejs +0 -31
  238. package/layout/partial/compoment/aside/asidePower.ejs +0 -31
  239. package/layout/partial/compoment/aside/asideSwitch.ejs +0 -41
  240. package/layout/partial/compoment/aside/asideTag.ejs +0 -5
  241. package/layout/partial/compoment/aside/asideToc.ejs +0 -11
  242. package/layout/partial/compoment/aside/asideWebInfo.ejs +0 -60
  243. package/layout/partial/compoment/aside/asideWelcome.ejs +0 -33
  244. package/layout/partial/compoment/circle/angle.ejs +0 -26
  245. package/layout/partial/compoment/circle/banner.ejs +0 -11
  246. package/layout/partial/compoment/circle/content.ejs +0 -19
  247. package/layout/partial/compoment/dorakika/rightmenu.ejs +0 -100
  248. package/layout/partial/compoment/equipment/list.ejs +0 -37
  249. package/layout/partial/compoment/home/homeCategoryBar.ejs +0 -11
  250. package/layout/partial/compoment/home/postList.ejs +0 -37
  251. package/layout/partial/compoment/hometop/bbTimeList.ejs +0 -15
  252. package/layout/partial/compoment/hometop/categoryGroup.ejs +0 -19
  253. package/layout/partial/compoment/hometop/groupTag.ejs +0 -30
  254. package/layout/partial/compoment/hometop/topGroup.ejs +0 -41
  255. package/layout/partial/compoment/inject/body.ejs +0 -72
  256. package/layout/partial/compoment/links/angle.ejs +0 -26
  257. package/layout/partial/compoment/links/banner.ejs +0 -42
  258. package/layout/partial/compoment/links/linksCard.ejs +0 -27
  259. package/layout/partial/compoment/links/linksItem.ejs +0 -21
  260. package/layout/partial/compoment/mixins/articleSort.ejs +0 -26
  261. package/layout/partial/compoment/mixins/pagination.ejs +0 -11
  262. package/layout/partial/compoment/nav/left.ejs +0 -22
  263. package/layout/partial/compoment/nav/menu.ejs +0 -25
  264. package/layout/partial/compoment/nav/right.ejs +0 -42
  265. package/layout/partial/compoment/post/award.ejs +0 -52
  266. package/layout/partial/compoment/post/copyright.ejs +0 -37
  267. package/layout/partial/compoment/post/postMeta.ejs +0 -83
  268. package/layout/partial/compoment/post/postNav.ejs +0 -41
  269. package/layout/partial/compoment/post/wave.ejs +0 -14
  270. package/layout/partial/compoment/says/banner.ejs +0 -10
  271. package/layout/partial/compoment/says/saysBottom.ejs +0 -18
  272. package/layout/partial/compoment/says/saysContent.ejs +0 -10
  273. package/layout/partial/compoment/says/saysFunction.ejs +0 -15
  274. package/layout/partial/compoment/third-party/comments/comment.ejs +0 -12
  275. package/layout/partial/compoment/third-party/comments/twikoo_k.ejs +0 -29
  276. package/layout/partial/compoment/third-party/music.ejs +0 -5
  277. package/layout/partial/compoment/third-party/pjax.ejs +0 -31
  278. package/layout/partial/compoment/third-party/search/algolia-search.ejs +0 -20
  279. package/layout/partial/compoment/third-party/search/index.ejs +0 -10
  280. package/layout/partial/compoment/third-party/search/local-search.ejs +0 -22
  281. package/layout/partial/compoment/tlink/banner.ejs +0 -10
  282. package/layout/partial/console.ejs +0 -68
  283. package/layout/partial/footer.ejs +0 -104
  284. package/layout/partial/head.ejs +0 -37
  285. package/layout/partial/header.ejs +0 -6
  286. package/layout/partial/hometop.ejs +0 -15
  287. package/layout/partial/nav.ejs +0 -34
  288. package/layout/partial/pwa.ejs +0 -40
  289. package/layout/partial/sidebar.ejs +0 -31
  290. package/layout/post.ejs +0 -52
  291. package/layout/tag.ejs +0 -19
  292. package/scripts/filter/katex.js +0 -25
  293. package/scripts/helper/randomLinks.js +0 -16
  294. package/scripts/helper/themeJsExport.js +0 -79
  295. package/scripts/tags/expand.js +0 -4
  296. package/scripts/tags/hide.js +0 -70
  297. package/source/css/commentBarrage.css +0 -174
  298. package/source/css/custom.css +0 -901
  299. package/source/css/main.css +0 -16420
  300. package/source/css/search/algolia-search.css +0 -141
  301. package/source/css/search/local-search.css +0 -138
  302. package/source/css/var.css +0 -189
  303. package/source/js/extend/covercolor/web.js +0 -137
  304. /package/source/js/{rightmenu.js → rightside.js} +0 -0
@@ -1,41 +0,0 @@
1
- <% for (const post of site.posts.data.filter(item => item.recommend === true).slice(0,6)){ %>
2
- <div class="recent-post-item">
3
- <div class="post_cover left_radius">
4
- <a href="<%= url_for(post.path) %>"
5
- title="<%= post.title %>">
6
- <span class="recent-post-top-text">荐</span>
7
- <img class="post_bg"
8
- alt="<%= post.title %>" src="<%= post.cover %>" loading="lazy">
9
- </a>
10
- </div>
11
- <div class="recent-post-info">
12
- <a class="article-title" href="<%= url_for(post.path) %>"
13
- title="<%= post.title %>"><%= post.title %>
14
- </a>
15
- </div>
16
- </div>
17
- <% } %>
18
- <% if (theme.hometop.recommendList.url.startsWith('/') && theme.hometop.recommendList.url.endsWith('/')) { %>
19
- <div class="todayCard" id="todayCard" onclick="pjax.loadUrl('<%= theme.hometop.recommendList.url %>')" style="z-index: 1;">
20
- <% } else { %>
21
- <script>
22
- function GoTodayCard() {
23
- window.open("<%= theme.hometop.recommendList.url %>", "_blank");
24
- }
25
- </script>
26
- <div class="todayCard" id="todayCard" onclick="GoTodayCard()" style="z-index: 1;">
27
- <% } %>
28
- <div class="todayCard-info">
29
- <div class="todayCard-tips"><%= theme.hometop.recommendList.sup %></div>
30
- <div class="todayCard-title"><%= theme.hometop.recommendList.title %></div>
31
- </div>
32
- <div class="todayCard-cover nolazyload"
33
- style="background: url('<%- theme.hometop.recommendList.img %>') no-repeat center /cover">
34
- </div>
35
- <div class="banner-button-group"><a class="banner-button"
36
- onclick="window.event.cancelBubble=true;sco.hideTodayCard();">
37
- <i class="scoicon sco-add-fill"></i>
38
- <span class="banner-button-text">更多推荐</span>
39
- </a>
40
- </div>
41
- </div>
@@ -1,72 +0,0 @@
1
- <% const cdn = theme.cdn.body %>
2
- <%- js(cdn.pjaxjs) %>
3
- <% if(theme.lazyload.enable){ %>
4
- <%- js(cdn.lazyloadjs) %>
5
- <% } %>
6
- <%- js(cdn.snackbarjs) %>
7
- <% if(theme.lightbox){ %>
8
- <%- js(cdn.viewimagejs) %>
9
- <% } %>
10
- <% if(theme.hometop.bbtime || theme.aside.history.enable){ %>
11
- <%- js(cdn.swiperjs) %>
12
- <% } %>
13
- <%- js('/js/utils') %>
14
- <div id="js-pjax">
15
- <%- partial('partial/compoment/dorakika/rightmenu', {cache: true}) %>
16
- <% if(page.type === 'says' || page.type === 'album' || page.type === 'album_detail' ){ %>
17
- <%- js(cdn.waterfalljs) %>
18
- <script>
19
- window.addEventListener('resize', utils.throttle(function () {
20
- if (document.getElementById('waterfall')) {
21
- sco.reflashEssayWaterFall();
22
- }
23
- }), 500);
24
- </script>
25
- <% } %>
26
- <% if(theme.thirdparty.busuanzi && (theme.aside.siteinfo.uv || theme.aside.siteinfo.pv || theme.thirdparty.busuanzi.usecomment === false)){ %>
27
- <script async
28
- src="<%= cdn.busuanzijs %>"></script>
29
- <% } %>
30
- </div>
31
- <%- js('/js/main') %>
32
- <% if(theme.thirdparty.aplayer.enable){ %>
33
- <%- js(cdn.aplayerjs) %>
34
- <%- js(cdn.metingjs) %>
35
- <script>
36
- var meting_api = "<%- theme.thirdparty.aplayer.api %>";
37
- </script>
38
- <% } %>
39
- <% if(theme.post.covercolor && !theme.post.covercolor.local){ %>
40
- <%- js('/js/extend/covercolor/web') %>
41
- <% }else{ %>
42
- <%- js('/js/extend/covercolor/local') %>
43
- <% } %>
44
-
45
- <% if(theme.footer.randomlink){ %>
46
- <%- randomLinks() %>
47
- <% } %>
48
-
49
- <% if(theme.comment.enable){
50
- %>
51
- <%- js('/js/extend/console/comment')
52
- %>
53
- <% } %>
54
- <%- js('/js/rightmenu') %>
55
-
56
- <% if(theme.comment.enable){ %>
57
- <script data-pjax src="/js/commentBarrage.js"></script>
58
- <% } %>
59
-
60
- <% if (page.katex){ %>
61
- <%- css(cdn.katexcss) %>
62
- <%- js(cdn.katexjs) %>
63
- <% } %>
64
-
65
- <% if (page.katex){ %>
66
- <% css(cdn.katexcss) %>
67
- <% js(cdn.katexjs) %>
68
- <% } %>
69
-
70
- <% if(theme.aside.welcome.enable){ %>
71
- <%- js('/js/txmap.js') %>
72
- <% } %>
@@ -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.circle.api %>",
22
- defaultFish: 100,
23
- hungryFish: 100,
24
- }
25
- </script>
26
- <script type="text/javascript" src="/lib/friends_post.js"></script>
@@ -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,52 +0,0 @@
1
- <div class="post-reward">
2
- <div class="reward-button button--animated" title="赞赏作者">
3
- <script>
4
- if (utils.isMobile()) {
5
- const showReward = () => {
6
- const rewardMain = document.querySelector('.reward-main');
7
- rewardMain.style.display = 'flex';
8
- document.addEventListener('touchstart', hideReward);
9
- };
10
- const hideReward = () => {
11
- const rewardMain = document.querySelector('.reward-main');
12
- rewardMain.style.display = 'none';
13
- document.removeEventListener('touchstart', hideReward);
14
- };
15
- const rewardButton = document.querySelector('.reward-button');
16
- rewardButton.addEventListener('touchstart', event => {
17
- event.stopPropagation();
18
- showReward();
19
- });
20
- }
21
- </script>
22
- <i class="heofont icon-hand-heart-fill"></i>
23
- 打赏作者
24
- </div>
25
- <div class="reward-main">
26
- <ul class="reward-all">
27
- <span class="reward-title">感谢你赐予我前进的力量</span>
28
- <ul class="reward-group">
29
- <% if(theme.post.award.wechat){ %>
30
- <li class="reward-item">
31
- <a href="<%= theme.post.award.wechat %>" target="_blank">
32
- <img class="post-qr-code-img" src="<%= theme.post.award.wechat %>" alt="微信">
33
- </a>
34
- <div class="post-qr-code-desc">微信</div>
35
- </li>
36
- <% } %>
37
- <% if(theme.post.award.alipay){ %>
38
- <li class="reward-item">
39
- <a href="<%= theme.post.award.alipay %>" target="_blank">
40
- <img class="post-qr-code-img" src="<%= theme.post.award.alipay %>" alt="支付宝">
41
- </a>
42
- <div class="post-qr-code-desc">支付宝</div>
43
- </li>
44
- <% } %>
45
- </ul>
46
- <a class="reward-main-btn" href="<%= url_for(theme.post.award.url) %>">
47
- <div class="reward-text">赞赏者名单</div>
48
- <div class="reward-dec">因为你们的支持让我意识到写文章的价值🙏</div>
49
- </a>
50
- </ul>
51
- </div>
52
- </div>
@@ -1,37 +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
- <div class="reward-link mode">
18
- <a class="reward-link-button" href="<%= theme.footer.rss.url %>">
19
- <i class="heofont icon-plant-fill"></i>
20
- 订阅
21
- </a>
22
- </div>
23
- </div>
24
- </div>
25
- <div class="post-copyright__notice">
26
- <span class="post-copyright-info">
27
- 本文是<%= page.cc || theme.post.default.copyright %>文章,
28
- <% if(page.cc === "转载或翻译"){ %>
29
- 版权归原作者所有。转载本文请联系原作者。
30
- <% }else{ %>
31
- 采用 <a href="/copyright/" target="_blank">CC BY-NC-ND 4.0</a>
32
- 协议,完整转载请注明来自
33
- <a href="/" target="_blank"><%= config.title %></a>
34
- <% } %>
35
- </span>
36
- </div>
37
- </div>
@@ -1,83 +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
- <span class="post-meta-date" title="发布于">
33
- <i class="post-meta-icon scoicon sco-calendar-todo-fill"></i>
34
- <time datetime="<%= moment(page.date).format() %>"></time>
35
- </span>
36
- <% if(theme.post.meta.updated){ %>
37
- <span class="post-meta-date" title="更新于">
38
- <i class="post-meta-icon scoicon sco-refresh-line"></i>
39
- <time datetime="<%= moment(page.updated).format() %>"></time>
40
- </span>
41
- <% } %>
42
- <% if(theme.post.meta.locate){ %>
43
- <span class="post-meta-position" title="作者IP归属地为<%= page.locate %>">
44
- <i class="post-meta-icon scoicon sco-map-pin-fill"></i>
45
- <span><%= page.locate %></span>
46
- </span>
47
- <% } %>
48
- <% if(theme.thirdparty.wordcount){ %>
49
- <% if(theme.post.meta.wordcount){ %>
50
- <span class="post-meta-wordcount">
51
- <i class="scoicon sco-word-fill post-meta-icon" title="文章字数"></i>
52
- <span class="word-count"><%= wordcount(page.content) %></span>
53
- </span>
54
- <% } %>
55
- <% if(theme.post.meta.readtime){ %>
56
- <span class="post-meta-time">
57
- <i class="scoicon sco-clock-fill post-meta-icon" title="阅读耗时"></i>
58
- <span><%= min2read(page.content) %> min</span>
59
- </span>
60
- <% } %>
61
- <% } %>
62
- <% if(theme.thirdparty.busuanzi.enable && theme.post.meta.pv){ %>
63
- <span class="post-meta-pv" title="文章热度">
64
- <i class="scoicon sco-fire-fill post-meta-icon"></i>
65
- <% if(theme.thirdparty.busuanzi.usecomment){ %>
66
- <span id="twikoo_visitors"><i class="scoicon sco-loading-line"></i></span>
67
- <% }else{ %>
68
- <span id="busuanzi_value_page_pv"><i class="scoicon sco-loading-line"></i></span>
69
- <% } %>
70
- </span>
71
- <% } %>
72
- <% if(theme.post.meta.comment && page.comment){ %>
73
- <span class="post-meta-commentcount" title="评论数">
74
- <i class="scoicon sco-chat-fill"></i>
75
- <a href="#post-comment">
76
- <span id="twikoo-count"><i class="scoicon sco-loading-line"></i></span>
77
- </a>
78
- </span>
79
- <% } %>
80
- </div>
81
- </div>
82
- </div>
83
- <%- 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>