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,37 +0,0 @@
1
- <main class="layout hide-aside" id="content-inner">
2
- <div id="page">
3
- <div class="rss-plan-list">
4
- <a class="rss-plan-item rss-plan-wechat" href="<%- theme.footer.rss.wechatOA %>" title="公众号" target="_blank">
5
- <div class="rss-plan-description">推送精选文章<br>推送全文</div>
6
- <div class="rss-plan-info-group">
7
- <div class="rss-plan-title">公众号订阅</div>
8
- <div class="rss-plan-info">推荐的订阅方式</div>
9
- <img class="rss-plan-icon" src="https://bu.dusays.com/2023/11/01/6541d14a4de78.png" alt="wechat">
10
- </div>
11
- </a><a class="rss-plan-item rss-plan-mail" href="<%- theme.footer.rss.emailOA %>" rel="external nofollow"
12
- title="竹白" target="_blank">
13
- <div class="rss-plan-description">推送全部文章<br>推送封面与简介</div>
14
- <div class="rss-plan-info-group">
15
- <div class="rss-plan-title">邮件订阅</div>
16
- <div class="rss-plan-info">推荐的订阅方式</div>
17
- <img class="rss-plan-icon" src="https://bu.dusays.com/2023/11/01/6541d16c3ea22.png" alt="wechat">
18
- </div>
19
- </a><a class="rss-plan-item rss-plan-rss" href="<%- theme.footer.rss.rssOA %>" title="rss" target="_blank">
20
- <div class="rss-plan-description">推送全部文章<br>推送简介</div>
21
- <div class="rss-plan-info-group">
22
- <div class="rss-plan-title">RSS</div>
23
- <div class="rss-plan-info">备用订阅方式</div>
24
- <img class="rss-plan-icon" src="https://bu.dusays.com/2023/11/01/6541d184e2a09.png" alt="wechat">
25
- </div>
26
- </a></div>
27
- <%- page.content %>
28
-
29
- <% if(page.comment){ %>
30
- <%- partial('partial/compoment/third-party/comments/comment') %>
31
- <% } %>
32
- </div>
33
-
34
- <% if(page.aside){%>
35
- <%- partial('partial/compoment/aside/aside') %>
36
- <%} %>
37
- </main>
@@ -1,17 +0,0 @@
1
- <%- partial('partial/compoment/says/banner') %>
2
- <div id="bber">
3
- <section class="timeline page-1">
4
- <ul class="list" id="waterfall">
5
- <% for(let i in site.data.essay.essay_list){ %>
6
- <% const item = site.data.essay.essay_list[i];if(i >= 30)break; %>
7
- <li class="item">
8
- <%- partial('partial/compoment/says/saysContent', {item:item}) %>
9
- <%- partial('partial/compoment/says/saysFunction', {item:item}) %>
10
- <hr>
11
- <%- partial('partial/compoment/says/saysBottom', {item:item}) %>
12
- </li>
13
- <% }; %>
14
- </ul>
15
- </section>
16
- </div>
17
- <div id="bber-tips" style="color: var(--sco-secondtext);">- 只展示最近30条短文 -</div>
@@ -1,12 +0,0 @@
1
- <h1 class="page-title"><%= __('page.tag') %></h1>
2
- <div class="category-lists">
3
- <div class="tag-cloud-list is-center">
4
- <% site.tags.data.forEach(data => { %>
5
- <a href="<%= url_for(data.path) %>">
6
- <span class="tags-punctuation"></span>
7
- <%= data.name %>
8
- <span class="tagsPageCount"><%= data.length %></span>
9
- </a>
10
- <% }) %>
11
- </div>
12
- </div>
@@ -1,11 +0,0 @@
1
- <%- partial('partial/compoment/tlink/banner') %>
2
- <div class="flink" id="article-container">
3
- <% site.data.tlink.links.forEach(data => { %>
4
- <h2><%= data.class_name %></h2>
5
- <div class="flink-desc"><%= data.descr %></div>
6
- <%- partial('partial/compoment/links/linksItem', {data: data.link_list}) %>
7
- <% }); %>
8
- </div>
9
- <div id="article-container">
10
- <%- page.content %>
11
- </div>
package/layout/page.ejs DELETED
@@ -1,45 +0,0 @@
1
- <main class="layout <%= page.aside ? '' : 'hide-aside' %>" id="content-inner">
2
- <div id="page">
3
- <% switch (page.type) {
4
- case 'categories': %>
5
- <%- partial('page/categories') %>
6
- <% break;
7
- case 'tags': %>
8
- <%- partial('page/tags') %>
9
- <% break;
10
- case 'links': %>
11
- <%- partial('page/links') %>
12
- <% break;
13
- case 'tlink': %>
14
- <%- partial('page/tlink') %>
15
- <% break;
16
- case 'about': %>
17
- <%- partial('page/about') %>
18
- <% break;
19
- case 'says': %>
20
- <%- partial('page/says') %>
21
- <% break;
22
- case 'equipment': %>
23
- <%- partial('page/equipment') %>
24
- <% break;
25
- case 'circle': %>
26
- <%- partial('page/circle') %>
27
- <% break;
28
- case 'echarts': %>
29
- <%- partial('page/echarts') %>
30
- <% break;
31
- case 'rss': %>
32
- <%- partial('page/rss') %>
33
- <% break;
34
- default: %>
35
- <%- partial('page/page') %>
36
- <% break;
37
- } %>
38
- <% if(page.comment){ %>
39
- <%- partial('partial/compoment/third-party/comments/comment') %>
40
- <% } %>
41
- </div>
42
- <% if(page.aside){ %>
43
- <%- partial('partial/compoment/aside/aside') %>
44
- <% } %>
45
- </main>
@@ -1,7 +0,0 @@
1
- <div>
2
- <%- partial('partial/compoment/inject/body', {cache: true}) %>
3
- <%- partial('partial/compoment/third-party/pjax', {cache: true}) %>
4
- <% if (theme.extends.body) for (const i of theme.extends.body){ %>
5
- <%- i %>
6
- <% } %>
7
- </div>
@@ -1,18 +0,0 @@
1
- <% const authorinfo = site.data.about.authorinfo; %>
2
-
3
- <div class="author-info">
4
- <div class="author-tag-left">
5
- <% authorinfo.leftTags.forEach(tag => { %>
6
- <span class="author-tag"><%= tag %></span>
7
- <% }); %>
8
- </div>
9
- <div class="author-img">
10
- <img src="<%= authorinfo.image %>" >
11
- </div>
12
- <div class="author-tag-right">
13
- <% authorinfo.rightTags.forEach(tag => { %>
14
- <span class="author-tag"><%= tag %></span>
15
- <% }); %>
16
- </div>
17
- </div>
18
- <div class="author-title">关于我</div>
@@ -1,59 +0,0 @@
1
- <% let sum = 0; %>
2
- <% if(site.data.about.rewardList){ %>
3
- <div class="author-content">
4
- <div class="author-content-item single reward">
5
- <div class="author-content-item-tips">致谢</div>
6
- <span class="author-content-item-title">赞赏名单</span>
7
- <div class="author-content-item-description">
8
- 感谢赞赏的人,因为你们,让我感受到写博客这件事情能够给你们创造了价值。这会让我在这条路上走得更远。
9
- </div>
10
- <div class="reward-list-all">
11
- <% site.data.about.rewardList.forEach(function(reward) {
12
- sum += reward.money
13
- %>
14
- <div class="reward-list-item">
15
- <div class="reward-list-item-name"><%= reward.name %></div>
16
- <div class="reward-list-bottom-group">
17
- <div class="reward-list-item-money" <% if (reward.vip) { %>style="background: var(--sco-vip);"
18
- <% } %>
19
- >¥ <%= reward.money %></div>
20
- <time class="datatime reward-list-item-time" datetime="<%= moment(reward.time).format() %>"></time>
21
- </div>
22
- </div>
23
- <% }); %>
24
- <% if(theme.post.award.enable){ %>
25
- <div class="post-reward">
26
- <div class="post-reward" onclick="AddRewardMask()"></div>
27
- <div class="reward-button" title="赞赏作者"><i class="heofont icon-hand-heart-fill"></i> 打赏作者
28
- </div>
29
- <div class="reward-main">
30
- <ul class="reward-all">
31
- <span class="reward-title">感谢你赐予我前进的力量</span>
32
- <ul class="reward-group">
33
- <% var rewards = [
34
- {image: theme?.post?.award?.wechat, description: '微信'},
35
- {image: theme?.post?.award?.alipay, description: '支付宝'}
36
- ]; %>
37
- <% for (var i = 0; i < rewards.length; i++) { %>
38
- <li class="reward-item">
39
- <a href="<%= rewards[i].image %>" target="_blank">
40
- <img class="post-qr-code-img" alt="<%= rewards[i].description %>"
41
- src="<%= rewards[i].image %>">
42
- </a>
43
- <div class="post-qr-code-desc">
44
- <%= rewards[i].description %>
45
- </div>
46
- </li>
47
- <% } %>
48
- </ul>
49
- </ul>
50
- </div>
51
- </div>
52
- <% } %>
53
- </div>
54
- <div class="reward-list-tips">
55
- <p>总金额:¥ <%- sum %>,将全部用于博客的维护</p>
56
- </div>
57
- </div>
58
- </div>
59
- <% } %>
@@ -1,33 +0,0 @@
1
- <% const contentinfo = site.data.about.contentinfo; %>
2
- <div class="author-content">
3
- <div class="author-content-item myInfoAndSayHello">
4
- <div class="title1">你好,很高兴认识你👋</div>
5
- <div class="title2">我叫 <span class="inline-word"><%= contentinfo.name %></span></div>
6
- <div class="title1">是一名 <%= contentinfo.title %></div>
7
- </div>
8
- <div class="aboutsiteTips author-content-item">
9
- <div class="author-content-item-tips">追求</div>
10
- <h2>源于<br> 热爱而去<span class="inline-word">创造</span>
11
- <div class="mask"><span class="first-tips" data-show=""><%= contentinfo.product %></span><span><%= contentinfo.design %></span><span><%= contentinfo.program %></span><span
12
- data-up=""><%= contentinfo.user_experience %></span></div>
13
- </h2>
14
- </div>
15
- </div>
16
- <script>
17
- var pursuitInterval = null;
18
- pursuitInterval = setInterval(function () {
19
- const show = document.querySelector('span[data-show]')
20
- const next = show.nextElementSibling || document.querySelector('.first-tips')
21
- const up = document.querySelector('span[data-up]')
22
- if (up) {
23
- up.removeAttribute('data-up')
24
- }
25
- show.removeAttribute('data-show')
26
- show.setAttribute('data-up', '')
27
- next.setAttribute('data-show', '')
28
- }, 2000)
29
-
30
- document.addEventListener('pjax:send', function(){
31
- clearInterval(pursuitInterval);
32
- });
33
- </script>
@@ -1,53 +0,0 @@
1
- <div class="author-content">
2
- <% if(site.data.about.game1){ %>
3
- <div class="author-content-item game-apex"
4
- style="background: url(<%- site.data.about.game1.img %>) no-repeat top; background-size: cover;">
5
- <div class="card-content">
6
- <div class="author-content-item-tips"><%= site.data.about.game1.title %></div>
7
- <span class="author-content-item-title"><%= site.data.about.game1.subtitle %></span>
8
- <div class="content-bottom">
9
- <div class="tips"><%= site.data.about.game1.tips_left %></div>
10
- <div class="tips"><%= site.data.about.game1.tips_right %></div>
11
- </div>
12
- </div>
13
- </div>
14
- <% } %>
15
- <% if(site.data.about.game2){ %>
16
- <div class="author-content-item game-jl"
17
- style="background: url(<%= site.data.about.game2.img %>) no-repeat top; background-size: cover;">
18
- <div class="card-content">
19
- <div class="author-content-item-tips"><%= site.data.about.game2.title %></div>
20
- <span class="author-content-item-title"><%= site.data.about.game2.subtitle %></span>
21
- <div class="content-bottom">
22
- <div class="tips"><%= site.data.about.game2.tips_left %></div>
23
- <div class="tips"><%= site.data.about.game2.tips_right %></div>
24
- </div>
25
- </div>
26
- </div>
27
- <% } %>
28
- </div>
29
- <% if(site.data.about.likes){ %>
30
- <% const likes = site.data.about.likes; %>
31
- <div class="author-content">
32
- <% likes.forEach(function(like) { %>
33
- <div class="author-content-item <%= like.type %>" style="background: url(<%= like.bg %>) no-repeat center;">
34
- <div class="card-content">
35
- <div class="author-content-item-tips"><%= like.tips %></div>
36
- <span class="author-content-item-title"><%= like.title %></span>
37
- <div class="content-bottom">
38
- <div class="tips"><%= like.subtips %></div>
39
- <% if(like.button){ %>
40
- <div class="banner-button-group">
41
- <a class="banner-button" href="<%= like.button_link %>" target="_blank"
42
- rel="noopener nofollow">
43
- <i class="scoicon sco-right-btn-fill"></i>
44
- <span class="banner-button-text"><%= like.button_text %></span>
45
- </a>
46
- </div>
47
- <% } %>
48
- </div>
49
- </div>
50
- </div>
51
- <% }); %>
52
- </div>
53
- <% } %>
@@ -1,17 +0,0 @@
1
- <div class="author-content">
2
- <% const motto = site.data.about.motto; %>
3
- <div class="author-content-item maxim">
4
- <div class="author-content-item-tips"><%= motto.title %></div>
5
- <span class="maxim-title"><span
6
- style="opacity: 0.6;margin-bottom:8px;"><%= motto.prefix %></span><span><%= motto.content %></span></span>
7
- </div>
8
- <div class="author-content-item buff">
9
- <% const expertise = site.data.about.expertise; %>
10
- <div class="card-content">
11
- <div class="author-content-item-tips"><%= expertise.title %></div>
12
- <span class="buff-title"><span style="opacity: 0.6;margin-bottom:8px;"><%= expertise.prefix %><span
13
- class="inline-word"><%= expertise.specialist %></span></span><span><%= expertise.content %><span
14
- class="inline-word"><%= expertise.level %></span></span></span>
15
- </div>
16
- </div>
17
- </div>
@@ -1,76 +0,0 @@
1
- <div class="author-content">
2
- <% if(site.data.about.tj){ %>
3
- <div class="about-statistic author-content-item" style="background: url(<%= site.data.about.tj.img %>);">
4
- <div class="card-content">
5
- <div class="author-content-item-tips">数据</div>
6
- <span class="author-content-item-title">访问统计</span>
7
- <div id="statistic"></div>
8
- <div class="post-tips">
9
- 统计信息来自 <a href="https://invite.51.la/1NzKqTeb?target=V6" target="_blank"
10
- rel="noopener nofollow">51la网站统计</a>
11
- </div>
12
- <div class="banner-button-group">
13
- <a class="banner-button" onclick="pjax.loadUrl(&quot;/echart/&quot;)" data-pjax-state="">
14
- <i class="scoicon sco-right-btn-fill"></i>
15
- <span class="banner-button-text">文章统计</span>
16
- </a>
17
- </div>
18
- </div>
19
- </div>
20
- <script>
21
- fetch("<%= site.data.about.tj.url %>")
22
- .then(res => res.text())
23
- .then(data => {
24
- let title = ["最近活跃", "今日人数", "今日访问", "昨日人数", "昨日访问", "本月访问", "总访问量"];
25
- let num = data.match(/(<\/span><span>).*?(\/span><\/p>)/g);
26
- num = num.map(el => {
27
- let val = el.replace(/(<\/span><span>)/g, "");
28
- let str = val.replace(/(<\/span><\/p>)/g, "");
29
- return str;
30
- });
31
- let s = document.getElementById("statistic");
32
- let statistic = [];
33
- for (let i = 0; i < num.length; i++) {
34
- if (i == 0 || i == num.length - 1) continue;
35
- s.innerHTML += "<div><span>" + title[i] + "</span><span id=" + title[i] + ">" + num[i] + "</span></div>";
36
- }
37
- });
38
- </script>
39
- <% } %>
40
- <% if(site.data.about.oneself){ %>
41
- <style>
42
- :root {
43
- --site-about-oneself-map--light: url(<%= site.data.about.oneself.map.light %>);
44
- --site-about-oneself-map--dark: url(<%= site.data.about.oneself.map.dark %>);
45
- }
46
- </style>
47
- <% const oneself = site.data.about.oneself; %>
48
- <div class="author-content-item-group column mapAndInfo">
49
- <div class="author-content-item map single">
50
- <span class="map-title">我现在住在 <b><%= oneself.location %></b></span></div>
51
- <div class="author-content-item selfInfo single">
52
- <div><span class="selfInfo-title">生于</span>
53
- <span class="selfInfo-content" style="color: #43a6c6;"><%= oneself.birthYear %></span>
54
- </div>
55
- <div>
56
- <span class="selfInfo-title"><%= oneself.university %></span>
57
- <span class="selfInfo-content" style="color: #c69043;"><%= oneself.major %></span>
58
- </div>
59
- <div>
60
- <span class="selfInfo-title">现在职业</span>
61
- <span class="selfInfo-content" style="color: #b04fe6;"><%= oneself.occupation %></span>
62
- </div>
63
- </div>
64
- </div>
65
- <% } %>
66
- </div>
67
-
68
- <% if(site.data.about.cause){ %>
69
- <div class="author-content">
70
- <div class="create-site-post author-content-item single">
71
- <div class="author-content-item-tips">心路历程</div>
72
- <span class="author-content-item-title">为什么建站?</span>
73
- <%- site.data.about.cause %>
74
- </div>
75
- </div>
76
- <% } %>
@@ -1,11 +0,0 @@
1
- <% const personalities = site.data.about.personalities; %>
2
- <div class="author-content">
3
- <div class="author-content-item personalities">
4
- <div class="author-content-item-tips"><%= personalities.tips %></div>
5
- <span class="author-content-item-title"><%= personalities.title %></span>
6
- <div class="title2" style="color: <%= personalities.color %>;"><%= personalities.type %></div>
7
- <div class="image"><img src="<%= personalities.image %>"></div>
8
- <div class="post-tips">在 <a href="https://www.16personalities.com/" target="_blank" rel="noopener nofollow"><%= personalities.linkText %></a> 了解更多关于 <a target="_blank" rel="noopener external nofollow" href="<%= personalities.typeLink %>"><%= personalities.typeName %></a></div>
9
- </div>
10
- <div class="author-content-item myphoto"><img class="author-content-img" src="<%= personalities.myphoto %>" alt="自拍"></div>
11
- </div>
@@ -1,62 +0,0 @@
1
- <div class="author-content">
2
- <% const skills = site.data.about.skills; %>
3
- <div class="author-content-item skills">
4
- <div class="card-content">
5
- <div class="author-content-item-tips"><%= skills.title %></div>
6
- <span class="author-content-item-title"><%= skills.subtitle %></span>
7
- <div class="skills-style-group">
8
- <div class="tags-group-all">
9
- <div class="tags-group-wrapper">
10
- <div class="tags-group-all">
11
- <div class="tags-group-wrapper" >
12
- <% for (let i = 0; i < 2; i++) { %>
13
- <% skills.tags.reduce(function(acc, tag, index) { %>
14
- <% if (index % 2 === 0) { %>
15
- <% if (index !== 0) { %>
16
- </div>
17
- <% } %>
18
- <div class="tags-group-icon-pair">
19
- <% } %>
20
- <div class="tags-group-icon" style="background:<%= tag.color %>">
21
- <img src="<%= tag.icon %>" title="<%= tag.title %>">
22
- </div>
23
- <% if (index === skills.tags.length - 1) { %>
24
- </div>
25
- <% } %>
26
- <% }, '') %>
27
- <% } %>
28
- </div>
29
- </div>
30
- </div>
31
- </div>
32
- <div class="skills-list">
33
- <% skills.tags.forEach(function(tag){ %>
34
- <div class="skill-info">
35
- <div class="skill-icon" style="background:<%= tag.color %>">
36
- <img src="<%= tag.icon %>" title="<%= tag.title %>">
37
- </div>
38
- <div class="skill-name"> <span><%= tag.title %></span></div>
39
- </div>
40
- <% }); %>
41
- <div class="etc">...</div>
42
- </div>
43
- </div>
44
- </div>
45
- </div>
46
- <% const careers = site.data.about.careers; %>
47
- <div class="author-content-item careers">
48
- <div class="card-content">
49
- <div class="author-content-item-tips"><%= careers.title %></div>
50
- <span class="author-content-item-title"><%= careers.subtitle %></span>
51
- <div class="careers-group">
52
- <% careers.items.forEach(function(item) { %>
53
- <div class="careers-item">
54
- <div class="circle" style="background: <%= item.color %>"></div>
55
- <div class="name"><%= item.school %>, <%= item.major %></div>
56
- </div>
57
- <% }); %>
58
- </div>
59
- <img class="author-content-img" src="<%= careers.image %>" alt="<%= careers.title %>">
60
- </div>
61
- </div>
62
- </div>
@@ -1,28 +0,0 @@
1
- <div class="aside-content" id="aside-content">
2
- <%
3
- var noSticky, Sticky;
4
- if(is_home()){
5
- noSticky = theme.aside.home.noSticky.split(',')
6
- Sticky = theme.aside.home.Sticky.split(',')
7
- }
8
- if(is_post()){
9
- noSticky = theme.aside.post.noSticky.split(',')
10
- Sticky = theme.aside.post.Sticky.split(',')
11
- }
12
- if(is_page() || is_archive() || is_tag() || is_category()){
13
- noSticky = theme.aside.page.noSticky.split(',')
14
- Sticky = theme.aside.page.Sticky.split(',')
15
- }
16
- %>
17
- <% if(noSticky)noSticky.forEach(item => { %>
18
- <%- partial('partial/compoment/aside/asideSwitch', {item: item}) %>
19
- <% }); %>
20
- <div class="sticky_layout">
21
- <% if(page.toc){ %>
22
- <%- partial('partial/compoment/aside/asideToc') %>
23
- <% } %>
24
- <% if(Sticky)Sticky.forEach(item => { %>
25
- <%- partial('partial/compoment/aside/asideSwitch', {item: item}) %>
26
- <% }); %>
27
- </div>
28
- </div>
@@ -1,6 +0,0 @@
1
- <div class="card-widget card-tags card-archives card-webinfo card-allinfo">
2
- <%- partial('partial/compoment/aside/asideTag', {cache: true}) %>
3
- <%- partial('partial/compoment/aside/asideArchive', {cache: true}) %>
4
- <hr>
5
- <%- partial('partial/compoment/aside/asideWebInfo', {cache: true}) %>
6
- </div>
@@ -1,11 +0,0 @@
1
- <ul class="card-archive-list">
2
- <% var type = locals.type ? locals.type : 'year'; %>
3
- <% for(const [key, value] of Object.entries(getArchiveLength(type))){ %>
4
- <li class="card-archive-list-item"><a class="card-archive-list-link" onclick="pjax.loadUrl('/archives/<%= key %>/')" data-pjax-state=""><span
5
- class="card-archive-list-date"><%= key %></span>
6
- <div class="card-archive-list-count-group"><span class="card-archive-list-count"><%= value %></span><span
7
- class="card-archive-list-count-unit">篇</span></div>
8
- </a>
9
- </li>
10
- <% } %>
11
- </ul>
@@ -1,72 +0,0 @@
1
- <style>
2
- #aside-content .card-widget.card-platform {
3
- background: var(--sco-main);
4
- display: flex;
5
- justify-content: center;
6
- align-content: center;
7
- padding: 0;
8
- cursor: pointer;
9
- border: none;
10
- height: 110px;
11
- border: var(--style-border);
12
- transition: 0.6s
13
- }
14
- #aside-content .card-widget.card-platform:before {
15
- position: absolute;
16
- width: 100%;
17
- height: 100%;
18
- left: 0;
19
- top: 0;
20
- background: url("<%- theme.aside.flip.favicon || 'https://img.meuicat.com/blog/14.webp' %>") center center no-repeat;
21
- content: '';
22
- background-size: cover
23
- }
24
- #aside-content .card-widget.card-platform:hover:before {
25
- filter: blur(12px) saturate(1.5);
26
- transition: .3s
27
- }
28
- #aside-content .card-widget #flip-wrapper {
29
- perspective: 1000;
30
- position: relative;
31
- width: 235px;
32
- height: 110px;
33
- z-index: 1
34
- }
35
- #aside-content .card-platform #flip-wrapper:hover #flip-content {
36
- transform: rotateY(180deg)
37
- }
38
- #aside-content .card-platform #flip-wrapper #flip-content {
39
- width: 100%;
40
- height: 100%;
41
- transform-style: preserve-3d;
42
- transition: cubic-bezier(0, 0, 0, 1.29) 0.3s
43
- }
44
- #aside-content .card-platform #flip-wrapper #flip-content .face {
45
- position: absolute;
46
- width: 100%;
47
- height: 100%;
48
- -webkit-backface-visibility: hidden;
49
- backface-visibility: hidden;
50
- background: url("<%- theme.aside.flip.face || 'https://img.meuicat.com/blog/15.webp' %>") center center no-repeat;
51
- background-size: 100%
52
- }
53
- #aside-content .card-platform #flip-wrapper #flip-content .face.back {
54
- display: block;
55
- -webkit-transform: rotateY(180deg);
56
- transform: rotateY(180deg);
57
- box-sizing: border-box;
58
- background: url("<%- theme.aside.flip.backface || 'https://img.meuicat.com/blog/16.webp' %>") center center no-repeat;
59
- background-size: 100%
60
- }
61
- [data-theme='dark'] #aside-content .card-widget.card-platform {
62
- background: var(--sco-card-bg)
63
- }
64
- </style>
65
- <div class="card-widget card-platform">
66
- <div id="flip-wrapper">
67
- <div id="flip-content">
68
- <div class="face"></div>
69
- <div class="back face"></div>
70
- </div>
71
- </div>
72
- </div>