hexo-theme-solitude 1.12.3 → 1.13.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.
- package/.github/persona.avif +0 -0
- package/.github/screenshot.avif +0 -0
- package/README.md +3 -3
- package/README_en-US.md +3 -3
- package/README_zh-Hant.md +3 -3
- package/_config.yml +52 -8
- package/languages/default.yml +1 -0
- package/languages/en.yml +1 -0
- package/languages/zh-CN.yml +1 -0
- package/languages/zh-TW.yml +1 -0
- package/layout/includes/console.pug +39 -26
- package/layout/includes/head/config.pug +20 -0
- package/layout/includes/header.pug +4 -2
- package/layout/includes/layout.pug +6 -1
- package/layout/includes/page/recentcomment.pug +1 -1
- package/layout/includes/widgets/home/banner.pug +15 -12
- package/layout/includes/widgets/home/hot/index.pug +7 -0
- package/layout/includes/widgets/home/hot/twikoo.pug +46 -0
- package/layout/includes/widgets/nav/right.pug +1 -1
- package/layout/includes/widgets/page/links/banner.pug +2 -1
- package/layout/includes/widgets/page/recentcomment/artalk.pug +3 -3
- package/layout/includes/widgets/page/recentcomment/twikoo.pug +3 -3
- package/layout/includes/widgets/page/recentcomment/valine.pug +3 -3
- package/layout/includes/widgets/page/recentcomment/waline.pug +3 -3
- package/layout/includes/widgets/post/postInfo.pug +80 -0
- package/layout/includes/widgets/post/postMeta.pug +1 -81
- package/layout/index.pug +2 -0
- package/layout/post.pug +6 -3
- package/package.json +1 -1
- package/scripts/event/merge_config.js +34 -1
- package/scripts/filter/checkThemeConfig.js +0 -5
- package/source/css/_comments/comment.styl +3 -4
- package/source/css/_global/index.styl +18 -2
- package/source/css/_layout/article-container.styl +4 -0
- package/source/css/_layout/console.styl +1 -1
- package/source/css/_layout/expire.styl +13 -0
- package/source/css/_layout/header.styl +14 -13
- package/source/css/_page/_home/home-top.styl +6 -0
- package/source/css/_page/_home/home.styl +4 -1
- package/source/css/_page/_home/hot-tip.styl +11 -0
- package/source/css/_page/index.styl +1 -1
- package/source/css/_page/links.styl +22 -1
- package/source/css/_page/other.styl +2 -0
- package/source/css/_page/recentcomment.styl +5 -2
- package/source/css/_post/copyright.styl +1 -1
- package/source/css/_post/meta.styl +196 -187
- package/source/css/_post/pagination.styl +2 -5
- package/source/css/_post/relatedPost.styl +1 -1
- package/source/css/_post/tools.styl +1 -1
- package/source/js/main.js +63 -15
- package/.github/logo.svg +0 -23
- package/.github/screenshot.webp +0 -0
@@ -1,84 +1,4 @@
|
|
1
1
|
.coverdiv#coverdiv
|
2
2
|
img#post-cover.nolazyload(src=url_for(page.cover), alt=page.title)
|
3
|
-
|
4
|
-
#post-firstinfo
|
5
|
-
.meta-firstline
|
6
|
-
- var cc = page.reprint ? _p('post.reprint') : _p('post.original')
|
7
|
-
a.post-meta-original(title=_p('post.cc').replace(/\$\{cc}/, cc))= cc
|
8
|
-
if page.categories.data.length > 0
|
9
|
-
span.post-meta-categories
|
10
|
-
a.post-meta-categories(href=url_for('/' + page.categories.data[0].path))= page.categories.data[0].name
|
11
|
-
.tag_share
|
12
|
-
.post-meta__tag-list
|
13
|
-
each tag in page.tags.data
|
14
|
-
a.post-meta__tags(href=url_for(tag.path))
|
15
|
-
span.tags-name.tags-punctuation= tag.name
|
16
|
-
h1.post-title= page.title
|
17
|
-
#post-meta
|
18
|
-
.meta-secondline
|
19
|
-
if theme.post.meta.date
|
20
|
-
span.post-meta-date(title=_p('post.posted') + ' ' + full_date(page.date))
|
21
|
-
i.post-meta-icon.solitude.st-calendar-todo-fill
|
22
|
-
time(datetime=date_xml(page.date))= date_xml(page.date)
|
23
|
-
if theme.post.meta.updated
|
24
|
-
span.post-meta-date(title=_p('post.updated') + ' ' + full_date(page.updated))
|
25
|
-
i.post-meta-icon.solitude.st-refresh-line
|
26
|
-
time(datetime=date_xml(page.updated))= date_xml(page.updated)
|
27
|
-
if theme.wordcount
|
28
|
-
span.post-meta-wordcount
|
29
|
-
if theme.post.meta.wordcount
|
30
|
-
i.post-meta-icon.solitude.st-word-fill(title=_p('post.wordcount'))
|
31
|
-
span.word-count= wordcount(page.content)
|
32
|
-
span.post-meta-separator
|
33
|
-
if theme.post.meta.readtime
|
34
|
-
i.post-meta-icon.solitude.st-clock-fill(title=_p('post.minread'))
|
35
|
-
span= min2read(page.content) + " min"
|
36
|
-
if theme.post.meta.locate
|
37
|
-
span.post-meta-position(title=_p('post.ip') + page.locate)
|
38
|
-
i.post-meta-icon.solitude.st-map-pin-fill
|
39
|
-
span= page.locate
|
40
|
-
if theme.post.meta.pv
|
41
|
-
a.post-meta-pv(href=url_for(page.path), title=_p('post.pv'))
|
42
|
-
i.post-meta-icon.solitude.st-fire-fill
|
43
|
-
if theme.comment.use && theme.comment.pv
|
44
|
-
case theme.comment.use[0]
|
45
|
-
when "Twikoo"
|
46
|
-
span#twikoo_visitors
|
47
|
-
i.solitude.st-loading-line
|
48
|
-
when "Waline"
|
49
|
-
span.waline-pageview-count
|
50
|
-
i.solitude.st-loading-line
|
51
|
-
when "Valine"
|
52
|
-
span.leancloud_visitors(id=url_for(page.path))
|
53
|
-
span.leancloud-visitors-count
|
54
|
-
i.solitude.st-loading-line
|
55
|
-
when 'Artalk'
|
56
|
-
span#ArtalkPV
|
57
|
-
i.solitude.st-loading-line
|
58
|
-
else
|
59
|
-
if theme.busuanzi
|
60
|
-
if theme.busuanzi_use === 0
|
61
|
-
span#busuanzi_value_page_pv
|
62
|
-
i.solitude.st-loading-line
|
63
|
-
else
|
64
|
-
span#busuanzi_page_pv
|
65
|
-
i.solitude.st-loading-line
|
66
|
-
if theme.post.meta.comment && page.comment && theme.comment.count && theme.comment.use
|
67
|
-
span.post-meta-commentcount(title=_p('post.comment'), onclick="sco.scrollTo('post-comment')")
|
68
|
-
i.solitude.st-chat-fill
|
69
|
-
a(href=url_for(page.path) + "#post-comment")
|
70
|
-
case theme.comment.use[0]
|
71
|
-
when "Twikoo"
|
72
|
-
span.twikoo-count
|
73
|
-
i.solitude.st-loading-line
|
74
|
-
when "Waline"
|
75
|
-
span.waline-comment-count
|
76
|
-
i.solitude.st-loading-line
|
77
|
-
when "Valine"
|
78
|
-
span.valine-comment-count(data-xid=url_for(page.path) itemprop="commentCount")
|
79
|
-
i.solitude.st-loading-line
|
80
|
-
when 'Artalk'
|
81
|
-
span.artalk-count
|
82
|
-
i.solitude.st-loading-line
|
83
|
-
|
3
|
+
include ./postInfo
|
84
4
|
include ./wave
|
package/layout/index.pug
CHANGED
@@ -12,6 +12,8 @@ block content
|
|
12
12
|
#category-bar
|
13
13
|
include ./includes/widgets/home/categoryBar
|
14
14
|
.recent-posts#recent-posts
|
15
|
+
if theme.comment.hot_tip.enable
|
16
|
+
include ./includes/widgets/home/hot/index.pug
|
15
17
|
if theme.carousel && is_home_first_page()
|
16
18
|
include ./includes/widgets/home/carousel.pug
|
17
19
|
for post, index in page.posts.sort("-sticky" || "-date").data
|
package/layout/post.pug
CHANGED
@@ -3,9 +3,12 @@ extends includes/layout.pug
|
|
3
3
|
block content
|
4
4
|
main.layout#content-inner
|
5
5
|
#post
|
6
|
-
if
|
7
|
-
include includes/widgets/post/
|
8
|
-
article.post-content#article-container
|
6
|
+
if page.not_cover
|
7
|
+
include includes/widgets/post/postInfo
|
8
|
+
article.post-content#article-container
|
9
|
+
if theme.post_ai.enable && page.ai
|
10
|
+
include includes/widgets/post/post-ai
|
11
|
+
!= page.content
|
9
12
|
include includes/widgets/post/copyright
|
10
13
|
.post-tools-right
|
11
14
|
.tag_share
|
package/package.json
CHANGED
@@ -13,7 +13,6 @@ hexo.extend.filter.register('before_generate', () => {
|
|
13
13
|
menu: null,
|
14
14
|
right: {
|
15
15
|
random: false,
|
16
|
-
console: false,
|
17
16
|
custom: [],
|
18
17
|
}
|
19
18
|
},
|
@@ -119,6 +118,7 @@ hexo.extend.filter.register('before_generate', () => {
|
|
119
118
|
},
|
120
119
|
post: {
|
121
120
|
default: {
|
121
|
+
top_cover: true,
|
122
122
|
cover: ['/img/default.avif'],
|
123
123
|
locate: 'China, Changsha',
|
124
124
|
copyright: {
|
@@ -306,6 +306,10 @@ hexo.extend.filter.register('before_generate', () => {
|
|
306
306
|
lazyload: false,
|
307
307
|
count: false,
|
308
308
|
avatar: 'https://cravatar.cn',
|
309
|
+
hot_tip: {
|
310
|
+
enable: true,
|
311
|
+
count: 3
|
312
|
+
}
|
309
313
|
},
|
310
314
|
twikoo: {
|
311
315
|
envId: 'your envId',
|
@@ -333,6 +337,17 @@ hexo.extend.filter.register('before_generate', () => {
|
|
333
337
|
site: 'your site-name',
|
334
338
|
option: null,
|
335
339
|
},
|
340
|
+
console: {
|
341
|
+
enable: false,
|
342
|
+
recentComment: {
|
343
|
+
enable: false,
|
344
|
+
storage: .2,
|
345
|
+
},
|
346
|
+
card: {
|
347
|
+
tags: true,
|
348
|
+
archive: true
|
349
|
+
}
|
350
|
+
},
|
336
351
|
verify_site: [],
|
337
352
|
css_prefix: false,
|
338
353
|
font: {
|
@@ -376,6 +391,24 @@ hexo.extend.filter.register('before_generate', () => {
|
|
376
391
|
},
|
377
392
|
custom_list: []
|
378
393
|
},
|
394
|
+
lure: {
|
395
|
+
enable: false,
|
396
|
+
jump: '404 Not Found',
|
397
|
+
back: 'ヾ(≧∇≦*)ゝ嘿嘿,上当了吧'
|
398
|
+
},
|
399
|
+
expire: {
|
400
|
+
enable: false,
|
401
|
+
time: 30,
|
402
|
+
position: 'top',
|
403
|
+
text_prev: '本文已于',
|
404
|
+
text_next: '天前过期,如果内容不符,请联系站长更新。',
|
405
|
+
},
|
406
|
+
background: {
|
407
|
+
enable: false,
|
408
|
+
dark: 'https://bu.dusays.com/2023/09/29/651685ce667d1.jpg',
|
409
|
+
light: 'https://bu.dusays.com/2023/09/29/651685cc18d39.jpg',
|
410
|
+
opacity: .2,
|
411
|
+
},
|
379
412
|
CDN: {
|
380
413
|
internal: 'local',
|
381
414
|
third_party: 'cdnjs',
|
@@ -4,11 +4,6 @@ hexo.extend.filter.register('before_post_render', () => {
|
|
4
4
|
const data = hexo.locals.get('data');
|
5
5
|
const logger = hexo.log;
|
6
6
|
const theme = hexo.theme.config;
|
7
|
-
if (theme.hometop.enable && !theme.hometop.banner.icon) {
|
8
|
-
logger.error('\n 启用banner的情况下,必须提供 icon 图片!\n 请在主题配置文件中设置 hometop.banner.icon 选项。');
|
9
|
-
logger.error('\n If banner is enabled, icon image must be supplied! \n Please set the hometop.banner.icon option in the theme configuration file.');
|
10
|
-
process.exit(-1);
|
11
|
-
}
|
12
7
|
if (theme.says.enable && !data.essay) {
|
13
8
|
logger.error('\n 启用说说的情况下,必须提供 essay 数据文件!\n 请新建 essay.yaml。');
|
14
9
|
logger.error('\n If says is enabled, essay data must be supplied! \n Please create essay.yaml.');
|
@@ -53,10 +53,9 @@
|
|
53
53
|
.post-comment
|
54
54
|
background var(--efu-card-bg)
|
55
55
|
|
56
|
-
div#post-comment
|
57
|
-
margin-top 2rem
|
58
|
-
|
59
56
|
#post-comment
|
57
|
+
.post &
|
58
|
+
padding 0 2rem
|
60
59
|
> div.comment-head
|
61
60
|
> div.comment-privacy
|
62
61
|
display block
|
@@ -100,7 +99,7 @@ div#post-comment
|
|
100
99
|
|
101
100
|
.comment-head
|
102
101
|
font-size .8em
|
103
|
-
margin
|
102
|
+
margin .5rem 0
|
104
103
|
position relative
|
105
104
|
|
106
105
|
if hexo-config('comment.use')[1]
|
@@ -401,7 +401,8 @@ i.solitude
|
|
401
401
|
box-shadow none
|
402
402
|
border none
|
403
403
|
padding 0 1rem
|
404
|
-
|
404
|
+
> #post
|
405
|
+
padding 0
|
405
406
|
|
406
407
|
.show
|
407
408
|
opacity 1 !important
|
@@ -428,4 +429,19 @@ if hexo-config('memorial.enable')
|
|
428
429
|
-moz-filter grayscale(100%)
|
429
430
|
-ms-filter grayscale(100%)
|
430
431
|
-o-filter grayscale(100%)
|
431
|
-
filter grayscale(100%)
|
432
|
+
filter grayscale(100%)
|
433
|
+
|
434
|
+
if hexo-config('background.enable')
|
435
|
+
#global_bg
|
436
|
+
position fixed
|
437
|
+
z-index 999
|
438
|
+
opacity hexo-config('background.opacity')
|
439
|
+
width 100%
|
440
|
+
height 100%
|
441
|
+
background-image url(hexo-config('background.light'))
|
442
|
+
background-size cover
|
443
|
+
pointer-events none
|
444
|
+
background-repeat no-repeat
|
445
|
+
|
446
|
+
[data-theme=dark] &
|
447
|
+
background-image url(hexo-config('background.dark'))
|
@@ -0,0 +1,13 @@
|
|
1
|
+
if hexo-config("expire.enable")
|
2
|
+
.expire
|
3
|
+
display flex
|
4
|
+
align-items center
|
5
|
+
border-radius 8px
|
6
|
+
background-color rgba(255,0,0,.5)
|
7
|
+
border-left 5px solid var(--efu-red)
|
8
|
+
padding 10px 16px
|
9
|
+
color var(--efu-white)
|
10
|
+
|
11
|
+
i.solitude
|
12
|
+
color var(--efu-white)
|
13
|
+
margin-right 8px
|
@@ -567,12 +567,6 @@
|
|
567
567
|
.nav-button
|
568
568
|
cursor pointer
|
569
569
|
|
570
|
-
#site-name
|
571
|
-
.iconfont
|
572
|
-
font-size 20px
|
573
|
-
font-weight 400
|
574
|
-
line-height 48px
|
575
|
-
|
576
570
|
#site-logo
|
577
571
|
width 121px
|
578
572
|
|
@@ -738,14 +732,15 @@ if hexo-config('nav.group')
|
|
738
732
|
background-color var(--efu-main)
|
739
733
|
|
740
734
|
.post
|
741
|
-
|
742
|
-
.
|
743
|
-
|
744
|
-
|
745
|
-
&:hover
|
746
|
-
background var(--efu-white-op)
|
735
|
+
.post-bg
|
736
|
+
if hexo-config('nav.group')
|
737
|
+
.back-home-button
|
747
738
|
color var(--efu-white)
|
748
|
-
|
739
|
+
|
740
|
+
&:hover
|
741
|
+
background var(--efu-white-op)
|
742
|
+
color var(--efu-white)
|
743
|
+
cursor pointer
|
749
744
|
|
750
745
|
#nav
|
751
746
|
#site-name
|
@@ -761,6 +756,12 @@ if hexo-config('nav.group')
|
|
761
756
|
#site-name
|
762
757
|
&:after
|
763
758
|
color var(--efu-card-bg)
|
759
|
+
.not-top-img
|
760
|
+
#nav
|
761
|
+
a
|
762
|
+
&:hover
|
763
|
+
+minWidth900()
|
764
|
+
background var(--efu-lighttext)
|
764
765
|
|
765
766
|
.back-menu-list
|
766
767
|
display flex
|
@@ -25,6 +25,7 @@
|
|
25
25
|
.recent-post-group
|
26
26
|
display flex
|
27
27
|
flex-direction row
|
28
|
+
justify-content space-between
|
28
29
|
flex-wrap wrap
|
29
30
|
align-content space-between
|
30
31
|
gap .5rem
|
@@ -91,6 +92,10 @@
|
|
91
92
|
position relative
|
92
93
|
box-shadow var(--efu-shadow-border)
|
93
94
|
|
95
|
+
&:nth-last-child(2):nth-child(1),
|
96
|
+
&:nth-last-child(1):nth-child(2)
|
97
|
+
width calc(100% / 2 - 0.5rem)
|
98
|
+
|
94
99
|
+maxWidth1200()
|
95
100
|
width 200px
|
96
101
|
min-width 200px
|
@@ -244,6 +249,7 @@
|
|
244
249
|
|
245
250
|
.banner-button-group
|
246
251
|
bottom: 1rem
|
252
|
+
|
247
253
|
.banners-links
|
248
254
|
display flex
|
249
255
|
position absolute
|
@@ -1,6 +1,24 @@
|
|
1
1
|
.flink#banners
|
2
2
|
margin-bottom: .5rem
|
3
3
|
|
4
|
+
.tags-group-title
|
5
|
+
font-size 14px
|
6
|
+
color var(--efu-card-bg)
|
7
|
+
background var(--efu-lighttext)
|
8
|
+
position absolute
|
9
|
+
width 100%
|
10
|
+
height 100%
|
11
|
+
display flex
|
12
|
+
border-radius 120px
|
13
|
+
align-items center
|
14
|
+
justify-content center
|
15
|
+
opacity 0
|
16
|
+
transition .3s
|
17
|
+
|
18
|
+
.flink .tags-group-icon:hover .tags-group-title
|
19
|
+
opacity 1
|
20
|
+
backdrop-filter saturate(180%) blur(20px)
|
21
|
+
|
4
22
|
.flink#article-container
|
5
23
|
margin-top 1rem
|
6
24
|
|
@@ -67,7 +85,10 @@
|
|
67
85
|
width calc(25% - 16px)
|
68
86
|
|
69
87
|
+maxWidth768()
|
70
|
-
width calc(
|
88
|
+
width calc(100% / 3 - 16px)
|
89
|
+
|
90
|
+
+maxWidth600()
|
91
|
+
width calc(100% / 2 - 16px)
|
71
92
|
|
72
93
|
.img
|
73
94
|
border-radius 0
|
@@ -13,6 +13,7 @@ div#banners
|
|
13
13
|
animation slide-in .6s .1s backwards
|
14
14
|
|
15
15
|
#home_top &
|
16
|
+
height 100%
|
16
17
|
+maxWidth1200()
|
17
18
|
height calc(328px + .5rem)
|
18
19
|
|
@@ -122,6 +123,7 @@ div#banners
|
|
122
123
|
border-radius 50%
|
123
124
|
|
124
125
|
/.tags-group-icon
|
126
|
+
position relative
|
125
127
|
width 120px
|
126
128
|
height 120px
|
127
129
|
border-radius 30px
|
@@ -1,4 +1,4 @@
|
|
1
|
-
div#
|
1
|
+
div#console_recentcomments
|
2
2
|
display flex
|
3
3
|
flex-wrap wrap
|
4
4
|
gap 12px
|
@@ -20,6 +20,9 @@ div#comments-page
|
|
20
20
|
display flex
|
21
21
|
flex-direction column
|
22
22
|
|
23
|
+
.console-card &
|
24
|
+
width calc(100% / 2 - 8px)
|
25
|
+
|
23
26
|
+maxWidth900()
|
24
27
|
width calc(100% / 2 - 6px)
|
25
28
|
|
@@ -69,7 +72,7 @@ div#comments-page
|
|
69
72
|
font-size 12px
|
70
73
|
line-height 12px
|
71
74
|
|
72
|
-
#
|
75
|
+
#console_recentcomments .comment-info img
|
73
76
|
width 30px
|
74
77
|
height 30px
|
75
78
|
object-fit cover
|