hexo-theme-solitude 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +17 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.yml +48 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +35 -0
  4. package/CONTRIBUTING.md +2 -13
  5. package/LICENSE +21 -674
  6. package/README.md +17 -41
  7. package/README_EN.md +14 -39
  8. package/SECURITY.md +9 -0
  9. package/_config.yml +235 -264
  10. package/languages/{en-US.yml → en.yml} +3 -5
  11. package/languages/zh-CN.yml +0 -2
  12. package/languages/zh-TW.yml +0 -2
  13. package/layout/404.pug +1 -1
  14. package/layout/includes/body/gadsense.pug +9 -0
  15. package/layout/includes/console.pug +6 -6
  16. package/layout/includes/footer.pug +13 -13
  17. package/layout/includes/inject/body.pug +10 -1
  18. package/layout/includes/inject/head.pug +6 -4
  19. package/layout/includes/mixins/pagination.pug +2 -2
  20. package/layout/includes/nav.pug +2 -2
  21. package/layout/includes/page/album.pug +9 -9
  22. package/layout/includes/page/says.pug +5 -5
  23. package/layout/includes/sidebar.pug +2 -3
  24. package/layout/includes/widgets/aside/asideInfoCard.pug +1 -1
  25. package/layout/includes/widgets/aside/asideNewestPost.pug +1 -1
  26. package/layout/includes/widgets/aside/asideToc.pug +1 -1
  27. package/layout/includes/widgets/aside/asideWebInfo.pug +8 -8
  28. package/layout/includes/widgets/home/banner.pug +1 -1
  29. package/layout/includes/widgets/home/bbTimeList.pug +7 -7
  30. package/layout/includes/widgets/home/categoryBar.pug +5 -4
  31. package/layout/includes/widgets/home/categoryGroup.pug +3 -2
  32. package/layout/includes/widgets/home/postList.pug +11 -5
  33. package/layout/includes/widgets/home/topGroup.pug +1 -1
  34. package/layout/includes/widgets/nav/menu.pug +1 -1
  35. package/layout/includes/widgets/nav/right.pug +6 -6
  36. package/layout/includes/widgets/page/about/award.pug +3 -3
  37. package/layout/includes/widgets/page/about/hobbies.pug +1 -1
  38. package/layout/includes/widgets/page/banner.pug +1 -1
  39. package/layout/includes/widgets/page/equipment/content.pug +1 -1
  40. package/layout/includes/widgets/page/links/banner.pug +3 -3
  41. package/layout/includes/widgets/page/moments/angle.pug +1 -1
  42. package/layout/includes/widgets/post/award.pug +1 -1
  43. package/layout/includes/widgets/post/copyright.pug +1 -1
  44. package/layout/includes/widgets/post/post-ai.pug +1 -1
  45. package/layout/includes/widgets/post/postMeta.pug +12 -12
  46. package/layout/includes/widgets/rightside/index.pug +25 -25
  47. package/layout/includes/widgets/third-party/comments/comment.pug +1 -1
  48. package/layout/includes/widgets/third-party/music.pug +1 -1
  49. package/layout/includes/widgets/third-party/search/algolia-search.pug +2 -2
  50. package/layout/includes/widgets/third-party/search/local-search.pug +1 -1
  51. package/layout/index.pug +2 -2
  52. package/package.json +9 -9
  53. package/plugins.yml +8 -12
  54. package/scripts/event/cdn.js +10 -0
  55. package/scripts/event/welcome.js +1 -1
  56. package/scripts/filter/lazyload.js +2 -3
  57. package/scripts/helper/related_post.js +1 -1
  58. package/scripts/helper/stylus.js +11 -3
  59. package/scripts/tags/card.js +1 -1
  60. package/scripts/tags/mermaid.js +9 -0
  61. package/scripts/tags/tabs.js +2 -2
  62. package/source/css/_global/animation.styl +1 -1
  63. package/source/css/_global/index.styl +27 -27
  64. package/source/css/_layout/basic.styl +18 -18
  65. package/source/css/_layout/header.styl +67 -67
  66. package/source/css/_layout/index.styl +14 -14
  67. package/source/css/_mode/index.styl +88 -88
  68. package/source/css/_page/_about/author.styl +5 -5
  69. package/source/css/_page/_about/buff.styl +1 -1
  70. package/source/css/_page/_about/careers.styl +1 -1
  71. package/source/css/_page/_about/contentinfo.styl +2 -2
  72. package/source/css/_page/_about/game.styl +2 -2
  73. package/source/css/_page/_about/like.styl +2 -2
  74. package/source/css/_page/_about/myphoto.styl +1 -1
  75. package/source/css/_page/_about/oneself.styl +2 -2
  76. package/source/css/_page/_about/reward.styl +11 -11
  77. package/source/css/_page/_about/skills.styl +2 -2
  78. package/source/css/_page/_about/statistic.styl +4 -4
  79. package/source/css/_page/_about/tenyear.styl +4 -4
  80. package/source/css/_page/_gallery/index.styl +7 -7
  81. package/source/css/_page/_home/category-bar.styl +11 -8
  82. package/source/css/_page/_home/home-top.styl +16 -16
  83. package/source/css/_page/_home/index.styl +1 -1
  84. package/source/css/_page/_home/pagination.styl +22 -22
  85. package/source/css/_page/_home/recent-post.styl +22 -15
  86. package/source/css/_page/category.styl +11 -11
  87. package/source/css/_page/douban.styl +10 -10
  88. package/source/css/_page/equipment.styl +10 -10
  89. package/source/css/_page/error.styl +3 -3
  90. package/source/css/_page/google.styl +32 -0
  91. package/source/css/_page/index.styl +4 -1
  92. package/source/css/_page/links.styl +27 -27
  93. package/source/css/_page/moment.styl +22 -22
  94. package/source/css/_page/music.styl +16 -14
  95. package/source/css/_page/says.styl +21 -21
  96. package/source/css/_page/share.styl +25 -25
  97. package/source/css/_page/tag.styl +12 -12
  98. package/source/css/_widgets/_aside/allinfo.styl +12 -12
  99. package/source/css/_widgets/_aside/flip.styl +3 -6
  100. package/source/css/_widgets/_aside/index.styl +4 -4
  101. package/source/css/_widgets/_aside/info.styl +27 -27
  102. package/source/css/_widgets/_aside/newPost.styl +5 -5
  103. package/source/css/_widgets/_aside/toc.styl +7 -7
  104. package/source/css/_widgets/_comment/index.styl +7 -7
  105. package/source/css/_widgets/_comment/twikoo.styl +66 -50
  106. package/source/css/_widgets/_comment/waline.styl +45 -44
  107. package/source/css/_widgets/_extra/console.styl +30 -29
  108. package/source/css/_widgets/_extra/fullpage.styl +1 -1
  109. package/source/css/_widgets/_extra/music.styl +11 -11
  110. package/source/css/_widgets/_extra/pace.styl +2 -2
  111. package/source/css/_widgets/_extra/rightmenu.styl +8 -8
  112. package/source/css/_widgets/_mixins/article-sort.styl +7 -7
  113. package/source/css/_widgets/_mixins/footer.styl +31 -29
  114. package/source/css/_widgets/_mixins/keyboard.styl +8 -8
  115. package/source/css/_widgets/_mixins/other.styl +4 -4
  116. package/source/css/_widgets/_mixins/sidebar.styl +20 -20
  117. package/source/css/_widgets/_post/_highlight/index.styl +16 -16
  118. package/source/css/_widgets/_post/_highlight/theme/default.styl +1 -1
  119. package/source/css/_widgets/_post/_highlight/theme/mac.styl +1 -1
  120. package/source/css/_widgets/_post/commentBarrage.styl +13 -13
  121. package/source/css/_widgets/_post/content.styl +27 -26
  122. package/source/css/_widgets/_post/copyright.styl +11 -11
  123. package/source/css/_widgets/_post/meta.styl +27 -27
  124. package/source/css/_widgets/_post/pagination.styl +13 -13
  125. package/source/css/_widgets/_post/postAI.styl +18 -18
  126. package/source/css/_widgets/_post/relatedPost.styl +8 -8
  127. package/source/css/_widgets/_post/tools.styl +30 -30
  128. package/source/css/_widgets/_search/algolia-search.styl +18 -18
  129. package/source/css/_widgets/_search/local-search.styl +22 -22
  130. package/source/css/_widgets/_tags/button.styl +1 -1
  131. package/source/css/_widgets/_tags/card.styl +12 -12
  132. package/source/css/_widgets/_tags/fold.styl +11 -11
  133. package/source/css/_widgets/_tags/index.styl +26 -26
  134. package/source/css/_widgets/_tags/link.styl +10 -9
  135. package/source/css/_widgets/_tags/mermaid.styl +4 -0
  136. package/source/css/_widgets/_tags/note.styl +2 -2
  137. package/source/css/_widgets/_tags/tabs.styl +10 -10
  138. package/source/css/_widgets/_tags/timeline.styl +5 -5
  139. package/source/img/logo.png +0 -0
  140. package/source/js/comment/twikoo_commentBarrage.js +1 -1
  141. package/source/js/comment/waline_commentBarrage.js +1 -1
  142. package/source/js/covercolor/api.js +18 -18
  143. package/source/js/covercolor/local.js +18 -18
  144. package/source/js/main.js +5 -5
  145. package/source/js/music.js +1 -12
  146. package/source/js/sco-ai.min.js +1 -1
  147. package/source/js/search/algolia.js +7 -7
  148. package/source/js/tw_cn.js +2 -2
  149. package/source/js/universe.min.js +5 -0
  150. package/source/js/utils.js +2 -2
  151. package/source/js/waterfall.min.js +1 -0
@@ -20,4 +20,4 @@
20
20
  else
21
21
  a.equipment-item-content-item-link(href=item.link, target="_blank") 查看文章
22
22
  a.bber-reply(onclick=`sco.toTalk('${item.description}')`)
23
- i.scoicon.sco-chat-fill(style="font-size: 1rem;")
23
+ i.solitude.st-chat-fill(style="font-size: 1rem;")
@@ -5,11 +5,11 @@
5
5
  .banner-button-group
6
6
  if theme.footer.randomlink
7
7
  a.banner-button.secondary(onclick="travelling()")
8
- i.scoicon.sco-signal-tower-fill
8
+ i.solitude.st-signal-tower-fill
9
9
  span.banner-button-text 随机访问
10
10
  a.banner-button(onclick="sco.scrollToComment()")
11
- i.scoicon.sco-right-btn-fill
12
- span.scoicon.banner-button-text 申请友链
11
+ i.solitude.st-right-btn-fill
12
+ span.solitude.banner-button-text 申请友链
13
13
 
14
14
  .tags-group-all.nowrapMove
15
15
  .tags-group-wrapper
@@ -2,7 +2,7 @@
2
2
  .title-h2-a-left
3
3
  h2(style="padding-top: 0;margin:0.6rem 0 0.6rem;") 🎣 钓鱼
4
4
  a#random-post-start(href="javascript:fetchRandomPost();", style="transition-duration: 0.3s; transform: rotate(63000deg); opacity: 1;", data-pjax-state="")
5
- i.scoicon.sco-restart-line
5
+ i.solitude.st-restart-line
6
6
  .title-h2-a-right
7
7
  if page.type !== 'links'
8
8
  a.random-post-all(href="/links/", data-pjax-state="") 全部友链
@@ -1,6 +1,6 @@
1
1
  .post-reward(onclick="AddRewardMask()")
2
2
  .reward-button(title="赞赏作者")
3
- i.scoicon.sco-hand-heart-fill
3
+ i.solitude.st-hand-heart-fill
4
4
  | 打赏作者
5
5
  .reward-main
6
6
  ul.reward-all
@@ -14,7 +14,7 @@
14
14
  if theme.post.rss
15
15
  .reward-link.mode
16
16
  a.reward-link-button(href=url_for(theme.post.rss), title="订阅")
17
- i.scoicon.sco-plant-fill
17
+ i.solitude.st-plant-fill
18
18
  | 订阅
19
19
  if theme.post.default.copyright.enable || page.copyright
20
20
  .post-copyright__notice
@@ -1,7 +1,7 @@
1
1
  .post-ai
2
2
  .ai-title
3
3
  .ai-title-left
4
- i.ai-title-icon.scoicon.sco-robot-fill
4
+ i.ai-title-icon.solitude.st-robot-fill
5
5
  .ai-title-text 文章摘要
6
6
  .ai-tag#ai-tag= theme.post_ai.modelName
7
7
  .ai-explanation(style="display: block;")
@@ -18,49 +18,49 @@
18
18
  .meta-secondline
19
19
  if theme.post.meta.date
20
20
  span.post-meta-date(title=_p('meta_posted') + ' ' + full_date(page.date))
21
- i.post-meta-icon.scoicon.sco-calendar-todo-fill
21
+ i.post-meta-icon.solitude.st-calendar-todo-fill
22
22
  time(datetime=date_xml(page.date))= date_xml(page.date)
23
23
  if theme.post.meta.updated
24
24
  span.post-meta-date(title=_p('meta_updated') + ' ' + full_date(page.updated))
25
- i.post-meta-icon.scoicon.sco-refresh-line
25
+ i.post-meta-icon.solitude.st-refresh-line
26
26
  time(datetime=date_xml(page.updated))= date_xml(page.updated)
27
27
  if theme.wordcount
28
28
  span.post-meta-wordcount
29
29
  if theme.post.meta.wordcount
30
- i.post-meta-icon.scoicon.sco-word-fill(title=_p('post.meta_wordcount'))
30
+ i.post-meta-icon.solitude.st-word-fill(title=_p('post.meta_wordcount'))
31
31
  span.word-count= wordcount(page.content)
32
32
  span.post-meta-separator
33
33
  if theme.post.meta.readtime
34
- i.post-meta-icon.scoicon.sco-clock-fill(title=_p('post.meta_minread'))
34
+ i.post-meta-icon.solitude.st-clock-fill(title=_p('post.meta_minread'))
35
35
  span= min2read(page.content) + " min"
36
36
  if theme.post.meta.locate
37
37
  span.post-meta-position(title=_p('post.meta_ip') + page.locate)
38
- i.post-meta-icon.scoicon.sco-map-pin-fill
38
+ i.post-meta-icon.solitude.st-map-pin-fill
39
39
  span= page.locate
40
40
  if theme.post.meta.pv
41
41
  a.post-meta-pv(href=url_for(page.path), title=_p('post.meta_pv'))
42
- i.post-meta-icon.scoicon.sco-fire-fill
42
+ i.post-meta-icon.solitude.st-fire-fill
43
43
  if theme.comment.enable
44
44
  case theme.comment.type
45
45
  when "twikoo"
46
46
  span#twikoo_visitors
47
- i.scoicon.sco-loading-line
47
+ i.solitude.st-loading-line
48
48
  when "waline"
49
49
  span.waline-pageview-count
50
- i.scoicon.sco-loading-line
50
+ i.solitude.st-loading-line
51
51
  else if theme.busuanzi
52
52
  span#busuanzi_value_page_pv
53
- i.scoicon.sco-loading-line
53
+ i.solitude.st-loading-line
54
54
  if theme.post.meta.comment && page.comment
55
55
  span.post-meta-commentcount(title=_p('post.meta_comment'), onclick="sco.scrollTo('post-comment')")
56
- i.scoicon.sco-chat-fill
56
+ i.solitude.st-chat-fill
57
57
  a(href=url_for(page.path) + "#post-comment")
58
58
  case theme.comment.type
59
59
  when "twikoo"
60
60
  span#twikoo-count
61
- i.scoicon.sco-loading-line
61
+ i.solitude.st-loading-line
62
62
  when "waline"
63
63
  span.waline-comment-count
64
- i.scoicon.sco-loading-line
64
+ i.solitude.st-loading-line
65
65
 
66
66
  include ./wave
@@ -1,74 +1,74 @@
1
1
  div#rightMenu
2
2
  div.rightMenu-group.rightMenu-small
3
3
  div.rightMenu-item#menu-backward
4
- i.scoicon.sco-arrow-left-line
4
+ i.solitude.st-arrow-left-line
5
5
  div.rightMenu-item#menu-forward
6
- i.scoicon.sco-arrow-right-line
6
+ i.solitude.st-arrow-right-line
7
7
  div.rightMenu-item#menu-refresh
8
- i.scoicon.sco-restart-line
8
+ i.solitude.st-restart-line
9
9
  div.rightMenu-item#menu-top
10
- i.scoicon.sco-arrow-up-line
10
+ i.solitude.st-arrow-up-line
11
11
  div.rightMenu-group.rightMenu-line.rightMenuPlugin
12
12
  div.rightMenu-item#menu-copytext
13
- i.scoicon.sco-copy-fill
13
+ i.solitude.st-copy-fill
14
14
  span= _p('rightmenu.copytext')
15
15
  div.rightMenu-item#menu-pastetext
16
- i.scoicon.sco-clipboard-fill
16
+ i.solitude.st-clipboard-fill
17
17
  span= _p('rightmenu.pastetext')
18
18
  if theme.comment.enable
19
19
  a.rightMenu-item#menu-commenttext
20
- i.scoicon.sco-chat-new-fill
20
+ i.solitude.st-chat-new-fill
21
21
  span= _p('rightmenu.commenttext')
22
22
  div.rightMenu-item#menu-newwindow
23
- i.scoicon.sco-window-fill
23
+ i.solitude.st-window-fill
24
24
  span= _p('rightmenu.newwindow')
25
25
  div.rightMenu-item#menu-copylink
26
- i.scoicon.sco-link-line
26
+ i.solitude.st-link-line
27
27
  span= _p('rightmenu.copylink')
28
28
  div.rightMenu-item#menu-copyimg
29
- i.scoicon.sco-copy-fill
29
+ i.solitude.st-copy-fill
30
30
  span= _p('rightmenu.copyimg')
31
31
  div.rightMenu-item#menu-downloadimg
32
- i.scoicon.sco-download-cloud-fill
32
+ i.solitude.st-download-cloud-fill
33
33
  span= _p('rightmenu.downloadimg')
34
34
  div.rightMenu-item#menu-search
35
- i.scoicon.sco-search-line
35
+ i.solitude.st-search-line
36
36
  span= _p('rightmenu.search')
37
37
  div.rightMenu-item#menu-music-toggle
38
- i.scoicon.sco-play-fill
38
+ i.solitude.st-play-fill
39
39
  span= _p('rightmenu.music.toggle')
40
40
  div.rightMenu-item#menu-music-back
41
- i.scoicon.sco-skip-back-fill
41
+ i.solitude.st-skip-back-fill
42
42
  span= _p('rightmenu.music.back')
43
43
  div.rightMenu-item#menu-music-forward
44
- i.scoicon.sco-skip-forward-fill
44
+ i.solitude.st-skip-forward-fill
45
45
  span= _p('rightmenu.music.forward')
46
46
  div.rightMenu-item#menu-music-playlist(onclick=`window.open('${theme.capsule.server === 'tencent' ? `https://y.qq.com/n/ryqq/playlist/${theme.capsule.id}` : `https://music.163.com/#/playlist?id=${theme.capsule.id}`}', '_blank');`)
47
- i.scoicon.sco-play-list-2-line
47
+ i.solitude.st-play-list-2-line
48
48
  span= _p('rightmenu.music.playlist')
49
49
  div.rightMenu-item#menu-music-copyMusicName
50
- i.scoicon.sco-copy-fill
50
+ i.solitude.st-copy-fill
51
51
  span= _p('rightmenu.music.copyMusicName')
52
52
  div.rightMenu-group.rightMenu-line.rightMenuOther
53
53
  a.rightMenu-item.menu-Link#menu-randomPost
54
- i.scoicon.sco-signal-tower-fill
54
+ i.solitude.st-signal-tower-fill
55
55
  span= _p('rightmenu.randomPost')
56
56
  a.rightMenu-item.menu-link(href="/categories/")
57
- i.scoicon.sco-checkbox-multiple-blank-fill
57
+ i.solitude.st-checkbox-multiple-blank-fill
58
58
  span= _p('rightmenu.categories')
59
59
  a.rightMenu-item.menu-link(href="/tags/")
60
- i.scoicon.sco-price-tag-fill
60
+ i.solitude.st-price-tag-fill
61
61
  span= _p('rightmenu.tags')
62
62
  div.rightMenu-group.rightMenu-line.rightMenuOther
63
63
  div.rightMenu-item#menu-copy
64
- i.scoicon.sco-external-link-fill
64
+ i.solitude.st-external-link-fill
65
65
  span= _p('rightmenu.copyaddress')
66
66
  if theme.comment.enable && theme.comment.commentBarrage
67
67
  div.rightMenu-item#menu-commentBarrage
68
- i.scoicon.sco-chat-fill
68
+ i.solitude.st-chat-fill
69
69
  span.menu-commentBarrage-text= _p('rightmenu.commentBarrage')
70
70
  div.rightMenu-item#menu-darkmode
71
- i.scoicon.sco-moon-clear-fill
71
+ i.solitude.st-moon-clear-fill
72
72
  case theme.display_mode.type
73
73
  when 'auto'
74
74
  when 'light'
@@ -79,9 +79,9 @@ div#rightMenu
79
79
  div.rightMenu-item#menu-translate
80
80
  case theme.translate.defaultEncoding
81
81
  when 2
82
- i.scoicon.sco-panben-line
82
+ i.solitude.st-panben-line
83
83
  span= _p('rightmenu.chs_to_cht')
84
84
  when 1
85
- i.scoicon.sco-jianben-line
85
+ i.solitude.st-jianben-line
86
86
  span= _p('rightmenu.cht_to_chs')
87
87
  div#rightmenu-mask
@@ -1,7 +1,7 @@
1
1
  #post-comment
2
2
  .comment-head
3
3
  .comment-headline
4
- i.scoicon.sco-chat-fill
4
+ i.solitude.st-chat-fill
5
5
  span 评论
6
6
  span
7
7
  .comment-randomInfo
@@ -1,3 +1,3 @@
1
1
  div.needEndHide#nav-music(onclick="sco.musicToggle()")
2
2
  div#nav-music-hoverTips=__('music.hit')
3
- meting-js(id=theme.capsule.id, server=theme.capsule.server, type="playlist", mutex="true", preload="none", data-lrctype="0", order="random", theme="var(--sco-main)")
3
+ meting-js(id=theme.capsule.id, server=theme.capsule.server, type="playlist", mutex="true", preload="none", data-lrctype="0", order="random", theme="var(--st-main)")
@@ -3,10 +3,10 @@
3
3
  .algolia-navbar
4
4
  .search-dialog__title#algolia-search-title=__('nav.search')
5
5
  .algolia-tips
6
- i.scoicon.sco-algolia-fill
6
+ i.solitude.st-algolia-fill
7
7
  span.algolia-tips-text='Algolia'
8
8
  span.search-close-button
9
- i.scoicon.sco-close-fill
9
+ i.solitude.st-close-fill
10
10
  #algolia-input-panel
11
11
  #algolia-search-input
12
12
  #search-results
@@ -3,7 +3,7 @@
3
3
  nav.search-nav
4
4
  span.search-dialog-title=__('nav.search')
5
5
  button.search-close-button
6
- i.scoicon.sco-close-fill
6
+ i.solitude.st-close-fill
7
7
  div.search-wrap
8
8
  div.search-box
9
9
  input.search-box-input#search-input(type="text", autocomplete="off", spellcheck="false", autocorrect="off", autocapitalize="off", placeholder=__('search.placeholder'))
package/layout/index.pug CHANGED
@@ -4,13 +4,13 @@ block content
4
4
  #home_top
5
5
  if theme.says.home_mini
6
6
  include ./includes/widgets/home/bbTimeList
7
- if theme.hometop.banner.enable && is_home_first_page()
7
+ if theme.hometop.enable && is_home_first_page()
8
8
  include ./includes/widgets/home/hometop
9
9
  main.layout#content-inner
10
10
  .recent-posts#recent-posts
11
11
  #category-bar
12
12
  include ./includes/widgets/home/categoryBar
13
- for post in page.posts.sort("-sticky" || "-date").data
13
+ for post, index in page.posts.sort("-sticky" || "-date").data
14
14
  include ./includes/widgets/home/postList
15
15
 
16
16
  // pageination
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "A beautiful, powerful, and efficient Hexo theme developed by the wleelw",
5
5
  "main": "package.json",
6
6
  "scripts": {
@@ -11,22 +11,22 @@
11
11
  "theme",
12
12
  "solitude",
13
13
  "Card UI Design",
14
- "Wleelw",
14
+ "Efu",
15
15
  "hexo-theme-solitude"
16
16
  ],
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "https://github.com/wleelw/hexo-theme-solitude.git"
19
+ "url": "https://github.com/valor-x/hexo-theme-solitude.git"
20
20
  },
21
21
  "dependencies": {
22
22
  "hexo-renderer-stylus": "^3.0.0",
23
23
  "hexo-renderer-pug": "^3.0.0"
24
24
  },
25
25
  "bugs": {
26
- "url": "https://github.com/wleelw/hexo-theme-solitude/issues",
27
- "email": "me@wzsco.top"
26
+ "url": "https://github.com/valor-x/hexo-theme-solitude/issues",
27
+ "email": "o@efu.me"
28
28
  },
29
- "homepage": "https://blog.wzsco.cn/",
30
- "author": "Hexo-Theme-Solitude<me@wzsco.top>",
31
- "license": "GNU"
32
- }
29
+ "homepage": "https://solitude-demo.efu.me/",
30
+ "author": "Hexo-Theme-Solitude<o@efu.me>",
31
+ "license": "MIT"
32
+ }
package/plugins.yml CHANGED
@@ -82,17 +82,9 @@ snackbar:
82
82
  name: node-snackbar
83
83
  file: dist/snackbar.min.js
84
84
  version: 0.1.16
85
- scoicon_css:
86
- name: solitude-source
87
- file: icon/scoicon.min.css
88
- version: 1.0.5
89
- waterfall:
90
- name: solitude-source
91
- file: js/waterfall.min.js
92
- version: 1.0.5
93
- universe_js:
94
- name: solitude-source
95
- file: js/universe.min.js
85
+ solitude_css:
86
+ name: st-source
87
+ file: icon/solitude.min.css
96
88
  version: 1.0.5
97
89
  medium_zoom:
98
90
  name: medium-zoom
@@ -109,4 +101,8 @@ fancyapps_css:
109
101
  macy_js:
110
102
  name: macy
111
103
  file: dist/macy.min.js
112
- version: 2.5.1
104
+ version: 2.5.1
105
+ mermaid_js:
106
+ name: mermaid
107
+ file: dist/mermaid.min.js
108
+ version: 10.8.0
@@ -74,6 +74,16 @@ hexo.extend.filter.register('before_generate', () => {
74
74
  file: 'js/comment/waline_commentBarrage.js',
75
75
  version
76
76
  },
77
+ waterfall: {
78
+ name: 'hexo-theme-solitude',
79
+ file: 'js/waterfall.min.js',
80
+ version
81
+ },
82
+ universe_js: {
83
+ name: 'hexo-theme-solitude',
84
+ file: 'js/universe.min.js',
85
+ version
86
+ }
77
87
  }
78
88
 
79
89
  const minFile = file => {
@@ -9,6 +9,6 @@ hexo.on('ready', () => {
9
9
  ###### #### ##### ##### # ### ###### ######
10
10
  ${version}
11
11
  ===================================================================
12
- GitHub: https://github.com/wleelw/hexo-theme-solitude
12
+ GitHub: https://github.com/valor-x/hexo-theme-solitude
13
13
  `)
14
14
  })
@@ -1,10 +1,9 @@
1
1
  const urlFor = require('hexo-util').url_for.bind(hexo)
2
2
 
3
3
  hexo.extend.filter.register('after_render:html', function (data) {
4
- const config = hexo.theme.config.lazyload
5
- if (!config.enable) return
4
+ if (!hexo.theme.config.lazyload.enable) return
6
5
  return data.replace(
7
- /(<img(?!.*?class[\t]*=[\t]*['"].*?nolazyload.*?['"]).*?)( src=)/gi,
6
+ /(<img(?!.*?class\t*=\t*['"].*?nolazyload.*?['"]).*?)( src=)/gi,
8
7
  `$1 data-lazy-src=`
9
8
  )
10
9
  })
@@ -36,7 +36,7 @@ hexo.extend.helper.register('related_posts', function (currentPost, allPosts) {
36
36
  relatedPosts.sort(compare('weight', dateType))
37
37
 
38
38
  let result = '<div class="relatedPosts">'
39
- result += `<div class="headline"><i class="scoicon sco-star-smile-fill"></i><span>${headlineLang}</span><div class="relatedPosts-link"><a onclick="event.preventDefault(); toRandomPost();" href="javascript:void(0);" rel="external nofollow" data-pjax-state="">随便逛逛</a></div></div>`
39
+ result += `<div class="headline"><i class="solitude st-star-smile-fill"></i><span>${headlineLang}</span><div class="relatedPosts-link"><a onclick="event.preventDefault(); toRandomPost();" href="javascript:void(0);" rel="external nofollow" data-pjax-state="">随便逛逛</a></div></div>`
40
40
  result += '<div class="relatedPosts-list">'
41
41
 
42
42
  for (let i = 0; i < Math.min(relatedPosts.length, limitNum); i++) {
@@ -22,9 +22,17 @@ hexo.extend.filter.register('stylus:renderer', function (style) {
22
22
 
23
23
  style.define('about', data && data.about ? Object.keys(data.about) : []);
24
24
 
25
- let group = Object.keys(theme.config.hometop.group).map(key => {
25
+ initGroupColor(theme.config.hometop.group,style);
26
+ });
27
+
28
+ function initGroupColor(gg,style) {
29
+ if(gg === null || gg === undefined) {
30
+ style.define('banner_group', [])
31
+ return;
32
+ }
33
+ let group = Object.keys(gg).map(key => {
26
34
  return {
27
- [key]: (theme.config.hometop.group[key]).split('||')[2]
35
+ [key]: (gg[key]).split('||')[2]
28
36
  }
29
37
  });
30
38
 
@@ -40,4 +48,4 @@ hexo.extend.filter.register('stylus:renderer', function (style) {
40
48
  return color;
41
49
  }
42
50
  style.define('getGroupColor', getGroupColor);
43
- });
51
+ }
@@ -5,5 +5,5 @@ hexo.extend.tag.register('card', function (args, content) {
5
5
  let icon = args[0] || 'no-icon';
6
6
  let color = args[1] || 'info';
7
7
  let title = args[2] || '';
8
- return `<div class="card card-${color}"><div class="card-title"><i class="scoicon ${icon}"></i>${title}</div>${hexo.render.renderSync({text: content, engine: 'markdown'})}</div>`
8
+ return `<div class="card card-${color}"><div class="card-title"><i class="solitude ${icon}"></i>${title}</div>${hexo.render.renderSync({text: content, engine: 'markdown'})}</div>`
9
9
  }, {ends: true});
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ const {escapeHTML} = require('hexo-util')
4
+
5
+ function postMermaid(args, content) {
6
+ return `<div class="mermaid">${escapeHTML(content)}</div>`;
7
+ }
8
+
9
+ hexo.extend.tag.register('mermaid', postMermaid, {ends: true});
@@ -41,9 +41,9 @@ function postTabs (args, content) {
41
41
 
42
42
  const isOnlyicon = tabIcon.length > 0 && tabCaption.length === 0 ? ' style="text-align: center;"' : ''
43
43
  const icon = tabIcon.trim()
44
- tabIcon.length > 0 && (tabIcon = `<i ${isOnlyicon} class="tab scoicon ${icon}"></i>`)
44
+ tabIcon.length > 0 && (tabIcon = `<i ${isOnlyicon} class="tab solitude ${icon}"></i>`)
45
45
 
46
- const toTop = '<button type="button" class="tab-to-top" aria-label="scroll to top"><i class="scoicon sco-arrow-up-line"></i></button>'
46
+ const toTop = '<button type="button" class="tab-to-top" aria-label="scroll to top"><i class="solitude st-arrow-up-line"></i></button>'
47
47
 
48
48
  const isActive = (tabActive > 0 && tabActive === tabId) || (tabActive === 0 && tabId === 1) ? ' active' : ''
49
49
  tabNav += `<li class="tab${isActive}"><button type="button" data-href="#${tabHref}">${tabIcon + tabCaption.trim()}</button></li>`
@@ -125,7 +125,7 @@
125
125
  100%
126
126
  transform translateX(0)
127
127
 
128
- @keyframes sco-spin
128
+ @keyframes st-spin
129
129
  0%
130
130
  transform rotate(0)
131
131
  100%
@@ -1,31 +1,31 @@
1
1
  :root
2
- --sco-white #fff
3
- --sco-white-op rgba(255, 255, 255, 0.2)
4
- --sco-black #000
5
- --sco-black-op rgba(0, 0, 0, 0.2)
6
- --sco-none #00000000
7
- --sco-gray #999999
8
- --sco-gray-op #9999992b
9
- --sco-cyan #00bcd4
10
- --sco-cyan-op #00bcd42b
11
- --sco-vip #e5a80d
12
- --sco-speed #57bd6a
13
- --sco-main var(--sco-theme)
14
- --sco-main-op var(--sco-theme-op)
15
- --sco-main-op-deep var(--sco-theme-op-deep)
16
- --sco-main-op-light var(--sco-theme-op-light)
17
- --sco-main-none var(--sco-theme-none)
18
- --sco-shadow-theme 0 8px 12px -3px var(--sco-theme-op)
19
- --sco-shadow-blackdeep 0 2px 16px -3px rgba(0, 0, 0, .15)
20
- --sco-shadow-main 0 8px 12px -3px var(--sco-main-op)
21
- --sco-shadow-blue 0 8px 12px -3px rgba(40, 109, 234, .20)
22
- --sco-shadow-white 0 8px 12px -3px rgba(255, 255, 255, .20)
23
- --sco-shadow-black 0 0 12px 4px rgba(0, 0, 0, .05)
24
- --sco-shadow-yellow 0px 38px 77px -26px rgba(255, 201, 62, .12)
25
- --sco-shadow-red 0 8px 12px -3px #ee7d7936
26
- --sco-shadow-green 0 8px 12px -3px #87ee7936
27
- --sco-logo-color linear-gradient(215deg, #4584ff 0%, #cf0db9 100%)
28
- --sco-snackbar-time 5s
2
+ --efu-white #fff
3
+ --efu-white-op rgba(255, 255, 255, 0.2)
4
+ --efu-black #000
5
+ --efu-black-op rgba(0, 0, 0, 0.2)
6
+ --efu-none #00000000
7
+ --efu-gray #999999
8
+ --efu-gray-op #9999992b
9
+ --efu-cyan #00bcd4
10
+ --efu-cyan-op #00bcd42b
11
+ --efu-vip #e5a80d
12
+ --efu-speed #57bd6a
13
+ --efu-main var(--efu-theme)
14
+ --efu-main-op var(--efu-theme-op)
15
+ --efu-main-op-deep var(--efu-theme-op-deep)
16
+ --efu-main-op-light var(--efu-theme-op-light)
17
+ --efu-main-none var(--efu-theme-none)
18
+ --efu-shadow-theme 0 8px 12px -3px var(--efu-theme-op)
19
+ --efu-shadow-blackdeep 0 2px 16px -3px rgba(0, 0, 0, .15)
20
+ --efu-shadow-main 0 8px 12px -3px var(--efu-main-op)
21
+ --efu-shadow-blue 0 8px 12px -3px rgba(40, 109, 234, .20)
22
+ --efu-shadow-white 0 8px 12px -3px rgba(255, 255, 255, .20)
23
+ --efu-shadow-black 0 0 12px 4px rgba(0, 0, 0, .05)
24
+ --efu-shadow-yellow 0px 38px 77px -26px rgba(255, 201, 62, .12)
25
+ --efu-shadow-red 0 8px 12px -3px #ee7d7936
26
+ --efu-shadow-green 0 8px 12px -3px #87ee7936
27
+ --efu-logo-color linear-gradient(215deg, #4584ff 0%, #cf0db9 100%)
28
+ --efu-snackbar-time 5s
29
29
  --global-font-size 14px
30
30
  --global-bg #fff
31
31
  --hr-border #97bcfb