hexo-theme-solitude 1.1.3 → 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 (254) hide show
  1. package/LICENSE +674 -19
  2. package/_config.yml +243 -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} +59 -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 +16 -0
  91. package/layout/includes/widgets/third-party/search/index.pug +7 -0
  92. package/layout/includes/widgets/third-party/search/local-search.pug +15 -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 +944 -0
  120. package/source/css/_page/category.styl +141 -0
  121. package/source/css/_page/equipment.styl +108 -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 +22 -0
  126. package/source/css/_page/link.styl +433 -0
  127. package/source/css/_page/moment.styl +186 -0
  128. package/source/css/_page/rss.styl +87 -0
  129. package/source/css/_page/says.styl +353 -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 +206 -0
  140. package/source/css/_search/local-search.styl +112 -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 +104 -111
  156. package/source/js/extend/search/local-search.js +7 -7
  157. package/source/js/main.js +655 -505
  158. package/source/js/utils.js +131 -137
  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,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="scoicon sco-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>
@@ -1,49 +0,0 @@
1
- <% if(theme.aside.history.enable){ %>
2
- <style>
3
- .swiper-wrapper{
4
- flex-direction: column
5
- }
6
- .history_slide {
7
- text-align:left;
8
- display: flex !important;
9
- flex-direction:column;
10
- align-items: flex-start
11
- }
12
- #history-baidu > .blog-slider__pagination{
13
- display:none
14
- }
15
- .history_slide_time{
16
- color: var(--sco-secondtext);
17
- font-size: 14px;
18
- font-style: italic;
19
- font-weight: lighter
20
- }
21
- .history_slide_link {
22
- line-height: 1.5;
23
- -webkit-line-clamp: 2;
24
- display: -webkit-box;
25
- overflow: hidden;
26
- -webkit-box-orient: vertical
27
- }
28
- .history_slide_link a{
29
- color: var(--sco-main);
30
- padding: 0 4px;
31
- border-radius: 4px
32
- }
33
- .history_slide_link a:hover{
34
- color: var(--sco-white);
35
- background: var(--sco-main)
36
- }
37
- </style>
38
- <div class="card-widget card-history">
39
- <div class="item-headline">
40
- <i class="<%- theme.aside.history.icon || 'scoicon sco-clock-fill' %>"></i>
41
- <span><%- theme.aside.history.title || '那年今日' %></span>
42
- </div>
43
- <div id="history-baidu" style="height: 100px;overflow: hidden">
44
- <div id="history-container" class="history_swiper-container" style="width: 100%;height: 100%;margin-top: 6px">
45
- <div id="history_container_wrapper" class="swiper-wrapper" style="height:20px"></div>
46
- </div>
47
- </div>
48
- </div>
49
- <% } %>
@@ -1,39 +0,0 @@
1
- <div class="card-widget card-info">
2
- <div class="card-content">
3
- <div class="card-info-avatar is-center">
4
- <div class="author-info__top-group">
5
- <div class="author-info__sayhi" id="author-info__sayhi" onclick="sco.changeSayHelloText()">
6
- 一日之计在于晨
7
- </div>
8
- </div>
9
- </div>
10
- <div class="avatar-img-group">
11
- <img class="avatar-img" alt="avatar" src="<%= theme.aside.card.author.img %>">
12
- <div class="avatar-sticker">
13
- <svg class="avatar-sticker-img" alt="avatar" aria-hidden="true">
14
- <use xlink:href="<%= theme.aside.card.author.state %>"></use>
15
- </svg>
16
- <%- js(theme.aside.card.author.js) %>
17
- </div>
18
- </div>
19
- <div class="author-info__description_group">
20
- <div class="author-info__description"><%- theme.aside.card.content %></div>
21
- <div class="author-info__description2"><%- theme.aside.card.content2 %></div>
22
- </div>
23
- <div class="author-info__bottom-group">
24
- <a class="author-info__bottom-group-left" href="/about" data-pjax-state="">
25
- <div class="author-info__name">
26
- <%= config.author %>
27
- </div>
28
- <div class="author-info__desc"><%- config.subtitle %></div>
29
- </a>
30
- <div class="card-info-social-icons is-center">
31
- <% for(const i in theme.aside.card.information){ %>
32
- <a class="social-icon" href="<%= url_for(theme.aside.card.information[i].url) %>" title="<%= i %>">
33
- <i class="<%= theme.aside.card.information[i].icon %>"></i>
34
- </a>
35
- <% } %>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
@@ -1,31 +0,0 @@
1
- <div class="card-widget card-recent-post">
2
- <div class="item-headline">
3
- <i class="scoicon sco-map-line"></i>
4
- <span>最近发布</span>
5
- </div>
6
- <div class="aside-list">
7
- <% let index = 1 %>
8
- <% for (const post of site.posts.data.sort((a, b) => {
9
- return b.date < a.date ? -1 : 1
10
- })){ %>
11
- <div class="aside-list-item">
12
- <a class="thumbnail" href="<%= url_for(post.path) %>" title="<%= post.title %>">
13
- <img
14
- alt="<%= post.title %>"
15
- src="<%= post.cover %>">
16
- </a>
17
- <div class="content">
18
- <% post.categories.data.forEach(categories => { %>
19
- <a class="article-recent_post_categories" href="<%= url_for(post.path) %>">
20
- <%= categories.name %>
21
- </a>
22
- <% }) %>
23
- <a class="title" href="<%= url_for(post.path) %>" title="<%= post.title %>">
24
- <%= post.title %>
25
- </a>
26
- </div>
27
- </div>
28
- <% index++;if(index > 5)break; %>
29
- <% } %>
30
- </div>
31
- </div>
@@ -1,31 +0,0 @@
1
- <div class="card-widget card-power">
2
- <% const data = site.data.afadian.links %>
3
- <% const vip = data[Math.floor(Math.random() * data.length)] %>
4
- <div class="item-headline">
5
- <i class="scoicon sco-afdian-line"></i>
6
- <span>爱发电赞助</span>
7
- <a class="power-charge" href="<%= theme.aside.power.link %>" rel="external nofollow" target="_blank"
8
- title="赞助博主">赞助</a>
9
- </div>
10
- <a id="power-star" data-pjax-state="" href="<%= vip.url %>">
11
- <div id="power-star-image"
12
- style="background-image: url('<%= vip.avatar %>');"></div>
13
- <div class="power-star-body">
14
- <div id="power-star-title"><%= vip.name %></div>
15
- <div id="power-star-desc"><%= vip.descr %></div>
16
- </div>
17
- </a>
18
- <div class="power-list">
19
- <div class="power-item">
20
- <div class="power-item-body">
21
- <% data.forEach(item => { %>
22
- <% if(item.name !== vip.name){ %>
23
- <div class="power-item-link">
24
- <a target="_blank" href="<%= item.link %>" rel="external nofollow"><%= item.name %></a>
25
- </div>
26
- <% } %>
27
- <% }) %>
28
- </div>
29
- </div>
30
- </div>
31
- </div>