hexo-theme-solitude 1.0.0 → 1.1.0

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 (75) hide show
  1. package/README.md +12 -7
  2. package/_config.yml +117 -99
  3. package/layout/404.ejs +1 -1
  4. package/layout/layout.ejs +27 -32
  5. package/layout/page/links.ejs +1 -12
  6. package/layout/page/says.ejs +1 -0
  7. package/layout/partial/body.ejs +0 -1
  8. package/layout/partial/compoment/about/award.ejs +2 -0
  9. package/layout/partial/compoment/about/hobbies.ejs +44 -35
  10. package/layout/partial/compoment/about/other.ejs +68 -60
  11. package/layout/partial/compoment/aside/asideFlipCard.ejs +67 -3
  12. package/layout/partial/compoment/aside/asideHistory.ejs +49 -0
  13. package/layout/partial/compoment/aside/asideNewestPost.ejs +1 -1
  14. package/layout/partial/compoment/aside/asidePower.ejs +3 -3
  15. package/layout/partial/compoment/aside/asideSwitch.ejs +6 -0
  16. package/layout/partial/compoment/aside/asideToc.ejs +1 -1
  17. package/layout/partial/compoment/aside/asideWebInfo.ejs +8 -8
  18. package/layout/partial/compoment/aside/asideWelcome.ejs +33 -0
  19. package/layout/partial/compoment/circle/angle.ejs +1 -1
  20. package/layout/partial/compoment/circle/content.ejs +2 -5
  21. package/layout/partial/compoment/dorakika/rightmenu.ejs +90 -105
  22. package/layout/partial/compoment/hometop/bbTimeList.ejs +1 -1
  23. package/layout/partial/compoment/hometop/groupTag.ejs +1 -1
  24. package/layout/partial/compoment/hometop/topGroup.ejs +11 -18
  25. package/layout/partial/compoment/inject/body.ejs +19 -4
  26. package/layout/partial/compoment/inject/head.ejs +68 -3
  27. package/layout/partial/compoment/links/angle.ejs +26 -0
  28. package/layout/partial/compoment/links/banner.ejs +2 -2
  29. package/layout/partial/compoment/mixins/pagination.ejs +2 -2
  30. package/layout/partial/compoment/nav/right.ejs +6 -6
  31. package/layout/partial/compoment/post/postMeta.ejs +10 -10
  32. package/layout/partial/compoment/says/saysBottom.ejs +3 -3
  33. package/layout/partial/compoment/says/saysContent.ejs +0 -1
  34. package/layout/partial/compoment/says/saysFunction.ejs +15 -0
  35. package/layout/partial/compoment/third-party/comments/comment.ejs +1 -1
  36. package/layout/partial/compoment/third-party/comments/twikoo.ejs +2 -1
  37. package/layout/partial/compoment/third-party/search/algolia-search.ejs +2 -2
  38. package/layout/partial/compoment/third-party/search/local-search.ejs +2 -2
  39. package/layout/partial/console.ejs +10 -4
  40. package/layout/partial/footer.ejs +6 -9
  41. package/layout/partial/nav.ejs +1 -1
  42. package/layout/partial/sidebar.ejs +2 -2
  43. package/layout/post.ejs +18 -2
  44. package/package.json +5 -6
  45. package/scripts/event/welcome.js +6 -7
  46. package/scripts/helper/randomLinks.js +1 -1
  47. package/scripts/helper/related_post.js +1 -1
  48. package/scripts/helper/themeJsExport.js +12 -10
  49. package/scripts/tags/hide.js +70 -0
  50. package/scripts/tags/tabs.js +1 -1
  51. package/source/css/main.css +55 -106
  52. package/source/css/search/algolia-search.css +1 -1
  53. package/source/css/search/local-search.css +1 -1
  54. package/source/css/var.css +3 -0
  55. package/source/img/error_load.png +0 -0
  56. package/source/img/pwa/16.png +0 -0
  57. package/source/img/pwa/32.png +0 -0
  58. package/source/js/commentBarrage.js +145 -136
  59. package/source/js/extend/search/algolia-search.js +11 -0
  60. package/source/js/extend/search/local-search.js +12 -1
  61. package/source/js/main.js +203 -21
  62. package/source/js/rightmenu.js +402 -0
  63. package/source/js/txmap.js +236 -0
  64. package/source/lib/chuckle-post-ai.js +1 -0
  65. package/source/lib/circle.min.js +1 -0
  66. package/source/lib/friends_post.js +4 -98
  67. package/source/lib/snackbar.min.js +9 -0
  68. package/source/lib/view-image.min.js +6 -0
  69. package/source/img/power.png +0 -0
  70. package/source/js/circle.js +0 -1828
  71. package/source/js/post_ai.js +0 -517
  72. package/source/lib/snackbar.js +0 -16
  73. package/source/lib/view-image.js +0 -13
  74. /package/source/lib/{bundle.js → bundle.min.js} +0 -0
  75. /package/source/lib/{lazyload.js → lazyload.min.js} +0 -0
@@ -11,5 +11,5 @@
11
11
  <% } %>
12
12
  </div>
13
13
  </div>
14
- <i class="bber-gotobb scoicon ri-arrow-right-circle-fill" style="font-size: 1rem" title="查看全文" onclick="pjax.loadUrl('/says/')"></i>
14
+ <i class="bber-gotobb scoicon sco-right-btn-fill" style="font-size: 1rem" title="查看全文" onclick="pjax.loadUrl('/essay/')"></i>
15
15
  </div>
@@ -26,5 +26,5 @@
26
26
  </div>
27
27
  <a id="banner-hover" onclick="toRandomPost()" data-pjax-state="">
28
28
  <span class="bannerText">随便逛逛</span>
29
- <i class="scoicon ri-arrow-right-line banner-righticon"></i>
29
+ <i class="scoicon sco-arrow-2-right-line banner-righticon"></i>
30
30
  </a>
@@ -1,18 +1,3 @@
1
- <style type="text/css">
2
- <!--.topGroup .todayCard::after {-->
3
- <!-- box-shadow: 0 -109px 133px -9px <%- theme.hometop.recommendList.color %> inset;-->
4
- <!--}-->
5
-
6
- .todayCard-title,
7
- .todayCard-tips,
8
- .topGroup .banner-button {
9
- color: #ffffff;
10
- }
11
-
12
- .topGroup .todayCard {
13
- background: <%- theme.hometop.recommendList.color %>;
14
- }
15
- </style>
16
1
  <% for (const post of site.posts.data.filter(item => item.recommend === true).slice(0,6)){ %>
17
2
  <div class="recent-post-item">
18
3
  <div class="post_cover left_radius">
@@ -30,8 +15,16 @@
30
15
  </div>
31
16
  </div>
32
17
  <% } %>
33
- <div class="todayCard" id="todayCard" onclick="pjax.loadUrl('<%= theme.hometop.recommendList.url %>')"
34
- style="z-index: 1;">
18
+ <% if (theme.hometop.recommendList.url.startsWith('/') && theme.hometop.recommendList.url.endsWith('/')) { %>
19
+ <div class="todayCard" id="todayCard" onclick="pjax.loadUrl('<%= theme.hometop.recommendList.url %>')" style="z-index: 1;">
20
+ <% } else { %>
21
+ <script>
22
+ function GoTodayCard() {
23
+ window.open("<%= theme.hometop.recommendList.url %>", "_blank");
24
+ }
25
+ </script>
26
+ <div class="todayCard" id="todayCard" onclick="GoTodayCard()" style="z-index: 1;">
27
+ <% } %>
35
28
  <div class="todayCard-info">
36
29
  <div class="todayCard-tips"><%= theme.hometop.recommendList.sup %></div>
37
30
  <div class="todayCard-title"><%= theme.hometop.recommendList.title %></div>
@@ -41,7 +34,7 @@
41
34
  </div>
42
35
  <div class="banner-button-group"><a class="banner-button"
43
36
  onclick="window.event.cancelBubble=true;sco.hideTodayCard();">
44
- <i class="scoicon ri-add-circle-fill"></i>
37
+ <i class="scoicon sco-add-fill"></i>
45
38
  <span class="banner-button-text">更多推荐</span>
46
39
  </a>
47
40
  </div>
@@ -7,11 +7,12 @@
7
7
  <% if(theme.lightbox){ %>
8
8
  <%- js(cdn.viewimagejs) %>
9
9
  <% } %>
10
- <% if(theme.hometop.bbtime){ %>
11
- <%- css(cdn.swipercss) %>
10
+ <% if(theme.hometop.bbtime || theme.aside.history.enable){ %>
12
11
  <%- js(cdn.swiperjs) %>
13
12
  <% } %>
13
+ <%- js('/js/utils') %>
14
14
  <div id="js-pjax">
15
+ <%- partial('partial/compoment/dorakika/rightmenu', {cache: true}) %>
15
16
  <% if(page.type === 'says' || page.type === 'album' || page.type === 'album_detail' ){ %>
16
17
  <%- js(cdn.waterfalljs) %>
17
18
  <script>
@@ -22,13 +23,13 @@
22
23
  }), 500);
23
24
  </script>
24
25
  <% } %>
25
- <% if(theme.thirdparty.busuanzi && (theme.aside.siteinfo.uv || theme.aside.siteinfo.pv)){ %>
26
+ <% if(theme.thirdparty.busuanzi && (theme.aside.siteinfo.uv || theme.aside.siteinfo.pv || theme.thirdparty.busuanzi.usecomment === false)){ %>
26
27
  <script async
27
28
  src="<%= cdn.busuanzijs %>"></script>
28
29
  <% } %>
29
30
  </div>
31
+ <%- js('/js/main') %>
30
32
  <% if(theme.thirdparty.aplayer.enable){ %>
31
- <%- css(cdn.aplayercss) %>
32
33
  <%- js(cdn.aplayerjs) %>
33
34
  <%- js(cdn.metingjs) %>
34
35
  <script>
@@ -50,8 +51,22 @@
50
51
  <%- js('/js/extend/console/comment')
51
52
  %>
52
53
  <% } %>
54
+ <%- js('/js/rightmenu') %>
55
+
56
+ <% if(theme.comment.enable){ %>
57
+ <script data-pjax src="/js/commentBarrage.js"></script>
58
+ <% } %>
59
+
60
+ <% if (page.katex){ %>
61
+ <%- css(cdn.katexcss) %>
62
+ <%- js(cdn.katexjs) %>
63
+ <% } %>
53
64
 
54
65
  <% if (page.katex){ %>
55
66
  <% css(cdn.katexcss) %>
56
67
  <% js(cdn.katexjs) %>
68
+ <% } %>
69
+
70
+ <% if(theme.aside.welcome.enable){ %>
71
+ <%- js('/js/txmap.js') %>
57
72
  <% } %>
@@ -5,8 +5,10 @@
5
5
  <% if(theme.loading.pace){ %>
6
6
  <script data-pace-options="{ &quot;restartOnRequestAfter&quot;:false,&quot;eventLag&quot;:false}" src="<%= cdn.pacejs %>"></script>
7
7
  <% } %>
8
- <%- css(theme.icon.customicon) %>
9
- <%- css(cdn.remixicon) %>
8
+ <% if(theme.icon.customicon){ %>
9
+ <%- css(theme.icon.customicon) %>
10
+ <% } %>
11
+ <%- css(cdn.scoicon) %>
10
12
  <%- css(cdn.snackbarcss) %>
11
13
  <% if(theme.comment.enable){ %>
12
14
  <%- css('/css/commentBarrage') %>
@@ -16,4 +18,67 @@
16
18
  <%- js(cdn.instantsearch) %>
17
19
  <%- js(cdn.algolia) %>
18
20
  <% } %>
19
- <script type="text/javascript" src="/js/utils.js"></script>
21
+ <% if(theme.thirdparty.aplayer.enable){%>
22
+ <%- css(cdn.aplayercss) %>
23
+ <%} %>
24
+ <% if(theme.hometop.bbtime || theme.aside.history.enable){ %>
25
+ <%- css(cdn.swipercss) %>
26
+ <% } %>
27
+ <script>
28
+ (win=> {
29
+ win.saveToLocal = {
30
+ set: function setWithExpiry(key, value, ttl) {
31
+ if (ttl === 0)
32
+ return
33
+ const now = new Date()
34
+ const expiryDay = ttl * 86400000
35
+ const item = {
36
+ value: value,
37
+ expiry: now.getTime() + expiryDay,
38
+ }
39
+ localStorage.setItem(key, JSON.stringify(item))
40
+ },
41
+
42
+ get: function getWithExpiry(key) {
43
+ const itemStr = localStorage.getItem(key)
44
+
45
+ if (!itemStr) {
46
+ return undefined
47
+ }
48
+ const item = JSON.parse(itemStr)
49
+ const now = new Date()
50
+
51
+ if (now.getTime() > item.expiry) {
52
+ localStorage.removeItem(key)
53
+ return undefined
54
+ }
55
+ return item.value
56
+ }
57
+ }
58
+
59
+ const DarkModeStatus = saveToLocal.get('theme')
60
+ if(DarkModeStatus !== undefined){
61
+ if(DarkModeStatus === 'dark'){
62
+ document.documentElement.setAttribute('data-theme', 'dark')
63
+
64
+ }else{
65
+ document.documentElement.setAttribute('data-theme', 'light')
66
+ }
67
+ }
68
+
69
+ const asideStatus = saveToLocal.get('aside-status')
70
+ if (asideStatus !== undefined) {
71
+ if (asideStatus === 'hide') {
72
+ document.documentElement.classList.add('hide-aside')
73
+ } else {
74
+ document.documentElement.classList.remove('hide-aside')
75
+ }
76
+ }
77
+ }
78
+ )(window)
79
+
80
+ console.log("%c🔥 程序:Hexo | 主题:Hexo-Theme-Solitude | 作者:DuoSco团队 | 官网:https://github.com/DuoSco/Hexo-theme-solitude 😋", "color:#fff; background: linear-gradient(270deg, #18d7d3, #68b7dd, #8695e6, #986fee); padding: 8px 15px; border-radius: 8px");
81
+ </script>
82
+ <% if(theme.ai.enable){ %>
83
+ <%- js('/lib/chuckle-post-ai') %>
84
+ <% } %>
@@ -0,0 +1,26 @@
1
+ <div class="title-h2-a">
2
+ <div class="title-h2-a-left">
3
+ <h2 style="padding-top: 0;margin:0.6rem 0 0.6rem;">🎣 钓鱼</h2>
4
+ <a id="random-post-start" href="javascript:fetchRandomPost();" rel="external nofollow"
5
+ style="transition-duration: 0.3s; transform: rotate(63000deg); opacity: 1;" data-pjax-state="">
6
+ <i class="scoicon refresh-line" hidden="hidden"></i>
7
+ </a>
8
+ </div>
9
+ <div class="title-h2-a-right"><a class="random-post-all" href="/links/" data-pjax-state="">全部友链</a></div>
10
+ </div>
11
+ <div id="random-post"></div>
12
+
13
+ <div class="title-h2-a">
14
+ <div class="title-h2-a-left">
15
+ <h2 style="padding-top: 0;margin:0.6rem 0 0.6rem;">🐟 鱼塘</h2>
16
+ </div>
17
+ <div class="title-h2-a-right"><span>以下内容自动生成,未经过审核</span></div>
18
+ </div>
19
+ <script>
20
+ var fdata = {
21
+ apiurl: "<%= theme.circle.api %>",
22
+ defaultFish: 100,
23
+ hungryFish: 100,
24
+ }
25
+ </script>
26
+ <script type="text/javascript" src="/lib/friends_post.js"></script>
@@ -5,12 +5,12 @@
5
5
  <div class="banner-button-group">
6
6
  <% if (theme.footer.randomlink){ %>
7
7
  <a class="banner-button secondary" onclick="travelling()">
8
- <i class="scoicon ri-signal-tower-fill"></i>
8
+ <i class="scoicon sco-signal-tower-fill"></i>
9
9
  <span class="banner-button-text">随机访问</span>
10
10
  </a>
11
11
  <% } %>
12
12
  <a class="banner-button" onclick="sco.scrollToComment()">
13
- <i class="scoicon ri-arrow-right-circle-fill"></i>
13
+ <i class="scoicon sco-right-btn-fill"></i>
14
14
  <span class="scoicon banner-button-text">申请友链</span>
15
15
  </a>
16
16
  </div>
@@ -3,8 +3,8 @@
3
3
  <% const options = {
4
4
  mid_size: 1,
5
5
  escape: false,
6
- next_text: '<div class="pagination_tips_next">下页</div> <i class="scoicon ri-arrow-right-s-line"></i>',
7
- prev_text: '<i class="scoicon ri-arrow-left-s-line"></i> <div class="pagination_tips_prev">上页</div>'
6
+ next_text: '<div class="pagination_tips_next">下页</div> <i class="scoicon sco-arrow-right-bold"></i>',
7
+ prev_text: '<i class="scoicon sco-arrow-left-bold"></i> <div class="pagination_tips_prev">上页</div>'
8
8
  } %>
9
9
  <%- paginator(options) %>
10
10
  </div>
@@ -1,7 +1,7 @@
1
1
  <% if(theme.nav.right.travellings){ %>
2
2
  <div class="nav-button only-home" id="travellings_button">
3
3
  <a class="site-page" target="_blank" rel="noopener external nofollow" href="https://www.travellings.cn/go.html" title="开往-友链接力" width="120">
4
- <i class="scoicon ri-subway-line" style="font-size: 1rem;"></i>
4
+ <i class="scoicon sco-train-line" style="font-size: 1rem;"></i>
5
5
  </a>
6
6
  </div>
7
7
  <% } %>
@@ -9,7 +9,7 @@
9
9
  <div class="nav-button" id="randomPost_button">
10
10
  <a class="site-page" onclick="toRandomPost()"
11
11
  title="随机前往一个文章">
12
- <i class="scoicon ri-signal-tower-fill" style="font-size: 1rem;"></i>
12
+ <i class="scoicon sco-signal-tower-fill" style="font-size: 1rem;"></i>
13
13
  </a>
14
14
  </div>
15
15
  <% } %>
@@ -17,7 +17,7 @@
17
17
  <div class="nav-button" id="search-button">
18
18
  <a class="site-page social-icon search" title="站内搜索"
19
19
  href="javascript:void(0);" rel="external nofollow">
20
- <i class="scoicon ri-search-2-line" style="font-size: 1rem;"></i>
20
+ <i class="scoicon sco-search-line" style="font-size: 1rem;"></i>
21
21
  </a>
22
22
  </div>
23
23
  <% } %>
@@ -25,18 +25,18 @@
25
25
  <div class="nav-button" id="nav-console">
26
26
  <a class="console_switchbutton" onclick="sco.showConsole()"
27
27
  title="显示中控台" href="javascript:void(0);" rel="external nofollow">
28
- <i class="scoicon ri-layout-masonry-fill" style="font-size: 1rem;"></i>
28
+ <i class="scoicon sco-dashboard-fill" style="font-size: 1rem;"></i>
29
29
  </a>
30
30
  </div>
31
31
  <% } %>
32
32
  <div class="nav-button" id="nav-totop" onclick="sco.toTop()">
33
33
  <a class="totopbtn">
34
- <i class="scoicon ri-arrow-up-line"></i>
34
+ <i class="scoicon sco-arrow-up-line"></i>
35
35
  <span id="percent">0</span>
36
36
  </a>
37
37
  </div>
38
38
  <div id="toggle-menu">
39
39
  <a class="site-page">
40
- <i class="scoicon ri-menu-fill" style="font-size: 1rem;"></i>
40
+ <i class="scoicon sco-menu-line" style="font-size: 1rem;"></i>
41
41
  </a>
42
42
  </div>
@@ -30,50 +30,50 @@
30
30
  <div id="post-meta">
31
31
  <div class="meta-secondline">
32
32
  <span class="post-meta-date" title="发布于">
33
- <i class="post-meta-icon ri-calendar-todo-fill"></i>
33
+ <i class="post-meta-icon scoicon sco-calendar-todo-fill"></i>
34
34
  <time datetime="<%= moment(page.date).format() %>"></time>
35
35
  </span>
36
36
  <% if(theme.post.meta.updated){ %>
37
37
  <span class="post-meta-date" title="更新于">
38
- <i class="post-meta-icon ri-refresh-line"></i>
38
+ <i class="post-meta-icon scoicon sco-refresh-line"></i>
39
39
  <time datetime="<%= moment(page.updated).format() %>"></time>
40
40
  </span>
41
41
  <% } %>
42
42
  <% if(theme.post.meta.locate){ %>
43
43
  <span class="post-meta-position" title="作者IP归属地为<%= page.locate %>">
44
- <i class="post-meta-icon ri-map-pin-fill"></i>
44
+ <i class="post-meta-icon scoicon sco-map-pin-fill"></i>
45
45
  <span><%= page.locate %></span>
46
46
  </span>
47
47
  <% } %>
48
48
  <% if(theme.thirdparty.wordcount){ %>
49
49
  <% if(theme.post.meta.wordcount){ %>
50
50
  <span class="post-meta-wordcount">
51
- <i class="ri-file-word-fill post-meta-icon" title="文章字数"></i>
51
+ <i class="scoicon sco-word-fill post-meta-icon" title="文章字数"></i>
52
52
  <span class="word-count"><%= wordcount(page.content) %></span>
53
53
  </span>
54
54
  <% } %>
55
55
  <% if(theme.post.meta.readtime){ %>
56
56
  <span class="post-meta-time">
57
- <i class="ri-time-fill post-meta-icon" title="阅读耗时"></i>
57
+ <i class="scoicon sco-clock-fill post-meta-icon" title="阅读耗时"></i>
58
58
  <span><%= min2read(page.content) %> min</span>
59
59
  </span>
60
60
  <% } %>
61
61
  <% } %>
62
62
  <% if(theme.thirdparty.busuanzi.enable && theme.post.meta.pv){ %>
63
63
  <span class="post-meta-pv" title="文章热度">
64
- <i class="ri-fire-fill post-meta-icon"></i>
64
+ <i class="scoicon sco-fire-fill post-meta-icon"></i>
65
65
  <% if(theme.thirdparty.busuanzi.usecomment){ %>
66
- <span id="twikoo_visitors"><i class="ri-loader-2-fill"></i></span>
66
+ <span id="twikoo_visitors"><i class="scoicon sco-loading-line"></i></span>
67
67
  <% }else{ %>
68
- <span id="busuanzi_value_page_pv"><i class="ri-loader-2-fill"></i></span>
68
+ <span id="busuanzi_value_page_pv"><i class="scoicon sco-loading-line"></i></span>
69
69
  <% } %>
70
70
  </span>
71
71
  <% } %>
72
72
  <% if(theme.post.meta.comment && page.comment){ %>
73
73
  <span class="post-meta-commentcount" title="评论数">
74
- <i class="ri-message-fill"></i>
74
+ <i class="scoicon sco-chat-fill"></i>
75
75
  <a href="#post-comment">
76
- <span id="twikoo-count"><i class="ri-loader-2-fill"></i></span>
76
+ <span id="twikoo-count"><i class="scoicon sco-loading-line"></i></span>
77
77
  </a>
78
78
  </span>
79
79
  <% } %>
@@ -1,18 +1,18 @@
1
1
  <div class="bber-bottom">
2
2
  <div class="bber-info">
3
3
  <div class="bber-info-time">
4
- <i class="ri-time-fill"></i>
4
+ <i class="scoicon sco-calendar-todo-fill"></i>
5
5
  <time class="datetime" datetime="<%= moment(item.date).format() %>"></time>
6
6
  </div>
7
7
  <% if(item.link){ %>
8
8
  <a class="bber-content-link" href="<%= url_for(item.link) %>" title="跳转到短文指引的链接">
9
- <i class="ri-link-m"></i>
9
+ <i class="scoicon sco-link-m-line"></i>
10
10
  链接
11
11
  </a>
12
12
  <% } %>
13
13
  </div>
14
14
  <a class="bber-reply" onclick="sco.toTalk('<%- item.content %>')" >
15
- <i class="ri-message-3-fill" style="font-size: 1rem;">
15
+ <i class="scoicon sco-chat-fill" style="font-size: 1rem;">
16
16
  </i>
17
17
  </a>
18
18
  </div>
@@ -5,7 +5,6 @@
5
5
  <% item.image.forEach(img => { %>
6
6
  <img src="<%= img %>" title="即刻短文配图">
7
7
  <% }); %>
8
- </a>
9
8
  </div>
10
9
  <% } %>
11
10
  </div>
@@ -0,0 +1,15 @@
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,7 +1,7 @@
1
1
  <div id="post-comment" view-image>
2
2
  <div class="comment-head">
3
3
  <div class="comment-headline">
4
- <i class="scoicon ri-message-fill"></i>
4
+ <i class="scoicon sco-chat-fill"></i>
5
5
  <span> 评论</span>
6
6
  </div>
7
7
  </div>
@@ -6,7 +6,8 @@
6
6
  el: '#comment',
7
7
  onCommentLoaded: function() {
8
8
  GLOBALCONFIG.lightbox && sco.lightbox('#article-container img, #twikoo .tk-content img:not(.tk-owo-emotion)')
9
- }
9
+ },
10
+ lang: '<%= theme.comment.twikoo.lang %>',
10
11
  }
11
12
  )
12
13
  await twikoo.init(initOptions)
@@ -3,7 +3,7 @@
3
3
  <nav class="search-nav">
4
4
  <span class="search-dialog-title">搜索</span>
5
5
  <button class="search-close-button">
6
- <i class="ri-time-fill"></i>
6
+ <i class="scoicon sco-close-fill"></i>
7
7
  </button>
8
8
  </nav>
9
9
  <div class="search-wrap">
@@ -12,7 +12,7 @@
12
12
  <div id="algolia-hits">
13
13
  </div>
14
14
  <div class="algolia-stats"></div>
15
- <div class="algolia-poweredBy" style="display: none"></div>
15
+ <div class="algolia-poweredBy"></div>
16
16
  </div>
17
17
  </div>
18
18
  </div>
@@ -3,11 +3,11 @@
3
3
  <nav class="search-nav">
4
4
  <span class="search-dialog-title">搜索</span>
5
5
  <button class="search-close-button">
6
- <i class="ri-time-fill"></i>
6
+ <i class="scoicon sco-close-fill"></i>
7
7
  </button>
8
8
  </nav>
9
9
  <div id="loading-database">
10
- <i class="ri-loader-2-fill"></i>
10
+ <i class="scoicon sco-loading-line"></i>
11
11
  <span>加载中</span>
12
12
  </div>
13
13
  <div class="search-wrap">
@@ -1,6 +1,6 @@
1
1
  <div id="console" style="zoom: 1;" class="">
2
2
  <div class="close-btn" onclick="sco.hideConsole()" href="javascript:void(0);">
3
- <i class="ri-close-fill"></i>
3
+ <i class="scoicon sco-close-fill"></i>
4
4
  </div>
5
5
  <% if(theme.thirdparty.consolePlus){ %>
6
6
  <div class="console-card-group">
@@ -39,13 +39,19 @@
39
39
  <div class="console-btn-item">
40
40
  <a class="darkmode_switchbutton" onclick="sco.switchDarkMode()" title="显示模式切换"
41
41
  href="javascript:void(0);" rel="external nofollow" data-pjax-state="">
42
- <i class="ri-contrast-2-fill" style="font-size: 1rem;"></i>
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>
43
49
  </a>
44
50
  </div>
45
51
  <% if(theme.thirdparty.aplayer.enable){ %>
46
52
  <div class="console-btn-item" id="consoleMusic" onclick="sco.musicToggle()" title="音乐开关">
47
53
  <a class="music-switch">
48
- <i class="ri-disc-fill"></i>
54
+ <i class="scoicon sco-disc-fill"></i>
49
55
  </a>
50
56
  </div>
51
57
  <% } %>
@@ -53,7 +59,7 @@
53
59
  <div class="console-btn-item on" id="consoleCommentBarrage" onclick="sco.switchCommentBarrage()"
54
60
  title="热评开关">
55
61
  <a class="commentBarrage">
56
- <i class="ri-message-3-fill"></i>
62
+ <i class="scoicon sco-chat-fill"></i>
57
63
  </a>
58
64
  </div>
59
65
  <% }%>
@@ -44,7 +44,7 @@
44
44
  <div class="footer-title-group">
45
45
  <h3 class="footer-title">友链</h3>
46
46
  <a class="random-friends-btn" href="javascript:randomLinksList();" rel="external nofollow">
47
- <i class="ri-refresh-line"></i>
47
+ <i class="scoicon sco-refresh-line"></i>
48
48
  </a>
49
49
  </div>
50
50
  <div class="footer-links" id="friend-links-in-footer">
@@ -83,10 +83,10 @@
83
83
  </a>
84
84
  <% } %>
85
85
  <a class="footer-bar-link cc" href="<%- theme.footer.license.url %>" target="_self" rel="external nofollow">
86
- <i class="ri-copyright-line"></i>
87
- <i class="ri-creative-commons-by-line"></i>
88
- <i class="ri-creative-commons-nc-line"></i>
89
- <i class="ri-creative-commons-nd-line"></i>
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
90
  </a>
91
91
  </div>
92
92
  </div>
@@ -101,7 +101,4 @@
101
101
  </div>
102
102
  </div>
103
103
  <div class="comment-barrage">
104
- </div>
105
- <% if(theme.comment.enable){ %>
106
- <%- js('/js/commentBarrage') %>
107
- <% } %>
104
+ </div>
@@ -3,7 +3,7 @@
3
3
  <div id="blog_name">
4
4
  <% if(theme.nav.left.enable){ %>
5
5
  <div class="back-home-button" tabindex="-1">
6
- <i class="back-home-button-icon scoicon ri-apps-fill"></i>
6
+ <i class="back-home-button-icon scoicon sco-more-fill"></i>
7
7
  <%- partial('partial/compoment/nav/left') %>
8
8
  </div>
9
9
  <% } %>
@@ -5,7 +5,7 @@
5
5
  <div class="sidebar-menu-item">
6
6
  <a class="darkmode_switchbutton menu-child" onclick="sco.switchDarkMode()" title="显示模式切换"
7
7
  href="javascript:void(0);" rel="external nofollow">
8
- <i class="scoicon ri-contrast-2-fill" style="font-size: 1rem;"></i>
8
+ <i class="scoicon sco-moon-clear-fill" style="font-size: 1rem;"></i>
9
9
  <span>显示模式</span>
10
10
  </a>
11
11
  </div>
@@ -16,7 +16,7 @@
16
16
  <span class="sidebar-menu-item-title">标签</span>
17
17
  <div class="card-widget card-tags card-archives card-webinfo card-allinfo">
18
18
  <div class="item-headline">
19
- <i class="scoicon ri-price-tag-3-fill"></i>
19
+ <i class="scoicon sco-price-tag-fill"></i>
20
20
  <span>标签</span>
21
21
  </div>
22
22
  <div class="card-tag-cloud">
package/layout/post.ejs CHANGED
@@ -19,7 +19,9 @@
19
19
  </div>
20
20
  </div>
21
21
 
22
- <%- partial('partial/compoment/post/postNav') %>
22
+ <% if(site.posts.length > 1){ %>
23
+ <%- partial('partial/compoment/post/postNav') %>
24
+ <% } %>
23
25
 
24
26
  <%- related_posts(page, site.posts) %>
25
27
 
@@ -31,6 +33,20 @@
31
33
  <%- partial('partial/compoment/aside/aside') %>
32
34
 
33
35
  <% if(theme.ai.enable){ %>
34
- <script type="text/javascript" src="/js/post_ai.js"></script>
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>
35
51
  <% } %>
36
52
  </main>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "1.0.0",
4
- "description": "A beautiful, powerful, and efficient Hexo theme developed by the hexo-theme-Solitude team",
3
+ "version": "1.1.0",
4
+ "description": "A beautiful, powerful, and efficient Hexo theme developed by the DuoSco team",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
7
7
  },
@@ -14,11 +14,10 @@
14
14
  "theme",
15
15
  "hexo-theme-solitude"
16
16
  ],
17
- "author": "Hexo-Theme-Solitude <wleelw@sondy.top>",
17
+ "author": "Hexo-Theme-Solitude<admin@wzsco.top>",
18
18
  "license": "MIT",
19
19
  "bugs": {
20
20
  "url": "https://github.com/DuoSco/Hexo-theme-solitude/issues"
21
21
  },
22
- "homepage": "https://github.com/DuoSco/hexo-theme-solitude#readme",
23
- "main": "index.js"
24
- }
22
+ "homepage": "https://github.com/DuoSco/hexo-theme-solitude#readme"
23
+ }