hexo-theme-solitude 1.0.0 → 1.1.3
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.
- package/README.md +62 -20
- package/README_EN.md +98 -0
- package/_config.yml +162 -144
- package/layout/404.ejs +1 -1
- package/layout/layout.ejs +27 -32
- package/layout/page/about.ejs +3 -1
- package/layout/page/circle.ejs +1 -1
- package/layout/page/echarts.ejs +1 -14
- package/layout/page/links.ejs +2 -13
- package/layout/page/rss.ejs +10 -8
- package/layout/page/says.ejs +1 -0
- package/layout/partial/body.ejs +0 -1
- package/layout/partial/compoment/about/award.ejs +3 -1
- package/layout/partial/compoment/about/hobbies.ejs +44 -35
- package/layout/partial/compoment/about/other.ejs +68 -60
- package/layout/partial/compoment/aside/asideFlipCard.ejs +67 -3
- package/layout/partial/compoment/aside/asideHistory.ejs +49 -0
- package/layout/partial/compoment/aside/asideNewestPost.ejs +1 -1
- package/layout/partial/compoment/aside/asidePower.ejs +3 -3
- package/layout/partial/compoment/aside/asideSwitch.ejs +6 -0
- package/layout/partial/compoment/aside/asideToc.ejs +1 -1
- package/layout/partial/compoment/aside/asideWebInfo.ejs +8 -8
- package/layout/partial/compoment/aside/asideWelcome.ejs +33 -0
- package/layout/partial/compoment/circle/angle.ejs +2 -2
- package/layout/partial/compoment/circle/content.ejs +8 -11
- package/layout/partial/compoment/dorakika/rightmenu.ejs +90 -105
- package/layout/partial/compoment/hometop/bbTimeList.ejs +1 -1
- package/layout/partial/compoment/hometop/groupTag.ejs +1 -1
- package/layout/partial/compoment/hometop/topGroup.ejs +11 -18
- package/layout/partial/compoment/inject/body.ejs +20 -7
- package/layout/partial/compoment/inject/head.ejs +67 -3
- package/layout/partial/compoment/links/angle.ejs +26 -0
- package/layout/partial/compoment/links/banner.ejs +2 -2
- package/layout/partial/compoment/mixins/pagination.ejs +2 -2
- package/layout/partial/compoment/nav/right.ejs +6 -6
- package/layout/partial/compoment/post/award.ejs +30 -22
- package/layout/partial/compoment/post/copyright.ejs +10 -8
- package/layout/partial/compoment/post/postMeta.ejs +21 -19
- package/layout/partial/compoment/says/saysBottom.ejs +3 -3
- package/layout/partial/compoment/says/saysContent.ejs +0 -1
- package/layout/partial/compoment/says/saysFunction.ejs +15 -0
- package/layout/partial/compoment/third-party/comments/comment.ejs +1 -1
- package/layout/partial/compoment/third-party/comments/twikoo.ejs +2 -1
- package/layout/partial/compoment/third-party/search/algolia-search.ejs +2 -2
- package/layout/partial/compoment/third-party/search/local-search.ejs +2 -2
- package/layout/partial/console.ejs +10 -4
- package/layout/partial/footer.ejs +11 -9
- package/layout/partial/nav.ejs +2 -2
- package/layout/partial/sidebar.ejs +2 -2
- package/layout/post.ejs +19 -3
- package/package.json +4 -5
- package/scripts/event/welcome.js +6 -7
- package/scripts/helper/charts.js +45 -34
- package/scripts/helper/randomLinks.js +1 -1
- package/scripts/helper/related_post.js +11 -4
- package/scripts/helper/themeJsExport.js +12 -10
- package/scripts/tags/fold.js +2 -3
- package/scripts/tags/note.js +6 -2
- package/scripts/tags/tabs.js +2 -2
- package/source/css/main.css +79 -265
- package/source/css/search/algolia-search.css +1 -1
- package/source/css/search/local-search.css +1 -1
- package/source/css/var.css +3 -0
- package/source/img/default.png +0 -0
- package/source/img/error_load.png +0 -0
- package/source/img/logo-horizontal_version.png +0 -0
- package/source/img/pwa/16.png +0 -0
- package/source/img/pwa/180.png +0 -0
- package/source/img/pwa/192.png +0 -0
- package/source/img/pwa/32.png +0 -0
- package/source/img/pwa/512.png +0 -0
- package/source/img/pwa/logo.png +0 -0
- package/source/img/pwa/siteicon/splash-1125x2436.png +0 -0
- package/source/img/pwa/siteicon/splash-1136x640.png +0 -0
- package/source/img/pwa/siteicon/splash-1170x2532.png +0 -0
- package/source/img/pwa/siteicon/splash-1179x2556.png +0 -0
- package/source/img/pwa/siteicon/splash-1242x2208.png +0 -0
- package/source/img/pwa/siteicon/splash-1242x2688.png +0 -0
- package/source/img/pwa/siteicon/splash-1248x2778.png +0 -0
- package/source/img/pwa/siteicon/splash-1290x2796.png +0 -0
- package/source/img/pwa/siteicon/splash-1334x750.png +0 -0
- package/source/img/pwa/siteicon/splash-1536x2048.png +0 -0
- package/source/img/pwa/siteicon/splash-1620x2160.png +0 -0
- package/source/img/pwa/siteicon/splash-1668x2224.png +0 -0
- package/source/img/pwa/siteicon/splash-1668x2388.png +0 -0
- package/source/img/pwa/siteicon/splash-1792x828.png +0 -0
- package/source/img/pwa/siteicon/splash-2048x1536.png +0 -0
- package/source/img/pwa/siteicon/splash-2048x2732.png +0 -0
- package/source/img/pwa/siteicon/splash-2160x1620.png +0 -0
- package/source/img/pwa/siteicon/splash-2208x1242.png +0 -0
- package/source/img/pwa/siteicon/splash-2224x1668.png +0 -0
- package/source/img/pwa/siteicon/splash-2388x1668.png +0 -0
- package/source/img/pwa/siteicon/splash-2436x1125.png +0 -0
- package/source/img/pwa/siteicon/splash-2532x1170.png +0 -0
- package/source/img/pwa/siteicon/splash-2556x1179.png +0 -0
- package/source/img/pwa/siteicon/splash-2688x1242.png +0 -0
- package/source/img/pwa/siteicon/splash-2732x2048.png +0 -0
- package/source/img/pwa/siteicon/splash-2778x1248.png +0 -0
- package/source/img/pwa/siteicon/splash-2796x1290.png +0 -0
- package/source/img/pwa/siteicon/splash-640x1136.png +0 -0
- package/source/img/pwa/siteicon/splash-750x1334.png +0 -0
- package/source/img/pwa/siteicon/splash-828x1792.png +0 -0
- package/source/img/solitude-show.jpg +0 -0
- package/source/js/commentBarrage.js +145 -136
- package/source/js/extend/covercolor/local.js +104 -94
- package/source/js/extend/search/algolia-search.js +11 -0
- package/source/js/extend/search/local-search.js +12 -1
- package/source/js/main.js +212 -27
- package/source/js/rightmenu.js +402 -0
- package/source/js/txmap.js +236 -0
- package/source/lib/chuckle-post-ai.js +1 -0
- package/source/lib/circle.min.js +1 -0
- package/source/lib/friends_post.js +4 -98
- package/source/lib/snackbar.min.js +9 -0
- package/source/lib/view-image.min.js +6 -0
- package/scripts/filter/katex.js +0 -25
- package/scripts/tags/expand.js +0 -4
- package/source/img/power.png +0 -0
- package/source/js/circle.js +0 -1828
- package/source/js/extend/covercolor/web.js +0 -137
- package/source/js/post_ai.js +0 -517
- package/source/lib/snackbar.js +0 -16
- package/source/lib/view-image.js +0 -13
- /package/source/lib/{bundle.js → bundle.min.js} +0 -0
- /package/source/lib/{lazyload.js → lazyload.min.js} +0 -0
@@ -1,115 +1,100 @@
|
|
1
1
|
<div id="rightMenu">
|
2
2
|
<div class="rightMenu-group rightMenu-small">
|
3
|
-
<
|
4
|
-
<i class="scoicon
|
5
|
-
</
|
6
|
-
<
|
7
|
-
<i class="scoicon
|
8
|
-
</
|
9
|
-
<
|
10
|
-
<i class="scoicon
|
11
|
-
</
|
12
|
-
<
|
13
|
-
<i class="scoicon
|
14
|
-
</
|
3
|
+
<div class="rightMenu-item" id="menu-backward">
|
4
|
+
<i class="scoicon sco-arrow-left-line"></i>
|
5
|
+
</div>
|
6
|
+
<div class="rightMenu-item" id="menu-forward">
|
7
|
+
<i class="scoicon sco-arrow-right-line"></i>
|
8
|
+
</div>
|
9
|
+
<div class="rightMenu-item" id="menu-refresh">
|
10
|
+
<i class="scoicon sco-restart-line" style="font-size: 19px;"></i>
|
11
|
+
</div>
|
12
|
+
<div class="rightMenu-item" id="menu-top">
|
13
|
+
<i class="scoicon sco-arrow-up-line"></i>
|
14
|
+
</div>
|
15
15
|
</div>
|
16
|
-
<div class="rightMenu-group rightMenu-line
|
17
|
-
<
|
18
|
-
<i class="scoicon
|
16
|
+
<div class="rightMenu-group rightMenu-line rightMenuPlugin">
|
17
|
+
<div class="rightMenu-item" id="menu-copytext">
|
18
|
+
<i class="scoicon sco-copy-fill"></i>
|
19
19
|
<span>复制选中文本</span>
|
20
|
+
</div>
|
21
|
+
<div class="rightMenu-item" id="menu-pastetext">
|
22
|
+
<i class="scoicon sco-clipboard-fill"></i>
|
23
|
+
<span>粘贴文本</span>
|
24
|
+
</div>
|
25
|
+
<a class="rightMenu-item" id="menu-commenttext" data-pjax-state="">
|
26
|
+
<i class="scoicon sco-chat-new-fill"></i>
|
27
|
+
<span>引用到评论</span>
|
20
28
|
</a>
|
29
|
+
<div class="rightMenu-item" id="menu-newwindow">
|
30
|
+
<i class="scoicon sco-window-fill"></i>
|
31
|
+
<span>新窗口打开</span>
|
32
|
+
</div>
|
33
|
+
<div class="rightMenu-item" id="menu-copylink">
|
34
|
+
<i class="scoicon sco-link-line"></i>
|
35
|
+
<span>复制链接地址</span>
|
36
|
+
</div>
|
37
|
+
<div class="rightMenu-item" id="menu-copyimg">
|
38
|
+
<i class="scoicon sco-copy-fill"></i>
|
39
|
+
<span>复制此图片</span>
|
40
|
+
</div>
|
41
|
+
<div class="rightMenu-item" id="menu-downloadimg">
|
42
|
+
<i class="scoicon sco-download-cloud-fill"></i>
|
43
|
+
<span>下载此图片</span>
|
44
|
+
</div>
|
45
|
+
<div class="rightMenu-item" id="menu-search">
|
46
|
+
<i class="scoicon sco-search-line"></i>
|
47
|
+
<span>站内搜索</span>
|
48
|
+
</div>
|
49
|
+
<div class="rightMenu-item" id="menu-searchBaidu">
|
50
|
+
<i class="scoicon sco-baidu-fill"></i>
|
51
|
+
<span>百度搜索</span>
|
52
|
+
</div>
|
53
|
+
<div class="rightMenu-item" id="menu-music-toggle">
|
54
|
+
<i class="scoicon sco-play-fill"></i>
|
55
|
+
<span>播放音乐</span>
|
56
|
+
</div>
|
57
|
+
<div class="rightMenu-item" id="menu-music-back">
|
58
|
+
<i class="scoicon sco-skip-back-fill"></i>
|
59
|
+
<span>切换到上一首</span>
|
60
|
+
</div>
|
61
|
+
<div class="rightMenu-item" id="menu-music-forward">
|
62
|
+
<i class="scoicon sco-skip-forward-fill"></i>
|
63
|
+
<span>切换到下一首</span>
|
64
|
+
</div>
|
65
|
+
<div class="rightMenu-item" id="menu-music-playlist"
|
66
|
+
onclick="window.open('<%- theme.thirdparty.aplayer.server == 'tencent' ? `https://y.qq.com/n/ryqq/playlist/${theme.thirdparty.aplayer.id}` : `https://music.163.com/#/playlist?id=${theme.thirdparty.aplayer.id}` %>', '_blank');">
|
67
|
+
<i class="scoicon sco-play-list-2-line"></i>
|
68
|
+
<span>查看所有歌曲</span></div>
|
69
|
+
<div class="rightMenu-item" id="menu-music-copyMusicName">
|
70
|
+
<i class="scoicon sco-copy-fill"></i>
|
71
|
+
<span>复制歌名</span>
|
72
|
+
</div>
|
21
73
|
</div>
|
22
|
-
<div class="rightMenu-group rightMenu-line">
|
23
|
-
<a class="rightMenu-item"
|
24
|
-
<i class="scoicon
|
25
|
-
<span>随便逛逛</span>
|
26
|
-
|
27
|
-
|
28
|
-
<
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
<i class="scoicon ri-price-tag-3-fill"></i>
|
33
|
-
<span>文章标签</span>
|
34
|
-
</a>
|
74
|
+
<div class="rightMenu-group rightMenu-line rightMenuOther">
|
75
|
+
<a class="rightMenu-item menu-Link" id="menu-randomPost" data-pjax-state="">
|
76
|
+
<i class="scoicon sco-signal-tower-fill"></i>
|
77
|
+
<span>随便逛逛</span></a>
|
78
|
+
<a class="rightMenu-item menu-link" href="/categories/" data-pjax-state="">
|
79
|
+
<i class="scoicon sco-checkbox-multiple-blank-fill"></i>
|
80
|
+
<span>博客分类</span></a>
|
81
|
+
<a class="rightMenu-item menu-link" href="/tags/" data-pjax-state="">
|
82
|
+
<i class="scoicon sco-price-tag-fill"></i>
|
83
|
+
<span>文章标签</span></a>
|
35
84
|
</div>
|
36
|
-
<div class="rightMenu-group rightMenu-line">
|
37
|
-
<
|
38
|
-
<i class="scoicon
|
39
|
-
<span>昼夜转换</span>
|
40
|
-
</a>
|
41
|
-
<a class="rightMenu-item" href="javascript:sco.copyPageUrl();">
|
42
|
-
<i class="scoicon ri-external-link-fill"></i>
|
85
|
+
<div class="rightMenu-group rightMenu-line rightMenuOther">
|
86
|
+
<div class="rightMenu-item" id="menu-copy">
|
87
|
+
<i class="scoicon sco-external-link-fill"></i>
|
43
88
|
<span>复制地址</span>
|
44
|
-
</
|
45
|
-
|
46
|
-
<
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
89
|
+
</div>
|
90
|
+
<div class="rightMenu-item" id="menu-commentBarrage">
|
91
|
+
<i class="scoicon sco-chat-fill"></i>
|
92
|
+
<span class="menu-commentBarrage-text">关闭热评</span>
|
93
|
+
</div>
|
94
|
+
<div class="rightMenu-item" id="menu-darkmode">
|
95
|
+
<i class="scoicon sco-moon-clear-fill"></i>
|
96
|
+
<span class="menu-darkmode-text">浅色模式</span>
|
97
|
+
</div>
|
51
98
|
</div>
|
52
99
|
</div>
|
53
|
-
<
|
54
|
-
let rmf = {};
|
55
|
-
rmf.showRightMenu = function (isTrue, x = 0, y = 0) {
|
56
|
-
let rightMenu = document.getElementById('rightMenu');
|
57
|
-
rightMenu.style.top = x + 'px';
|
58
|
-
rightMenu.style.left = y + 'px';
|
59
|
-
|
60
|
-
if (isTrue) {
|
61
|
-
rightMenu.style.display = 'block';
|
62
|
-
} else {
|
63
|
-
rightMenu.style.display = 'none';
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
|
-
//复制选中文字
|
68
|
-
rmf.copySelect = function () {
|
69
|
-
document.execCommand('Copy', false, null);
|
70
|
-
//这里可以写点东西提示一下 已复制
|
71
|
-
}
|
72
|
-
|
73
|
-
rmf.hideRightMenu = function () {
|
74
|
-
rmf.showRightMenu(false);
|
75
|
-
document.getElementById("rightmenu-item").style.display = "none";
|
76
|
-
};
|
77
|
-
|
78
|
-
rmf.rightmenuCopyText = function (e) {
|
79
|
-
navigator.clipboard && navigator.clipboard.writeText(e),
|
80
|
-
rmf.hideRightMenu()
|
81
|
-
}
|
82
|
-
|
83
|
-
// 右键菜单事件
|
84
|
-
if (!(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
|
85
|
-
window.oncontextmenu = function (event) {
|
86
|
-
let rightMenuGroup = document.querySelectorAll('.rightMenu-group.hide');
|
87
|
-
rightMenuGroup.forEach(function (group) {
|
88
|
-
group.style.display = 'none';
|
89
|
-
});
|
90
|
-
|
91
|
-
//如果有文字选中,则显示 文字选中相关的菜单项
|
92
|
-
if (document.getSelection().toString()) {
|
93
|
-
document.getElementById('menu-text').style.display = 'block';
|
94
|
-
}
|
95
|
-
|
96
|
-
let pageX = event.clientX + 10;
|
97
|
-
let pageY = event.clientY;
|
98
|
-
let rmWidth = document.getElementById('rightMenu').offsetWidth;
|
99
|
-
let rmHeight = document.getElementById('rightMenu').offsetHeight;
|
100
|
-
if (pageX + rmWidth > window.innerWidth) {
|
101
|
-
pageX -= rmWidth + 10;
|
102
|
-
}
|
103
|
-
if (pageY + rmHeight > window.innerHeight) {
|
104
|
-
pageY -= pageY + rmHeight - window.innerHeight;
|
105
|
-
}
|
106
|
-
|
107
|
-
rmf.showRightMenu(true, pageY, pageX);
|
108
|
-
return false;
|
109
|
-
};
|
110
|
-
|
111
|
-
window.addEventListener('click', function () {
|
112
|
-
rmf.showRightMenu(false);
|
113
|
-
});
|
114
|
-
}
|
115
|
-
</script>
|
100
|
+
<div id="rightmenu-mask"></div>
|
@@ -11,5 +11,5 @@
|
|
11
11
|
<% } %>
|
12
12
|
</div>
|
13
13
|
</div>
|
14
|
-
<i class="bber-gotobb scoicon
|
14
|
+
<i class="bber-gotobb scoicon sco-right-btn-fill" style="font-size: 1rem" title="查看全文" onclick="pjax.loadUrl('/essay/')"></i>
|
15
15
|
</div>
|
@@ -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
|
-
|
34
|
-
|
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
|
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,22 +23,20 @@
|
|
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>
|
35
36
|
var meting_api = "<%- theme.thirdparty.aplayer.api %>";
|
36
37
|
</script>
|
37
38
|
<% } %>
|
38
|
-
<% if(theme.post.covercolor
|
39
|
-
<%- js('/js/extend/covercolor/web') %>
|
40
|
-
<% }else{ %>
|
39
|
+
<% if(theme.post.covercolor){ %>
|
41
40
|
<%- js('/js/extend/covercolor/local') %>
|
42
41
|
<% } %>
|
43
42
|
|
@@ -50,8 +49,22 @@
|
|
50
49
|
<%- js('/js/extend/console/comment')
|
51
50
|
%>
|
52
51
|
<% } %>
|
52
|
+
<%- js('/js/rightmenu') %>
|
53
|
+
|
54
|
+
<% if(theme.comment.enable){ %>
|
55
|
+
<script data-pjax src="/js/commentBarrage.js"></script>
|
56
|
+
<% } %>
|
57
|
+
|
58
|
+
<% if (page.katex){ %>
|
59
|
+
<%- css(cdn.katexcss) %>
|
60
|
+
<%- js(cdn.katexjs) %>
|
61
|
+
<% } %>
|
53
62
|
|
54
63
|
<% if (page.katex){ %>
|
55
64
|
<% css(cdn.katexcss) %>
|
56
65
|
<% js(cdn.katexjs) %>
|
66
|
+
<% } %>
|
67
|
+
|
68
|
+
<% if(theme.aside.welcome.enable){ %>
|
69
|
+
<%- js('/js/txmap.js') %>
|
57
70
|
<% } %>
|
@@ -5,8 +5,10 @@
|
|
5
5
|
<% if(theme.loading.pace){ %>
|
6
6
|
<script data-pace-options="{ "restartOnRequestAfter":false,"eventLag":false}" src="<%= cdn.pacejs %>"></script>
|
7
7
|
<% } %>
|
8
|
-
|
9
|
-
<%- css(
|
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,66 @@
|
|
16
18
|
<%- js(cdn.instantsearch) %>
|
17
19
|
<%- js(cdn.algolia) %>
|
18
20
|
<% } %>
|
19
|
-
|
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 = localStorage.getItem('theme')
|
60
|
+
if(DarkModeStatus !== null){
|
61
|
+
if(DarkModeStatus === 'dark'){
|
62
|
+
document.documentElement.setAttribute('data-theme', 'dark')
|
63
|
+
}else{
|
64
|
+
document.documentElement.setAttribute('data-theme', 'light')
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
const asideStatus = saveToLocal.get('aside-status')
|
69
|
+
if (asideStatus !== undefined) {
|
70
|
+
if (asideStatus === 'hide') {
|
71
|
+
document.documentElement.classList.add('hide-aside')
|
72
|
+
} else {
|
73
|
+
document.documentElement.classList.remove('hide-aside')
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
)(window)
|
78
|
+
|
79
|
+
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");
|
80
|
+
</script>
|
81
|
+
<% if(theme.thirdparty.ai.enable){ %>
|
82
|
+
<%- js('/lib/chuckle-post-ai') %>
|
83
|
+
<% } %>
|
@@ -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.thirdparty.circle.api %>",
|
22
|
+
defaultFish: 100,
|
23
|
+
hungryFish: 100,
|
24
|
+
}
|
25
|
+
</script>
|
26
|
+
<%- js('/lib/friends_post') %>
|
@@ -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
|
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
|
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
|
7
|
-
prev_text: '<i class="scoicon
|
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
|
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
|
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
|
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
|
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
|
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
|
40
|
+
<i class="scoicon sco-menu-line" style="font-size: 1rem;"></i>
|
41
41
|
</a>
|
42
42
|
</div>
|
@@ -1,25 +1,6 @@
|
|
1
1
|
<div class="post-reward">
|
2
|
-
<div class="reward-button button--animated" title="赞赏作者">
|
3
|
-
<
|
4
|
-
if (utils.isMobile()) {
|
5
|
-
const showReward = () => {
|
6
|
-
const rewardMain = document.querySelector('.reward-main');
|
7
|
-
rewardMain.style.display = 'flex';
|
8
|
-
document.addEventListener('touchstart', hideReward);
|
9
|
-
};
|
10
|
-
const hideReward = () => {
|
11
|
-
const rewardMain = document.querySelector('.reward-main');
|
12
|
-
rewardMain.style.display = 'none';
|
13
|
-
document.removeEventListener('touchstart', hideReward);
|
14
|
-
};
|
15
|
-
const rewardButton = document.querySelector('.reward-button');
|
16
|
-
rewardButton.addEventListener('touchstart', event => {
|
17
|
-
event.stopPropagation();
|
18
|
-
showReward();
|
19
|
-
});
|
20
|
-
}
|
21
|
-
</script>
|
22
|
-
<i class="heofont icon-hand-heart-fill"></i>
|
2
|
+
<div class="reward-button button--animated" onclick="AddRewardMask()" title="赞赏作者">
|
3
|
+
<i class="scoicon sco-hand-heart-fill"></i>
|
23
4
|
打赏作者
|
24
5
|
</div>
|
25
6
|
<div class="reward-main">
|
@@ -49,4 +30,31 @@
|
|
49
30
|
</a>
|
50
31
|
</ul>
|
51
32
|
</div>
|
52
|
-
</div>
|
33
|
+
</div>
|
34
|
+
<script type="text/javascript">
|
35
|
+
function RemoveRewardMask() {
|
36
|
+
let rewardMainElements = document.querySelectorAll(".reward-main");
|
37
|
+
let quitBoxElement = document.querySelector("#quit-box");
|
38
|
+
|
39
|
+
rewardMainElements.forEach(element => {
|
40
|
+
element.style.display = "none";
|
41
|
+
});
|
42
|
+
|
43
|
+
if (quitBoxElement) {
|
44
|
+
quitBoxElement.style.display = "none";
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
function AddRewardMask() {
|
49
|
+
let rewardMainElements = document.querySelectorAll(".reward-main");
|
50
|
+
let quitBoxElement = document.querySelector("#quit-box");
|
51
|
+
|
52
|
+
rewardMainElements.forEach(element => {
|
53
|
+
element.style.display = "flex";
|
54
|
+
});
|
55
|
+
|
56
|
+
if (quitBoxElement) {
|
57
|
+
quitBoxElement.style.display = "flex";
|
58
|
+
}
|
59
|
+
}
|
60
|
+
</script>
|
@@ -11,15 +11,17 @@
|
|
11
11
|
</div>
|
12
12
|
<div class="post-tools" id="post-tools">
|
13
13
|
<div class="post-tools-left">
|
14
|
-
<% if(theme.post.award.enable){%>
|
14
|
+
<% if(theme.post.award.enable){ %>
|
15
15
|
<%- partial('/award', {cache: true}) %>
|
16
|
-
<%} %>
|
17
|
-
|
18
|
-
<
|
19
|
-
<
|
20
|
-
|
21
|
-
|
22
|
-
|
16
|
+
<% } %>
|
17
|
+
<% if(theme.footer.rss.enable){ %>
|
18
|
+
<div class="reward-link mode">
|
19
|
+
<a class="reward-link-button" href="<%- theme.footer.rss.url %>">
|
20
|
+
<i class="scoicon sco-plant-fill"></i>
|
21
|
+
订阅
|
22
|
+
</a>
|
23
|
+
</div>
|
24
|
+
<% } %>
|
23
25
|
</div>
|
24
26
|
</div>
|
25
27
|
<div class="post-copyright__notice">
|