hexo-theme-solitude 1.11.3 → 1.12.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.
Files changed (73) hide show
  1. package/.github/logo.svg +18 -42
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +7 -19
  4. package/README_en-US.md +16 -26
  5. package/README_zh-Hant.md +15 -25
  6. package/SECURITY.md +1 -1
  7. package/_config.yml +52 -37
  8. package/languages/default.yml +15 -0
  9. package/languages/en.yml +15 -1
  10. package/languages/zh-CN.yml +14 -0
  11. package/languages/zh-TW.yml +14 -0
  12. package/layout/includes/body/mode.pug +3 -3
  13. package/layout/includes/console.pug +4 -3
  14. package/layout/includes/inject/body.pug +2 -3
  15. package/layout/includes/inject/head.pug +3 -2
  16. package/layout/includes/widgets/aside/asideNewstComments.pug +9 -0
  17. package/layout/includes/widgets/aside/asideSwitch.pug +2 -0
  18. package/layout/includes/widgets/home/carousel.pug +18 -1
  19. package/layout/includes/widgets/home/postList.pug +4 -3
  20. package/layout/includes/widgets/post/copyright.pug +46 -0
  21. package/layout/includes/widgets/post/postMeta.pug +1 -1
  22. package/layout/includes/widgets/post/postNav.pug +4 -4
  23. package/layout/includes/widgets/third-party/comments/comment.pug +3 -1
  24. package/layout/includes/widgets/third-party/comments/giscus.pug +60 -0
  25. package/layout/includes/widgets/third-party/comments/js.pug +3 -1
  26. package/layout/includes/widgets/third-party/news-comment/artalk.pug +10 -12
  27. package/layout/includes/widgets/third-party/news-comment/newest-comment.pug +6 -5
  28. package/layout/includes/widgets/third-party/news-comment/twikoo.pug +10 -9
  29. package/layout/includes/widgets/third-party/news-comment/valine.pug +9 -7
  30. package/layout/includes/widgets/third-party/news-comment/waline.pug +9 -7
  31. package/layout/post.pug +0 -22
  32. package/package.json +3 -3
  33. package/plugins.yml +6 -1
  34. package/scripts/event/merge_config.js +17 -16
  35. package/scripts/event/welcome.js +1 -1
  36. package/scripts/filter/default.js +2 -2
  37. package/scripts/filter/post_image.js +13 -0
  38. package/scripts/helper/page.js +6 -2
  39. package/source/css/_highlight/color.styl +69 -131
  40. package/source/css/_highlight/highlight/diff.styl +34 -62
  41. package/source/css/_highlight/index.styl +1 -1
  42. package/source/css/_highlight/prismjs/diff.styl +60 -59
  43. package/source/css/_layout/article-container.styl +1 -5
  44. package/source/css/_layout/aside.styl +52 -5
  45. package/source/css/_layout/console.styl +3 -78
  46. package/source/css/_page/_home/carousel.styl +2 -0
  47. package/source/css/_page/message.styl +2 -1
  48. package/source/css/_page/music.styl +8 -1
  49. package/source/css/_page/other.styl +1 -0
  50. package/source/css/_post/commentBarrage.styl +2 -11
  51. package/source/css/_post/copyright.styl +129 -2
  52. package/source/css/_post/meta.styl +4 -44
  53. package/source/css/_post/pagination.styl +13 -0
  54. package/source/css/_post/postAI.styl +2 -3
  55. package/source/css/_post/relatedPost.styl +115 -129
  56. package/source/css/_post/tools.styl +168 -271
  57. package/source/css/third_party/snackbar.min.css +1 -1
  58. package/source/img/404.avif +0 -0
  59. package/source/img/avatar.avif +0 -0
  60. package/source/img/default.avif +0 -0
  61. package/source/img/error_load.avif +0 -0
  62. package/source/img/happy-sticker.avif +0 -0
  63. package/source/img/loading.avif +0 -0
  64. package/source/img/recent_c.avif +0 -0
  65. package/source/js/main.js +98 -277
  66. package/source/js/music.js +1 -0
  67. package/source/js/right_menu.js +163 -136
  68. package/source/img/404.webp +0 -0
  69. package/source/img/avatar.png +0 -0
  70. package/source/img/default.png +0 -0
  71. package/source/img/error_load.webp +0 -0
  72. package/source/img/happy-sticker.png +0 -0
  73. package/source/img/loading.gif +0 -0
@@ -1,44 +1,44 @@
1
1
  #post
2
2
  .post-tools
3
- display flex
4
- width 100%
5
- justify-content center
6
- margin-top 8px
7
- flex-wrap wrap
8
- user-select none
3
+ display: flex
4
+ width: 100%
5
+ justify-content: center
6
+ margin-top: 8px
7
+ flex-wrap: wrap
8
+ user-select: none
9
9
 
10
10
  .post-tools-left
11
- white-space nowrap
12
- display flex
13
- text-overflow ellipsis
14
- justify-content center
15
- flex-wrap wrap
11
+ white-space: nowrap
12
+ display: flex
13
+ text-overflow: ellipsis
14
+ justify-content: center
15
+ flex-wrap: wrap
16
16
 
17
17
  #quit-box
18
- position fixed
19
- width 100vw
20
- height 100vh
21
- background rgba(0, 0, 0, .2)
22
- top 0
23
- left 0
24
- opacity .01
25
- display none
26
- z-index 101
27
- margin 0
18
+ position: fixed
19
+ width: 100vw
20
+ height: 100vh
21
+ background: rgba(0, 0, 0, .2)
22
+ top: 0
23
+ left: 0
24
+ opacity: .01
25
+ display: none
26
+ z-index: 101
27
+ margin: 0
28
28
 
29
29
  +maxWidth768()
30
- height calc(100vh - 380px)
30
+ height: calc(100vh - 380px)
31
31
 
32
32
  // reward
33
33
  /.post-reward
34
- position relative
35
- text-align center
36
- display flex
37
- justify-content center
34
+ position: relative
35
+ text-align: center
36
+ display: flex
37
+ justify-content: center
38
38
 
39
39
  &:hover
40
40
  > .reward-main
41
- display block
41
+ display: block
42
42
 
43
43
  +minWidth768()
44
44
  > .reward-main
@@ -46,48 +46,48 @@
46
46
  justify-content: left
47
47
 
48
48
  .reward-button
49
- color var(--efu-white)
50
- background var(--efu-theme)
51
- box-shadow none
49
+ color: var(--efu-white)
50
+ background: var(--efu-theme)
51
+ box-shadow: none
52
52
 
53
53
  .reward-button
54
- background var(--efu-red)
55
- color var(--efu-white)
56
- padding 0 16px
57
- height 40px
58
- border-radius 8px
59
- line-height 39px
60
- box-shadow var(--efu-shadow-red)
61
- display inline-block
62
- cursor pointer
63
- transition all .4s ease 0s
54
+ background: var(--efu-red)
55
+ color: var(--efu-white)
56
+ padding: 0 16px
57
+ height: 40px
58
+ border-radius: 8px
59
+ line-height: 39px
60
+ box-shadow: var(--efu-shadow-red)
61
+ display: inline-block
62
+ cursor: pointer
63
+ transition: all .4s ease 0s
64
64
 
65
65
  i
66
- margin-right 4px
66
+ margin-right: 4px
67
67
 
68
68
  &:hover
69
- background-color var(--efu-theme)
69
+ background-color: var(--efu-theme)
70
70
 
71
71
  .reward-main
72
- animation .3s ease .1s 1 normal both running donate_effcet
73
- position absolute
74
- bottom 40px
75
- left -96px
76
- z-index 100
77
- display none
78
- padding 0 0 15px
79
- width fit-content
72
+ animation: .3s ease .1s 1 normal both running donate_effcet
73
+ position: absolute
74
+ bottom: 40px
75
+ left: -96px
76
+ z-index: 100
77
+ display: none
78
+ padding: 0 0 15px
79
+ width: fit-content
80
80
 
81
81
  +maxWidth768()
82
- justify-content center !important
83
- position fixed
84
- bottom 0
85
- left 0
86
- right 0
87
- z-index 1003
88
- width 100%
89
- margin auto
90
- padding 0
82
+ justify-content: center !important
83
+ position: fixed
84
+ bottom: 0
85
+ left: 0
86
+ right: 0
87
+ z-index: 1003
88
+ width: 100%
89
+ margin: auto
90
+ padding: 0
91
91
 
92
92
  .reward-all
93
93
  margin: 0
@@ -101,263 +101,160 @@
101
101
  align-items: center
102
102
 
103
103
  +maxWidth768()
104
- width 100%
105
- display flex
106
- flex-wrap wrap
107
- justify-content space-around
108
- padding 30px 10px 60px
109
- border-radius 12px 12px 0 0
104
+ width: 100%
105
+ display: flex
106
+ flex-wrap: wrap
107
+ justify-content: space-around
108
+ padding: 30px 10px 60px
109
+ border-radius: 12px 12px 0 0
110
110
 
111
111
  &::before
112
- position absolute
113
- bottom -10px
114
- left 0
115
- width 100%
116
- height 20px
117
- content ""
112
+ position: absolute
113
+ bottom: -10px
114
+ left: 0
115
+ width: 100%
116
+ height: 20px
117
+ content: ""
118
118
 
119
119
  .reward-title
120
- font-weight 700
121
- color var(--efu-red)
122
- text-wrap wrap
120
+ font-weight: 700
121
+ color: var(--efu-red)
122
+ text-wrap: wrap
123
123
 
124
124
  .reward-group
125
- display flex
126
- margin-top .5rem
125
+ display: flex
126
+ margin-top: .5rem
127
127
 
128
128
  .reward-item
129
- display inline-block
130
- padding 0 8px
131
- list-style-type none
132
- vertical-align top
129
+ display: inline-block
130
+ padding: 0 8px
131
+ list-style-type: none
132
+ vertical-align: top
133
133
 
134
134
  img
135
- width 130px
136
- height 130px
135
+ width: 130px
136
+ height: 130px
137
137
 
138
138
  .post-qr-code-desc
139
- padding-top .4rem
140
- width 130px
141
- color var(--efu-gray)
142
- margin-top -8px
143
- margin-bottom 8px
139
+ padding-top: .4rem
140
+ width: 130px
141
+ color: var(--efu-gray)
142
+ margin-top: -8px
143
+ margin-bottom: 8px
144
144
 
145
145
  .post-qr-code-img
146
- box-shadow var(--efu-shadow-lightblack)
147
- border-radius 12px
148
- border var(--style-border-always)
146
+ box-shadow: var(--efu-shadow-lightblack)
147
+ border-radius: 12px
148
+ border: var(--style-border-always)
149
149
 
150
150
  .reward-main-btn
151
- background var(--efu-secondbg)
152
- color var(--efu-fontcolor)
153
- display flex
154
- flex-direction column
155
- border-radius 12px
156
- padding 4px 0
157
- border var(--style-border-always)
158
- width 100%
151
+ background: var(--efu-secondbg)
152
+ color: var(--efu-fontcolor)
153
+ display: flex
154
+ flex-direction: column
155
+ border-radius: 12px
156
+ padding: 4px 0
157
+ border: var(--style-border-always)
158
+ width: 100%
159
159
 
160
160
  &:hover
161
- color var(--efu-white)
162
- background var(--efu-red)
163
- background-image url(/img/flower.gif)
164
- box-shadow var(--efu-shadow-red)
161
+ color: var(--efu-white)
162
+ background: var(--efu-red)
163
+ background-image: url(/img/flower.gif)
164
+ box-shadow: var(--efu-shadow-red)
165
165
 
166
166
  .reward-text
167
- margin-bottom 0
168
- font-weight 700
167
+ margin-bottom: 0
168
+ font-weight: 700
169
169
 
170
170
  .reward-dec
171
- font-size .6rem
172
- text-wrap wrap
171
+ font-size: .6rem
172
+ text-wrap: wrap
173
173
 
174
174
  // rss
175
175
 
176
176
  .reward-link.mode
177
- background var(--efu-green)
178
- color var(--efu-white)
179
- padding 0 16px
180
- height 40px
181
- line-height 39px
182
- box-shadow var(--efu-shadow-green)
183
- border-radius 8px
184
- margin-left .5rem
185
- cursor pointer
186
- text-align center
187
- transition .3s
177
+ background: var(--efu-green)
178
+ color: var(--efu-white)
179
+ padding: 0 16px
180
+ height: 40px
181
+ line-height: 39px
182
+ box-shadow: var(--efu-shadow-green)
183
+ border-radius: 8px
184
+ margin-left: .5rem
185
+ cursor: pointer
186
+ text-align: center
187
+ transition: .3s
188
188
 
189
189
  a
190
- color var(--efu-white)
190
+ color: var(--efu-white)
191
191
 
192
192
  i
193
- margin-right 4px
193
+ margin-right: 4px
194
194
 
195
195
  &:hover
196
- background var(--efu-theme)
197
- box-shadow none
196
+ background: var(--efu-theme)
197
+ box-shadow: none
198
198
 
199
199
 
200
200
  .post-tools-right
201
- padding-right 0
202
- display flex
203
- align-items center
204
- flex-direction row
205
- justify-content space-between
206
- flex-wrap wrap
201
+ padding-right: 0
202
+ display: flex
203
+ align-items: center
204
+ flex-direction: row
205
+ justify-content: space-between
206
+ flex-wrap: wrap
207
207
 
208
208
  .tag_share
209
209
  .post-meta__tag-list
210
- display flex
211
- padding 0
212
- width 100%
213
- flex-wrap wrap
214
- flex-direction row
210
+ display: flex
211
+ padding: 0
212
+ width: 100%
213
+ flex-wrap: wrap
214
+ flex-direction: row
215
215
 
216
216
  a
217
- margin-bottom 8px
218
- margin-right 8px
217
+ margin-bottom: 8px
218
+ margin-right: 8px
219
219
 
220
220
  .post-meta__tags
221
- background var(--efu-card-bg)
222
- border var(--style-border-always)
223
- color var(--efu-fontcolor)
224
- border-radius 8px
225
- display flex
226
- align-items center
227
- white-space nowrap
228
- height 40px
229
- padding 0 .6rem
230
- width fit-content
231
- font-size .85em
232
- transition all .2s ease-in-out 0s
221
+ background: var(--efu-card-bg)
222
+ border: var(--style-border-always)
223
+ color: var(--efu-fontcolor)
224
+ border-radius: 8px
225
+ display: flex
226
+ align-items: center
227
+ white-space: nowrap
228
+ height: 40px
229
+ padding: 0 .6rem
230
+ width: fit-content
231
+ font-size: .85em
232
+ transition: all .2s ease-in-out 0s
233
233
 
234
234
  &:hover
235
- background var(--efu-lighttext)
236
- box-shadow var(--efu-shadow-main)
237
- color var(--efu-white)
235
+ background: var(--efu-lighttext)
236
+ box-shadow: var(--efu-shadow-main)
237
+ color: var(--efu-white)
238
+
239
+ span.tagsPageCount
240
+ color: var(--efu-lighttext)
241
+ background: var(--efu-maskbgdeep)
242
+ transition: all .2s ease-in-out 0s
238
243
 
239
244
  span.tags-punctuation
240
- font-size 12px
241
- margin-right 1px
242
- display flex
243
- align-items center
245
+ font-size: 12px
246
+ margin-right: 1px
247
+ display: flex
248
+ align-items: center
244
249
 
245
250
  .tagsPageCount, / #tag-page-tags .tagsPageCount
246
- padding 2px
247
- background var(--efu-card-bg)
248
- border var(--style-border-always)
249
- min-width 22.5px
250
- display inline-block
251
- border-radius 4px
252
- text-align center
253
- font-size .6rem
254
- color var(--efu-fontcolor)
255
- margin-left 4px
256
- if hexo-config('post.share.enable')
257
- /.social-share *
258
- font-family solitude
259
- /.social-share
260
- display: flex;
261
- justify-content: center;
262
- margin 10px 0
263
-
264
- +maxWidth768()
265
- flex-wrap wrap
266
-
267
- .social-share-ico
268
- margin: 0 4px
269
- width: 1.85em
270
- height: 1.85em
271
- font-size: 1.2em
272
- line-height: 1.85em
273
- border 1px solid
274
- position: relative
275
- display: inline-block;
276
- border-radius 50%
277
- text-align: center;
278
- vertical-align: middle;
279
- transition: background 0.6s ease-out 0s;
280
- cursor pointer
281
-
282
- &:hover
283
- transition all .3s
284
- color var(--efu-white)
285
-
286
- .icon-qq
287
- color #56b6e7
288
- border-color #56b6e7
289
-
290
- &:hover
291
- background-color #56b6e7
292
-
293
- &::before
294
- content "\e0d0"
295
-
296
- .icon-wechat
297
- color #57bd6a
298
- border-color #57bd6a
299
-
300
- &::before
301
- content "\e0d2"
302
-
303
- &:hover
304
- background-color #57bd6a
305
-
306
- .icon-weibo
307
- color #d44040
308
- border-color #d44040
309
-
310
- &::before
311
- content "\e0e3"
312
-
313
- &:hover
314
- background-color #d44040
315
-
316
- .icon-facebook
317
- color #415dc9
318
- border-color #415dc9
319
-
320
- &::before
321
- content "\e0e6"
322
-
323
- &:hover
324
- background-color #415dc9
325
-
326
- .icon-twitter
327
- color #56b6e7
328
- border-color #56b6e7
329
-
330
- &::before
331
- content "\e0c1"
332
-
333
- &:hover
334
- background-color #56b6e7
335
-
336
- .icon-telegram
337
- color #56b6e7
338
- border-color #56b6e7
339
-
340
- &::before
341
- content "\e062"
342
-
343
- &:hover
344
- background-color #56b6e7
345
-
346
- .icon-linkedin
347
- color #0077b5
348
- border-color #0077b5
349
-
350
- &::before
351
- content "\e0ed"
352
-
353
- &:hover
354
- background-color #0077b5
355
- .icon-whatsapp
356
- color #25d366
357
- border-color #25d366
358
-
359
- &::before
360
- content "\e0f0"
361
-
362
- &:hover
363
- background-color #25d366
251
+ padding: 2px
252
+ background: var(--efu-fontcolor)
253
+ border: var(--style-border-always)
254
+ min-width: 22.5px
255
+ display: inline-block
256
+ border-radius: 4px
257
+ text-align: center
258
+ font-size: .6rem
259
+ color: var(--efu-card-bg)
260
+ margin-left: 4px
@@ -1 +1 @@
1
- @keyframes snackbar-progress{0%{width:0}to{width:100%}}.snackbar-container{transition:all .5s ease;font-family:Roboto,sans-serif;font-size:14px;position:fixed;align-items:center;line-height:22px;padding:18px 24px;bottom:-100px;top:-100px;opacity:0;z-index:9999;background:var(--efu-lighttext)!important;color:var(--efu-card-bg);border-radius:0;display:flex;justify-content:center;max-width:none;min-width:100%!important;margin:0!important;left:0!important;height:60px;transform:none!important}.snackbar-container p{color:var(--efu-card-bg)!important;font-weight:700!important;text-align:center;font-size:.8rem!important;display:flex;justify-content:center}.snackbar-container .action{display:inline-block;font-size:inherit;margin:0 0 0 24px;min-width:min-content;cursor:pointer;color:var(--efu-card-bg) !important;background:var(--efu-lighttext);padding:4px 6px;font-weight:700;border-radius:8px;transition:.3s;border:var(--style-border)}.snackbar-container .action:hover{background:var(--efu-card-bg);color:var(--efu-lighttext) !important}.snackbar-container:after{position:absolute;width:0;height:100%;left:0;top:0;background:var(--efu-white);opacity:.1;content:"";animation:snackbar-progress var(--efu-snackbar-time) linear forwards;pointer-events:none}@media (min-width:640px){.snackbar-container{min-width:288px;max-width:568px;display:inline-flex;border-radius:2px;margin:24px}}@media (max-width:640px){.snackbar-container{left:0;right:0;width:100%}}.snackbar-pos.bottom-center{top:auto!important;bottom:0;left:50%;transform:translate(-50%,0)}.snackbar-pos.bottom-left{top:auto!important;bottom:0;left:0}.snackbar-pos.bottom-right{top:auto!important;bottom:0;right:0}.snackbar-pos.top-center,.snackbar-pos.top-left{bottom:auto!important;top:0;left:0}.snackbar-pos.top-center{left:50%;transform:translate(-50%,0)}.snackbar-pos.top-right{bottom:auto!important;top:0;right:0}@media (max-width:640px){.snackbar-pos.bottom-center,.snackbar-pos.top-center{left:0;transform:none}}
1
+ @keyframes snackbar-progress{0%{width:0}to{width:100%}}.snackbar-container{transition:.5s;font-size:14px;position:fixed;align-items:center;line-height:22px;padding:18px 24px;bottom:-100px;top:-100px;opacity:0;z-index:9999;background:var(--efu-lighttext)!important;color:var(--efu-card-bg);border-radius:0;display:flex;justify-content:center;max-width:none;min-width:100%;margin:0;left:0;height:60px;transform:none}.snackbar-container p{color:var(--efu-card-bg)!important;font-weight:700!important;text-align:center;font-size:.8rem!important;display:flex;justify-content:center}.snackbar-container .action{display:inline-block;font-size:inherit;margin:0 0 0 24px;min-width:min-content;cursor:pointer;color:var(--efu-card-bg)!important;background:var(--efu-lighttext)!important;padding:4px 6px;font-weight:700;border-radius:8px;transition:.3s;border:var(--style-border)}.snackbar-container .action:hover{background:var(--efu-card-bg)!important;color:var(--efu-lighttext)!important}.snackbar-container:after{position:absolute;width:0;height:100%;left:0;top:0;background:var(--efu-white);opacity:.1;content:"";animation:snackbar-progress var(--efu-snackbar-time) linear forwards;pointer-events:none}.snackbar-pos.top-center,.snackbar-pos.top-left{bottom:auto;top:0;left:0}.snackbar-pos.top-right{bottom:auto;top:0;right:0}
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file