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,15 +0,0 @@
1
- <% if(item.aplayer){ %>
2
- <div class="bber-music">
3
- <meting-js server="<%= item.aplayer.server %>" type="song" id="<%= item.aplayer.id %>" mutex="true" preload="none" theme="var(--sco-main)" data-lrctype="0"></meting-js>
4
- </div>
5
- <% } %>
6
- <% if(item.video){ %>
7
- <div class="bber-video">
8
- <% if(item.video.player){ %>
9
- <video src="<%= item.video.player %>" controls="controls" style="object-fit: cover;"></video>
10
- <% } %>
11
- <% if(item.video.bilibili){ %>
12
- <iframe src="<%= item.video.bilibili %>" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>
13
- <% } %>
14
- </div>
15
- <% } %>
@@ -1,12 +0,0 @@
1
- <div id="post-comment" view-image>
2
- <div class="comment-head">
3
- <div class="comment-headline">
4
- <i class="scoicon sco-chat-fill"></i>
5
- <span> 评论</span>
6
- </div>
7
- </div>
8
- <div class="comment-wrap">
9
- <div id="comment"></div>
10
- <%- partial('partial/compoment/third-party/comments/twikoo', {cache: true}) %>
11
- </div>
12
- </div>
@@ -1,29 +0,0 @@
1
- <script>
2
- async function initComment(){
3
- var initOptions = Object.assign(
4
- <%- JSON.stringify(theme.comment.twikoo || {}) %>,
5
- {
6
- el: '#comment',
7
- onCommentLoaded: function() {
8
- GLOBALCONFIG.lightbox && sco.lightbox('#article-container img, #twikoo .tk-content img:not(.tk-owo-emotion)')
9
- }
10
- }
11
- )
12
- await twikoo.init(initOptions)
13
- <% if(theme.post.meta.comment && is_post()){ %>
14
- var countOptions = Object.assign(
15
- <%- JSON.stringify(theme.comment.twikoo || {}) %>,
16
- {
17
- urls: [window.location.pathname],
18
- includeReply: false
19
- }
20
- )
21
- const res = await twikoo.getCommentsCount(countOptions)
22
- try{
23
- document.getElementById('twikoo-count').innerText = res[0].count
24
- }catch (e) {
25
- document.getElementById('twikoo-count').innerText = '加载错误'
26
- }
27
- <% } %>
28
- }
29
- </script>
@@ -1,5 +0,0 @@
1
- <div class="needEndHide" id="nav-music" onclick="sco.musicToggle()">
2
- <div id="nav-music-hoverTips">音乐已暂停</div>
3
- <meting-js id="<%= theme.thirdparty.aplayer.id %>" server="<%= theme.thirdparty.aplayer.server %>" type="playlist" mutex="true"
4
- preload="none" data-lrctype="0" order="random" theme="var(--sco-main)"></meting-js>
5
- </div>
@@ -1,31 +0,0 @@
1
- <script>
2
- let pjaxSelectors = [
3
- 'title',
4
- '#body-wrap',
5
- '#site-config',
6
- 'meta[name="description"]',
7
- '#js-pjax'
8
- ]
9
-
10
- const pjax = new Pjax({
11
- elements: 'a:not([target="_blank"])',
12
- selectors: pjaxSelectors,
13
- cacheBust: false,
14
- analytics: false,
15
- scrollRestoration: false
16
- })
17
-
18
- document.querySelectorAll('script[data-pjax]').forEach(item => {
19
- const newScript = document.createElement('script')
20
- const content = item.text || item.textContent || item.innerHTML || ""
21
- Array.from(item.attributes).forEach(attr => newScript.setAttribute(attr.name, attr.value))
22
- newScript.appendChild(document.createTextNode(content))
23
- item.parentNode.replaceChild(newScript, item)
24
- })
25
-
26
- document.addEventListener('pjax:error', (e) => {
27
- if (e.request.status === 404) {
28
- pjax.loadUrl('/404.html')
29
- }
30
- })
31
- </script>
@@ -1,20 +0,0 @@
1
- <div id="algolia-search">
2
- <div class="search-dialog">
3
- <nav class="search-nav">
4
- <span class="search-dialog-title">搜索</span>
5
- <button class="search-close-button">
6
- <i class="scoicon sco-close-fill"></i>
7
- </button>
8
- </nav>
9
- <div class="search-wrap">
10
- <div class="search-box" id="search-input"></div>
11
- <div id="search-results">
12
- <div id="algolia-hits">
13
- </div>
14
- <div class="algolia-stats"></div>
15
- <div class="algolia-poweredBy"></div>
16
- </div>
17
- </div>
18
- </div>
19
- <div id="search-mask"></div>
20
- </div>
@@ -1,10 +0,0 @@
1
- <% if(theme.thirdparty.search.local_search.enable){ %>
2
- <%- partial('partial/compoment/third-party/search/local-search') %>
3
- <%- css('/css/search/local-search.css') %>
4
- <%- js('/js/extend/search/local-search.js') %>
5
- <% } %>
6
- <% if(theme.thirdparty.search.algolia_search.enable){ %>
7
- <%- partial('partial/compoment/third-party/search/algolia-search') %>
8
- <%- css('/css/search/algolia-search') %>
9
- <%- js('/js/extend/search/algolia-search.js') %>
10
- <% } %>
@@ -1,22 +0,0 @@
1
- <div id="local-search">
2
- <div class="search-dialog">
3
- <nav class="search-nav">
4
- <span class="search-dialog-title">搜索</span>
5
- <button class="search-close-button">
6
- <i class="scoicon sco-close-fill"></i>
7
- </button>
8
- </nav>
9
- <div id="loading-database">
10
- <i class="scoicon sco-loading-line"></i>
11
- <span>加载中</span>
12
- </div>
13
- <div class="search-wrap">
14
- <div class="search-box">
15
- <input class="search-box-input" placeholder="<%= __('search.placeholder') %>" type="text" id="search-input" autocomplete="off" spellcheck="false" autocorrect="off" autocapitalize="off">
16
- </div>
17
- <div id="loading-status"></div>
18
- <div id="search-results"></div>
19
- </div>
20
- </div>
21
- <div id="search-mask"></div>
22
- </div>
@@ -1,10 +0,0 @@
1
- <div class="author-content author-content-item essayPage single nolazyload" style="background: url(<%= page.cover %>) no-repeat center;background-size: cover;">
2
- <div class="card-content">
3
- <div class="author-content-item-tips"><%= page.title %></div>
4
- <span class="author-content-item-title"><%= page.desc %></span>
5
- <div class="content-bottom">
6
- <div class="tips"><%- page.tipl %></div>
7
- <div class="tips"><%- page.tipr %></div>
8
- </div>
9
- </div>
10
- </div>
@@ -1,68 +0,0 @@
1
- <div id="console" style="zoom: 1;" class="">
2
- <div class="close-btn" onclick="sco.hideConsole()" href="javascript:void(0);">
3
- <i class="scoicon sco-close-fill"></i>
4
- </div>
5
- <% if(theme.thirdparty.consolePlus){ %>
6
- <div class="console-card-group">
7
- <div class="console-card-group-left">
8
- <div class="console-card" id="card-newest-comments" onclick="sco.hideConsole()">
9
- <div class="card-content">
10
- <div class="author-content-item-tips">互动</div>
11
- <div class="author-content-item-title">最新评论</div>
12
- </div>
13
- <div class="aside-list"></div>
14
- </div>
15
-
16
- </div>
17
- <div class="console-card-group-right">
18
- <div class="console-card tags" onclick="sco.hideConsole()">
19
- <div class="card-content">
20
- <div class="author-content-item-tips">标签</div>
21
- <div class="author-content-item-title">寻找感兴趣的领域</div>
22
- </div>
23
- <div class="card-tag-cloud">
24
- <% site.tags.data.forEach(data => { %>
25
- <a href="<%= url_for(data.path) %>"
26
- style="font-size: 0.8rem; color: #d3d3d3"><%= data.name %>
27
- <sup><%= data.length %></sup></a>
28
- <% }) %>
29
- </div>
30
- </div>
31
- <div class="console-card history" onclick="sco.hideConsole()">
32
- <%- partial('partial/compoment/aside/asideArchive', {type: 'month'}) %>
33
- </div>
34
- </div>
35
- </div>
36
- <% } %>
37
-
38
- <div class="button-group">
39
- <div class="console-btn-item">
40
- <a class="darkmode_switchbutton" onclick="sco.switchDarkMode()" title="显示模式切换"
41
- href="javascript:void(0);" rel="external nofollow" data-pjax-state="">
42
- <i class="scoicon sco-moon-clear-fill" style="font-size: 1rem;"></i>
43
- </a>
44
- </div>
45
- <div class="console-btn-item" id="consoleHideAside">
46
- <a class="asideSwitch" onclick="sco.switchHideAside()" title="边栏显示控制"
47
- href="javascript:void(0);" rel="external nofollow" data-pjax-state="">
48
- <i class="scoicon sco-side-bar-fill" style="font-size: 1rem;"></i>
49
- </a>
50
- </div>
51
- <% if(theme.thirdparty.aplayer.enable){ %>
52
- <div class="console-btn-item" id="consoleMusic" onclick="sco.musicToggle()" title="音乐开关">
53
- <a class="music-switch">
54
- <i class="scoicon sco-disc-fill"></i>
55
- </a>
56
- </div>
57
- <% } %>
58
- <% if(theme.comment.enable) { %>
59
- <div class="console-btn-item on" id="consoleCommentBarrage" onclick="sco.switchCommentBarrage()"
60
- title="热评开关">
61
- <a class="commentBarrage">
62
- <i class="scoicon sco-chat-fill"></i>
63
- </a>
64
- </div>
65
- <% }%>
66
- </div>
67
- <div class="console-mask" onclick="sco.hideConsole()" href="javascript:void(0);" rel="external nofollow"></div>
68
- </div>
@@ -1,104 +0,0 @@
1
- <div id="sco-footer-bar">
2
- <div class="footer-logo">
3
- <% if (theme.site.name.class === 'i_class') { %>
4
- <i class="<%= theme.site.name.custom %>" style="font-size: 16px;"></i>
5
- <% } else if (theme.site.name.class === 'img') { %>
6
- <i style="background-image: url('<%= url_for(theme.site.name.custom) %>')"></i>
7
- <% } else if (theme.site.name.class === 'text') { %>
8
- <span class="scoicon"><%= theme.site.name.custom %></span>
9
- <% } %>
10
- </div>
11
- <div class="footer-bar-description">来自 <%- config.title %> 最新设计与科技的文章</div>
12
- <a class="footer-bar-link" href="/" data-pjax-state="">了解更多</a>
13
- </div>
14
- <div id="footer_deal">
15
- <% for(const i in theme.footer.information.left){ %>
16
- <a class="deal_link" href="<%= url_for(theme.footer.information.left[i].url) %>" rel="external nofollow"
17
- title="<%= i %>">
18
- <i class="<%= theme.footer.information.left[i].icon %>"></i>
19
- </a>
20
- <% } %>
21
- <img class="footer_mini_logo" src="<%= theme.site.icon %>"
22
- title="返回顶部" onclick="sco.toTop()">
23
- <% for(const i in theme.footer.information.right){ %>
24
- <a class="deal_link" href="<%= url_for(theme.footer.information.right[i].url) %>" rel="external nofollow"
25
- title="<%= i %>">
26
- <i class="<%= theme.footer.information.right[i].icon %>"></i>
27
- </a>
28
- <% } %>
29
- </div>
30
- <div id="sco-footer">
31
- <% for(const x in theme.footer.group){ %>
32
- <div class="footer-group">
33
- <h3 class="footer-title"><%= x %></h3>
34
- <div class="footer-links">
35
- <% for(const y in theme.footer.group[x]){ %>
36
- <a class="footer-item" href="<%= url_for(theme.footer.group[x][y]) %>" title="<%= y %>"
37
- rel="noopener external nofollow noreferrer"><%= y %></a>
38
- <% } %>
39
- </div>
40
- </div>
41
- <% } %>
42
- <% if(theme.footer.randomlink){ %>
43
- <div class="footer-group">
44
- <div class="footer-title-group">
45
- <h3 class="footer-title">友链</h3>
46
- <a class="random-friends-btn" href="javascript:randomLinksList();" rel="external nofollow">
47
- <i class="scoicon sco-refresh-line"></i>
48
- </a>
49
- </div>
50
- <div class="footer-links" id="friend-links-in-footer">
51
- </div>
52
- </div>
53
- <% } %>
54
- </div>
55
- <div id="footer-bar">
56
- <div class="footer-bar-links">
57
- <div class="footer-bar-left">
58
- <div id="footer-bar-tips">
59
- <% if(moment(theme.aside.siteinfo.runtime).year() === new Date().getFullYear()){ %>
60
- <div class="copyright">© <%= moment(theme.aside.siteinfo.runtime).year() %>
61
- By
62
- <a class="footer-bar-link" href="/" rel="external nofollow"><%= config.author %></a>
63
- </div>
64
- <% }else{ %>
65
- <div class="copyright">© <%= moment(theme.aside.siteinfo.runtime).year() %>
66
- - <%= new Date().getFullYear() %> By
67
- <a class="footer-bar-link" href="/" rel="external nofollow"><%= config.author %></a>
68
- </div>
69
- <% } %>
70
- </div>
71
- </div>
72
- <div class="footer-bar-right">
73
- <% if(theme.footer.rss.enable){ %>
74
- <a class="footer-bar-link" href="/rss/" rel="external nofollow"
75
- target="_self">订阅</a>
76
- <% } %>
77
- <a class="footer-bar-link" href="https://github.com/DuoSco/hexo-theme-solitude" rel="external nofollow"
78
- target="_self">主题</a>
79
- <% if(theme.site.icp){ %>
80
- <a class="footer-bar-link" target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index"
81
- rel="noopener external nofollow noreferrer noopener">
82
- <%= theme.site.icp %>
83
- </a>
84
- <% } %>
85
- <a class="footer-bar-link cc" href="<%- theme.footer.license.url %>" target="_self" rel="external nofollow">
86
- <i class="scoicon sco-copyright-line"></i>
87
- <i class="scoicon sco-creative-commons-by-line"></i>
88
- <i class="scoicon sco-creative-commons-nc-line"></i>
89
- <i class="scoicon sco-creative-commons-nd-line"></i>
90
- </a>
91
- </div>
92
- </div>
93
- </div>
94
- <div class="needEndHide" id="cookies-window">
95
- <div class="cookies-window-title">协议提醒助手</div>
96
- <div class="cookies-window-content">
97
- <span class="cookies-tip">查看本站为你的个人隐私做出的努力</span>
98
- <a class="cookies-link" href="/privacy/" title="本站如何保护你的隐私" data-pjax-state="">
99
- <i class="heofont icon-arrow-right-circle-fill"></i>
100
- </a>
101
- </div>
102
- </div>
103
- <div class="comment-barrage">
104
- </div>
@@ -1,37 +0,0 @@
1
- <% const cdn = theme.cdn.head %>
2
-
3
- <meta charset="UTF-8">
4
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <%
7
- var title = '', subtitle = ''
8
- if (is_home()) {
9
- title = config.title
10
- } else if (is_archive()) title = '归档 ' + (page.year || '')
11
- else if (is_category()) title = '分类 ' + page.category
12
- else if (is_tag()) title = '标签 ' + page.tag
13
- else if (page.type === '404') title = '404 ' + theme.errorpage.text
14
- else if (is_page() || is_post()) title = page.title
15
- if (is_home()) subtitle = config.subtitle ? ' - ' + config.subtitle : ''
16
- else subtitle = title ? ' | ' + config.title : config.title
17
- var description = page.desc || page.excerpt || config.description
18
- -%>
19
- <title><%= title + subtitle %></title>
20
- <noscript>开启Javascript是必要的</noscript>
21
- <link rel="icon" type="image/x-icon" href="<%= url_for(theme.site.siteIcon) %>">
22
- <meta name="description" content="<%= description %>">
23
- <% if (theme.pwa.enable) { %>
24
- <%- partial('partial/pwa') %>
25
- <% }else{ %>
26
- <meta name="apple-mobile-web-app-title" content="<%= config.title %>">
27
- <link rel="bookmark" href="<%= url_for(theme.site.siteIcon) %>">
28
- <link rel="apple-touch-icon-precomposed" sizes="180x180" href="<%= url_for(theme.site.siteIcon) %>">
29
- <% } %>
30
- <link rel="stylesheet" href="/css/var.css">
31
- <link rel="stylesheet" href="/css/main.css">
32
- <link rel="stylesheet" href="/css/custom.css">
33
- <%- partial('partial/compoment/inject/head', {cache: true}) %>
34
- <% if (theme.extends.head) for (const i of theme.extends.head){ %>
35
- <%- i %>
36
- <% } %>
37
- <%- export_config() %>
@@ -1,6 +0,0 @@
1
- <header class="<%= is_post() ? 'post-bg' : 'not-top-img' %>" id="page-header">
2
- <%- partial('partial/nav', {cache: true}) %>
3
- <% if(is_post()){ %>
4
- <%- partial('partial/compoment/post/postMeta') %>
5
- <% } %>
6
- </header>
@@ -1,15 +0,0 @@
1
- <div class="recent-top-post-group" id="recent-top-post-group">
2
- <div class="recent-post-top" id="recent-post-top">
3
- <div id="bannerGroup">
4
- <div id="banners">
5
- <%- partial('partial/compoment/hometop/groupTag') %>
6
- </div>
7
- <div class="categoryGroup">
8
- <%- partial('partial/compoment/hometop/categoryGroup') %>
9
- </div>
10
- </div>
11
- <div class="topGroup">
12
- <%- partial('partial/compoment/hometop/topGroup') %>
13
- </div>
14
- </div>
15
- </div>
@@ -1,34 +0,0 @@
1
- <nav id="nav" class="show">
2
- <div id="nav-group">
3
- <div id="blog_name">
4
- <% if(theme.nav.left.enable){ %>
5
- <div class="back-home-button" tabindex="-1">
6
- <i class="back-home-button-icon scoicon sco-more-fill"></i>
7
- <%- partial('partial/compoment/nav/left') %>
8
- </div>
9
- <% } %>
10
- <a id="site-name" href="/" title="返回博客主页" target="_self">
11
- <% if (theme.site.name.class === 'i_class') { %>
12
- <i class="<%= theme.site.name.custom %>" style="font-size: 16px;"></i>
13
- <% } else if (theme.site.name.class === 'img') { %>
14
- <i style="background-image: url('<%= url_for(theme.site.name.custom) %>')"></i>
15
- <% } else if (theme.site.name.class === 'text') { %>
16
- <span class="scoicon"><%= theme.site.name.custom %></span>
17
- <% } %>
18
- </a>
19
- </div>
20
- <div id="page-name-mask">
21
- <div id="page-name">
22
- <a id="page-name-text" onclick="sco.toTop()"><%= page.title || config.title %></a>
23
- </div>
24
- </div>
25
- <div id="menus">
26
- <%- partial('partial/compoment/nav/menu') %>
27
- </div>
28
- <div id="nav-left">
29
- </div>
30
- <div id="nav-right">
31
- <%- partial('partial/compoment/nav/right') %>
32
- </div>
33
- </div>
34
- </nav>
@@ -1,40 +0,0 @@
1
- <meta name="theme-color" content="<%- theme.pwa.theme_color %>">
2
- <link rel="manifest" href="<%- theme.pwa.manifest %>">
3
- <% if (theme.pwa.theme_color) { %><meta name="msapplication-TileColor" content="<%- theme.pwa.theme_color %>"><% } %>
4
- <% if (theme.pwa.mask_icon) { %><link rel="mask-icon" href="<%- theme.pwa.mask_icon %>" color="<%- theme.pwa.theme_color %>"><% } %>
5
- <% if (theme.pwa.apple_touch_icon) { %><link rel="apple-touch-icon" sizes="180x180" href="<%- theme.pwa.apple_touch_icon %>">
6
- <link rel="apple-touch-icon-precomposed" sizes="180x180" href="<%- theme.pwa.apple_touch_icon %>">
7
- <meta name="apple-mobile-web-app-title" content="<%= config.title %>"><% } %>
8
- <% if (theme.pwa.favicon_16_16) { %><link rel="icon" type="image/png" sizes="16x16" href="<%- theme.pwa.favicon_16_16 %>"><% } %>
9
- <% if (theme.pwa.favicon_32_32) { %><link rel="icon" type="image/png" sizes="32x32" href="<%- theme.pwa.favicon_32_32 %>"><% } %>
10
- <% if (theme.pwa.bookmark_icon) { %><link rel="bookmark" href="<%- theme.pwa.bookmark_icon %>"><% } %><% if (theme.pwa.startup_image_enable) { %>
11
- <% if (theme.pwa.favicon_2048_2732) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2048_2732 %>" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
12
- <% if (theme.pwa.favicon_2732_2048) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2732_2048 %>" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
13
- <% if (theme.pwa.favicon_1668_2388) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1668_2388 %>" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
14
- <% if (theme.pwa.favicon_2388_1668) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2388_1668 %>" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
15
- <% if (theme.pwa.favicon_1536_2048) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1536_2048 %>" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
16
- <% if (theme.pwa.favicon_2048_1536) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2048_1536 %>" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
17
- <% if (theme.pwa.favicon_1668_2224) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1668_2224 %>" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
18
- <% if (theme.pwa.favicon_1668_2224) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1668_2224 %>" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
19
- <% if (theme.pwa.favicon_1620_2160) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1620_2160 %>" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
20
- <% if (theme.pwa.favicon_2160_1620) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2160_1620 %>" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
21
- <% if (theme.pwa.favicon_1290_2796) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1290_2796 %>" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
22
- <% if (theme.pwa.favicon_2796_1290) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2796_1290 %>" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
23
- <% if (theme.pwa.favicon_1179_2556) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1179_2556 %>" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
24
- <% if (theme.pwa.favicon_2556_1179) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2556_1179 %>" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
25
- <% if (theme.pwa.favicon_1248_2778) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1248_2778 %>" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
26
- <% if (theme.pwa.favicon_2778_1248) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2778_1248 %>" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
27
- <% if (theme.pwa.favicon_1170_2532) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1170_2532 %>" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
28
- <% if (theme.pwa.favicon_2532_1170) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2532_1170 %>" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
29
- <% if (theme.pwa.favicon_1125_2436) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1125_2436 %>" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
30
- <% if (theme.pwa.favicon_2436_1125) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2436_1125 %>" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
31
- <% if (theme.pwa.favicon_1242_2688) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1242_2688 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
32
- <% if (theme.pwa.favicon_2688_1242) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2688_1242 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
33
- <% if (theme.pwa.favicon_828_1792) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_828_1792 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
34
- <% if (theme.pwa.favicon_1792_828) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1792_828 %>" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
35
- <% if (theme.pwa.favicon_1242_2208) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1242_2208 %>" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><% } %>
36
- <% if (theme.pwa.favicon_2208_1242) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_2208_1242 %>" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"><% } %>
37
- <% if (theme.pwa.favicon_750_1334) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_750_1334 %>" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
38
- <% if (theme.pwa.favicon_1334_750) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1334_750 %>" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %>
39
- <% if (theme.pwa.favicon_640_1136) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_640_1136 %>" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><% } %>
40
- <% if (theme.pwa.favicon_1136_640) { %><link rel="apple-touch-startup-image" href="<%- theme.pwa.favicon_1136_640 %>" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"><% } %><% } %>
@@ -1,31 +0,0 @@
1
- <div id="sidebar" style="zoom: 1;">
2
- <div id="menu-mask" style="display: none;"></div>
3
- <div id="sidebar-menus" class>
4
- <span class="sidebar-menu-item-title">功能</span>
5
- <div class="sidebar-menu-item">
6
- <a class="darkmode_switchbutton menu-child" onclick="sco.switchDarkMode()" title="显示模式切换"
7
- href="javascript:void(0);" rel="external nofollow">
8
- <i class="scoicon sco-moon-clear-fill" style="font-size: 1rem;"></i>
9
- <span>显示模式</span>
10
- </a>
11
- </div>
12
- <% if(theme.nav.left.enable){ %>
13
- <%- partial('partial/compoment/nav/left') %>
14
- <% } %>
15
- <%- partial('partial/compoment/nav/menu') %>
16
- <span class="sidebar-menu-item-title">标签</span>
17
- <div class="card-widget card-tags card-archives card-webinfo card-allinfo">
18
- <div class="item-headline">
19
- <i class="scoicon sco-price-tag-fill"></i>
20
- <span>标签</span>
21
- </div>
22
- <div class="card-tag-cloud">
23
- <% site.tags.data.forEach(data => { %>
24
- <a href="<%= url_for(data.path) %>" style="font-size: 1em; color: #d3d3d3"><%= data.name %>
25
- <sup><%= data.length %></sup>
26
- </a>
27
- <% }) %>
28
- </div>
29
- </div>
30
- </div>
31
- </div>
package/layout/post.ejs DELETED
@@ -1,52 +0,0 @@
1
- <main class="layout" id="content-inner">
2
- <div id="post">
3
- <article class="post-content" id="article-container">
4
- <%- page.content %>
5
- </article>
6
- <%- partial('partial/compoment/post/copyright') %>
7
-
8
- <div class="post-tools-right">
9
- <div class="tag_share">
10
- <div class="post-meta__tag-list">
11
- <% page.tags.data.forEach(data => { %>
12
- <a href="<%= url_for(data.path) %>" class="post-meta__tags">
13
- <span class="tags-punctuation"></span>
14
- <%= data.name %>
15
- <span class="tagsPageCount"><%= data.length %></span>
16
- </a>
17
- <% }) %>
18
- </div>
19
- </div>
20
- </div>
21
-
22
- <% if(site.posts.length > 1){ %>
23
- <%- partial('partial/compoment/post/postNav') %>
24
- <% } %>
25
-
26
- <%- related_posts(page, site.posts) %>
27
-
28
- <% if(page.comment){ %>
29
- <%- partial('partial/compoment/third-party/comments/comment') %>
30
- <% } %>
31
- </div>
32
-
33
- <%- partial('partial/compoment/aside/aside') %>
34
-
35
- <% if(theme.ai.enable){ %>
36
- <script data-pjax defer>
37
- // AI构造函数
38
- new ChucklePostAI({
39
- /* 必须配置 */
40
- // 文章内容所在的元素属性的选择器,也是AI挂载的容器,AI将会挂载到该容器的最前面
41
- el: '#post #article-container',
42
- // 驱动AI所必须的key,即是tianliGPT后端服务所必须的key
43
- key: '<%= theme.ai.key %>',
44
- /* 非必须配置,但最好根据自身需要进行配置 */
45
- // 文章标题所在的元素属性的选择器,默认获取当前网页的标题
46
- title_el: '.post-title',
47
- // 文章推荐方式,all:匹配数据库内所有文章进行推荐,web:仅当前站内的文章,默认all
48
- rec_method: '<%= theme.ai.rec_method || 'web' %>',
49
- })
50
- </script>
51
- <% } %>
52
- </main>
package/layout/tag.ejs DELETED
@@ -1,19 +0,0 @@
1
- <main class="layout" id="content-inner">
2
- <div id="tag">
3
- <div id="tag-page-tags">
4
- <% site.tags.data.forEach(data => { %>
5
- <a href="<%= url_for(data.path) %>" class="<%= data.name === page.tag ? 'select' : '' %>">
6
- <span class="tags-punctuation"></span>
7
- <%= data.name %>
8
- <span class="tagsPageCount"><%= data.length %></span>
9
- </a>
10
- <% }) %>
11
- </div>
12
- <div class="article-sort-title"><%= page.tag %></div>
13
- <div class="article-sort">
14
- <%- partial('partial/compoment/mixins/articleSort') %>
15
- </div>
16
- <%- partial('partial/compoment/mixins/pagination') %>
17
- </div>
18
- <%- partial('partial/compoment/aside/aside') %>
19
- </main>
@@ -1,25 +0,0 @@
1
- const katex = require('katex');
2
-
3
- hexo.extend.filter.register('marked:extensions', function(extensions) {
4
- // Info: `extensions` is an array.
5
- extensions.push({
6
- name: 'blockMath',
7
- level: 'block',
8
- tokenizer(src) {
9
- const cap = /^\s{0,3}\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/.exec(src);
10
-
11
- if (cap !== null) {
12
- return {
13
- type: 'blockMath',
14
- raw: cap[0],
15
- math: cap[1]
16
- };
17
- }
18
-
19
- return undefined;
20
- },
21
- renderer(token) {
22
- return `<p>${katex.renderToString(token.math, {displayMode: true})}</p>\n`;
23
- }
24
- });
25
- });