hexo-theme-solitude 2.1.9 → 2.1.11

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/_config.yml CHANGED
@@ -571,6 +571,14 @@ footer:
571
571
  # 许可证
572
572
  license: # https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh # 许可证
573
573
 
574
+ # 备案
575
+ beian:
576
+ # - name: 湘公网安备43048102000175号
577
+ # icon: https://ui.everfu.cn/28399dd1b7b415efb0b3d822c31f59af.png/cover
578
+ # url: https://beian.mps.gov.cn/#/query/webSearch
579
+ # - name: 湘ICP备2024080357号-1
580
+ # url: https://beian.miit.gov.cn/
581
+
574
582
  # 页脚信息文字
575
583
  # 请不要删除主题信息,这是对作者的尊重
576
584
  links:
@@ -890,6 +898,8 @@ music:
890
898
  volume: 0.8
891
899
  # 是否自动播放
892
900
  mutex: true
901
+ # 播放方式:list / random
902
+ order: list
893
903
  # --------------------------- end ---------------------------
894
904
 
895
905
  # --------------------------- start ---------------------------
@@ -131,6 +131,7 @@ console:
131
131
  switch_keyboard: 键盘快捷键
132
132
  switch_music: 音乐开关
133
133
  archive_unit: 篇
134
+ archive_all: 全部文章
134
135
  recent_comment_more: 最近评论
135
136
  newest_comment:
136
137
  image: 图片
package/languages/en.yml CHANGED
@@ -131,6 +131,7 @@ console:
131
131
  switch_keyboard: Keyboard operation
132
132
  switch_music: Music switch
133
133
  archive_unit: Posts
134
+ archive_all: All posts
134
135
  recent_comment_more: Recent comments
135
136
  newest_comment:
136
137
  image: Image
@@ -131,6 +131,7 @@ console:
131
131
  switch_keyboard: 键盘快捷键
132
132
  switch_music: 音乐开关
133
133
  archive_unit: 篇
134
+ archive_all: 全部文章
134
135
  recent_comment_more: 最近评论
135
136
  newest_comment:
136
137
  image: 图片
@@ -131,6 +131,7 @@ console:
131
131
  switch_keyboard: 鍵盤快捷鍵
132
132
  switch_music: 音樂開關
133
133
  archive_unit: 篇
134
+ archive_all: 全部文章
134
135
  recent_comment_more: 最近評論
135
136
  newest_comment:
136
137
  image: 圖片
@@ -51,10 +51,23 @@ div#footer-bar
51
51
  div.footer-bar-left
52
52
  if moment(theme.aside.siteinfo.runtime).year() === new Date().getFullYear()
53
53
  div.copyright © #{moment(theme.aside.siteinfo.runtime).year()} By 
54
- a.footer-bar-link(href=url_for("/"))= config.author
54
+ a.footer-bar-link(href=url_for("/"))
55
+ img.author-avatar(src=url_for(theme.site.icon))
56
+ = config.author
55
57
  else
56
58
  div.copyright © #{moment(theme.aside.siteinfo.runtime).year()} - #{new Date().getFullYear()} By 
57
- a.footer-bar-link(href=url_for("/"))= config.author
59
+ a.footer-bar-link(href=url_for("/"))
60
+ img.author-avatar(src=url_for(theme.site.icon))
61
+ = config.author
62
+ if theme.footer.beian
63
+ .beian-group
64
+ - var beian = theme.footer.beian || []
65
+ each item in beian
66
+ a.footer-bar-link(href=url_for(item.url), title=item.name)
67
+ if item.icon
68
+ img.beian-icon(src=url_for(item.icon), alt=item.name)
69
+ span.beian-name= item.name
70
+
58
71
  div.footer-bar-right
59
72
  each item in theme.footer.links
60
73
  a.footer-bar-link(href=url_for(item.url), alt=item.name)!= item.name
@@ -82,7 +82,7 @@ div
82
82
  script(src=url_for(theme.cdn.cover_ave))
83
83
 
84
84
  if theme.loading.pace
85
- script(src=url_for(theme.cdn.pace_js))
85
+ include ../mixins/pace.pug
86
86
 
87
87
  if theme.search.enable && theme.search.type === "algolia"
88
88
  script(src=url_for(theme.cdn.instantsearch))
@@ -0,0 +1,10 @@
1
+ script.
2
+ window.paceOptions = {
3
+ restartOnPushState: false
4
+ }
5
+
6
+ utils.addGlobalFn('pjaxSend', () => {
7
+ Pace.restart()
8
+ }, 'pace_restart')
9
+
10
+ script(src=url_for(theme.cdn.pace_js))
@@ -1,11 +1,11 @@
1
1
  if theme.music.enable
2
2
  #Music-bg
3
3
  #Music-page
4
- meting-js(id=theme.music.id server=theme.music.server type=theme.music.type mutex=theme.music.mutex ? "true" : "false" volume=theme.music.volume preload="none" data-lrctype="0" order="random")
4
+ meting-js(id=theme.music.id server=theme.music.server type=theme.music.type mutex=theme.music.mutex ? "true" : "false" volume=theme.music.volume preload="none" data-lrctype="0" order=theme.music.order)
5
5
  .Music-loading
6
6
  div APlayer加载中...
7
7
  script(pjax).
8
8
  (async function () {
9
9
  if (typeof initializeMusicPlayer === "undefined") await utils.getScript('!{url_for(theme.cdn.music_js)}').then(() => initializeMusicPlayer())
10
10
  else initializeMusicPlayer()
11
- })()
11
+ })()
@@ -1,3 +1,3 @@
1
- #rightside
1
+ #rightside.needEndHide
2
2
  include ./widgets/rightside/hide
3
3
  include ./widgets/rightside/show
@@ -8,4 +8,10 @@ ul.card-archive-list
8
8
  span.card-archive-list-date= key
9
9
  .card-archive-list-count-group
10
10
  span.card-archive-list-count= value
11
- span.card-archive-list-count-unit= __('console.archive_unit')
11
+ span.card-archive-list-count-unit= __('console.archive_unit')
12
+ li.card-archive-list-item
13
+ a.card-archive-list-link(href='/archives/')
14
+ span.card-archive-list-date= __('console.archive_all')
15
+ .card-archive-list-count-group
16
+ span.card-archive-list-count= site.posts.length
17
+ span.card-archive-list-count-unit= __('console.archive_unit')
@@ -9,7 +9,7 @@ if site.data.about.rewardList && site.data.about.award.enable
9
9
  .author-content-item-description
10
10
  != award.description
11
11
  .reward-list-all
12
- each reward in site.data.about.rewardList
12
+ each reward in site.data.about.rewardList.sort((a, b) => b.time - a.time) || []
13
13
  - sum += reward.money
14
14
  .reward-list-item
15
15
  .reward-list-item-name= reward.name
@@ -25,7 +25,7 @@ if site.data.about.likes
25
25
  - const likes = site.data.about.likes
26
26
  .author-content
27
27
  each like in likes
28
- .author-content-item(class=like.type, style=`background: url(${like.bg}) no-repeat center;`)
28
+ .author-content-item(class=like.type, style=`background: url(${like.bg}) no-repeat center; background-size: cover;`)
29
29
  .card-content
30
30
  .author-content-item-tips= like.tips
31
31
  span.author-content-item-title= like.title
@@ -14,34 +14,29 @@ if tenyear
14
14
  .end-time#tenyear-end-time= new Date(tenyear.end).toLocaleDateString()
15
15
 
16
16
  script.
17
- const tenYear = () => {
18
- const progressElement = document.querySelector(".progress");
19
- const pastTimeElement = document.querySelector(".past-time");
20
- const percentageLabelElement = document.querySelector(".percentage-label");
21
- const startTimeElement = document.getElementById("tenyear-start-time");
22
- const endTimeElement = document.getElementById("tenyear-end-time");
17
+ function updateTenYearProgress() {
18
+ let progressElement = document.querySelector(".progress");
19
+ let pastTimeElement = document.querySelector(".past-time");
20
+ let percentageLabelElement = document.querySelector(".percentage-label");
21
+ let startTimeElement = document.getElementById("tenyear-start-time");
22
+ let endTimeElement = document.getElementById("tenyear-end-time");
23
+ let startTime = new Date(startTimeElement.textContent).getTime();
24
+ let endTime = new Date(endTimeElement.textContent).getTime();
23
25
 
24
- const startTime = new Date(startTimeElement.textContent).getTime();
25
- const endTime = new Date(endTimeElement.textContent).getTime();
26
+ const currentTime = new Date().getTime();
27
+ const progress = ((currentTime - startTime) / (endTime - startTime) * 100);
28
+ const progressPercentage = Math.min(progress, 100) + "%";
26
29
 
27
- const updateProgress = () => {
28
- const currentTime = new Date().getTime();
29
- const progress = ((currentTime - startTime) / (endTime - startTime) * 100);
30
- const progressPercentage = Math.min(progress, 100) + "%";
31
-
32
- pastTimeElement.style.setProperty("--past-time-percentage", progress + "%");
33
- progressElement.style.setProperty("--progress-percentage", progressPercentage);
34
- if (progress > 5) {
35
- percentageLabelElement.textContent = `${progress.toFixed(0)}%`;
36
- percentageLabelElement.style.left = `calc(${progress}% - 35px)`;
37
- }
38
- };
30
+ pastTimeElement.style.setProperty("--past-time-percentage", progress + "%");
31
+ progressElement.style.setProperty("--progress-percentage", progressPercentage);
32
+ if (progress > 5) {
33
+ percentageLabelElement.textContent = `${progress.toFixed(0)}%`;
34
+ percentageLabelElement.style.left = `calc(${progress}% - 35px)`;
35
+ }
39
36
 
40
37
  percentageLabelElement.style.visibility = "visible";
41
- updateProgress();
42
- };
38
+ }
43
39
 
44
40
  if (document.getElementById("tenyear")) {
45
- tenYear();
46
- window.Pjax.on('complete', tenYear);
41
+ updateTenYearProgress();
47
42
  }
@@ -2,10 +2,13 @@
2
2
  each item in data.link_list
3
3
  .flink-list-item
4
4
  if item.tag
5
- span.site-card-tag(class=item.color)= item.tag
6
- i.light
5
+ if item.color == 'vip' || item.color == 'speed'
6
+ span.site-card-tag(class=item.color)= item.tag
7
+ i.light
8
+ else
9
+ span.site-card-tag(style=`background-color: ${item.color};`)= item.tag
7
10
  a.cf-friends-link(href=url_for(item.link), title=item.name)
8
11
  img.flink-avatar.cf-friends-avatar(alt=item.name, src=item.avatar + (data.suffix || ''))
9
12
  .flink-item-info
10
13
  span.flink-item-name.cf-friends-name= item.name
11
- span.flink-item-desc(title=item.descr)= item.descr
14
+ span.flink-item-desc(title=item.descr)= item.descr
package/layout/post.pug CHANGED
@@ -13,7 +13,7 @@ block content
13
13
  .post-tools-right
14
14
  .tag_share
15
15
  .post-meta__tag-list
16
- each data in page.tags.data
16
+ each data in page.tags.data || []
17
17
  a(href=url_for(data.path)).post-meta__tags
18
18
  span.tags-punctuation
19
19
  i.solitude.fa-solid.fa-hashtag
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "2.1.9",
3
+ "version": "2.1.11",
4
4
  "description": "A beautiful, powerful, and efficient Hexo theme developed by everfu.",
5
5
  "main": "package.json",
6
6
  "scripts": {
package/plugins.yml CHANGED
@@ -86,9 +86,10 @@ snackbar:
86
86
  file: dist/snackbar.min.js
87
87
  version: 0.1.16
88
88
  fontawesome:
89
- name: font-awesome
89
+ name: '@fortawesome/fontawesome-free'
90
90
  file: css/all.min.css
91
- version: 6.6.0
91
+ version: 6.7.1
92
+ other_name: font-awesome
92
93
  medium_zoom:
93
94
  name: medium-zoom
94
95
  file: dist/medium-zoom.min.js
@@ -114,7 +115,7 @@ chart_js:
114
115
  other_name: Chart.js
115
116
  typeit_js:
116
117
  name: typeit
117
- file: index.umd.min.js
118
+ file: dist/index.umd.min.js
118
119
  version: 8.8.7
119
120
  other_name: typeit
120
121
  blueimp_md5:
@@ -135,16 +135,14 @@
135
135
  padding 0.2em 0.2em 0.2em 1.4em
136
136
 
137
137
  &:before
138
- margin 0
139
- top .9em
140
- width .2em
141
- height .2em
142
- border-radius 50%
138
+ top .78em
139
+ width .42em
140
+ height .42em
141
+ border-radius .42em
143
142
  background 0 0
143
+ border .21em solid var(--efu-lighttext)
144
144
  content ""
145
- line-height .2em
146
- border 0.21em solid var(--efu-lighttext)
147
- background var(--efu-lighttext)
145
+ line-height .42em
148
146
 
149
147
  ol
150
148
  > li:before
@@ -34,7 +34,6 @@
34
34
  transform translateY(20px)
35
35
  transition .3s
36
36
  max-width 1400px
37
- min-width 1000px
38
37
 
39
38
  +maxWidth1300()
40
39
  justify-content center
@@ -58,7 +57,7 @@
58
57
  width 40%
59
58
  height 100%
60
59
 
61
- +maxWidth1300()
60
+ +maxWidth900()
62
61
  display none
63
62
 
64
63
  .console-card-group-right
@@ -69,8 +68,8 @@
69
68
  width 60%
70
69
  overflow hidden
71
70
 
72
- +maxWidth1300()
73
- display none
71
+ +maxWidth900()
72
+ width 100%
74
73
 
75
74
  .console-card
76
75
  background var(--efu-maskbg)
@@ -134,8 +133,8 @@
134
133
  width fit-content
135
134
 
136
135
  .console-btn-item
137
- width 60px
138
- height 60px
136
+ width 80px
137
+ height 40px
139
138
  transition .3s
140
139
  cursor pointer
141
140
 
@@ -162,7 +161,8 @@
162
161
  align-items center
163
162
  justify-content center
164
163
  color var(--efu-fontcolor)
165
- transition all .3s
164
+ transition .3s
165
+ box-shadow var(--efu-shadow-border)
166
166
 
167
167
  i
168
168
  font-size 1rem
@@ -254,7 +254,7 @@
254
254
  gap .5rem
255
255
 
256
256
  li.card-archive-list-item
257
- flex 0 1 24.101%
257
+ flex 0 1 calc(25% - .375rem)
258
258
 
259
259
  .card-archive-list-link
260
260
  border-radius 8px
@@ -164,7 +164,6 @@
164
164
  margin-left 8px
165
165
 
166
166
  /#footer-bar
167
- padding 1rem
168
167
  color var(--efu-fontcolor)
169
168
  margin-top 1rem
170
169
  background var(--efu-secondbg)
@@ -183,31 +182,70 @@
183
182
  flex-wrap wrap
184
183
  align-items center
185
184
  line-height 1
185
+ padding 1rem 1.5rem
186
+ +maxWidth768()
187
+ justify-content center
188
+ gap 8px
186
189
 
187
190
  .footer-bar-left
188
191
  display flex
189
- flex-wrap wrap
190
- min-height 32px
191
- align-items center
192
+ gap 8px
193
+ flex-direction column
194
+ +maxWidth768()
195
+ align-items center
192
196
 
193
197
  .copyright
194
198
  display flex
195
199
  flex-direction row
196
200
  align-items center
197
- padding 0 8px
198
- margin 0 4px
199
201
 
200
202
  .footer-bar-link
201
203
  margin 0
204
+ .beian-group
205
+ display flex
206
+ gap 8px
207
+ flex-wrap wrap
208
+ +maxWidth768()
209
+ justify-content center
210
+
211
+ a:hover
212
+ background 0 0
213
+ color var(--efu-main)
214
+
215
+ .beian-icon
216
+ height 14px
217
+ min-width 13px
218
+ min-height 14px
219
+
220
+ .footer-bar-link
221
+ font-size 12px
222
+ font-weight 400
223
+ color var(--efu-secondtext)
224
+ padding 0
225
+ margin 0
226
+ display flex
227
+ align-items center
228
+ gap 4px
229
+
202
230
 
203
231
  .footer-bar-link
204
232
  margin 0 4px
205
233
  color var(--efu-fontcolor)
206
234
  font-size .8rem
207
- padding 8px
208
- border-radius 12px
209
235
  font-weight 700
210
236
  white-space nowrap
237
+ padding 8px
238
+ border-radius 32px
239
+ line-height 1
240
+ display flex
241
+ align-items center
242
+ gap 4px
243
+
244
+ .author-avatar
245
+ width 20px
246
+ border-radius 20px
247
+ min-height 20px
248
+ min-width 20px
211
249
 
212
250
  &.cc
213
251
  margin-right 0
@@ -279,6 +279,10 @@
279
279
  opacity 1
280
280
  transition .3s
281
281
  line-height 1
282
+ width 70%
283
+ overflow hidden
284
+ text-overflow ellipsis
285
+ white-space nowrap
282
286
 
283
287
  &:hover
284
288
  &:after
@@ -6,6 +6,11 @@ if hexo-config('rightside.enable')
6
6
  z-index: 1000
7
7
  opacity: 0
8
8
  transition: all .5s
9
+ &.needEndHide
10
+ display block!important
11
+ &.hide.needEndHide
12
+ bottom 0!important
13
+ transform: none !important
9
14
 
10
15
  button
11
16
  display: block
@@ -91,7 +91,6 @@
91
91
  transition .3s
92
92
  position relative
93
93
  box-shadow var(--efu-shadow-border)
94
- min-width fit-content
95
94
 
96
95
  +maxWidth1200()
97
96
  width 200px
@@ -5,6 +5,10 @@ div.console_recentcomments
5
5
  min-height 100px
6
6
  width 100%
7
7
 
8
+ +maxWidth1300()
9
+ overflow-y scroll
10
+ scrollbar-width none
11
+
8
12
  .comment-card
9
13
  position relative
10
14
  width calc(100% / 3 - 8px)
@@ -22,8 +26,9 @@ div.console_recentcomments
22
26
  .console-card &
23
27
  width calc(100% / 2 - 8px)
24
28
 
25
- +maxWidth900()
26
- width calc(100% / 2 - 6px)
29
+ +maxWidth1300()
30
+ min-width 100%
31
+ height calc(100% / 3 - 8px)
27
32
 
28
33
  +maxWidth768()
29
34
  width 100%