hexo-theme-solitude 1.4.1 → 1.4.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.
Files changed (68) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +1 -1
  3. package/README_EN.md +1 -1
  4. package/_config.yml +68 -3
  5. package/languages/en-US.yml +32 -2
  6. package/languages/zh-CN.yml +33 -2
  7. package/languages/zh-TW.yml +147 -0
  8. package/layout/includes/console.pug +4 -0
  9. package/layout/includes/footer.pug +1 -1
  10. package/layout/includes/head/config.pug +16 -3
  11. package/layout/includes/inject/body.pug +18 -9
  12. package/layout/includes/keyboard.pug +65 -0
  13. package/layout/includes/layout.pug +8 -0
  14. package/layout/includes/page/album.pug +39 -0
  15. package/layout/includes/page/gallery.pug +11 -0
  16. package/layout/includes/page/links.pug +2 -0
  17. package/layout/includes/page/moment.pug +28 -0
  18. package/layout/includes/page/music.pug +1 -4
  19. package/layout/includes/page/says.pug +1 -3
  20. package/layout/includes/widgets/home/bb/json.pug +2 -1
  21. package/layout/includes/widgets/home/bb/local.pug +2 -3
  22. package/layout/includes/widgets/home/bb/memos.pug +2 -1
  23. package/layout/includes/widgets/page/about/authorinfo.pug +1 -1
  24. package/layout/includes/widgets/page/about/hobbies.pug +2 -2
  25. package/layout/includes/widgets/page/about/motto.pug +17 -15
  26. package/layout/includes/widgets/page/about/skillsinfo.pug +38 -36
  27. package/layout/includes/widgets/page/about/tenyear.pug +1 -1
  28. package/layout/includes/widgets/page/moments/angle.pug +19 -0
  29. package/layout/includes/widgets/page/says/json.pug +3 -3
  30. package/layout/includes/widgets/page/says/local.pug +2 -2
  31. package/layout/includes/widgets/rightside/index.pug +33 -22
  32. package/layout/includes/widgets/third-party/search/algolia-search.pug +20 -15
  33. package/layout/includes/widgets/third-party/search/local-search.pug +3 -0
  34. package/layout/page.pug +6 -0
  35. package/package.json +1 -1
  36. package/plugins.yml +12 -4
  37. package/scripts/event/cdn.js +5 -0
  38. package/scripts/event/init.js +18 -19
  39. package/scripts/event/page.js +0 -5
  40. package/scripts/filter/checkThemeConfig.js +23 -7
  41. package/scripts/helper/related_post.js +0 -6
  42. package/scripts/helper/stylus.js +8 -3
  43. package/source/css/_global/index.styl +1 -5
  44. package/source/css/_layout/basic.styl +0 -1
  45. package/source/css/_layout/index.styl +54 -34
  46. package/source/css/_mode/index.styl +6 -1
  47. package/source/css/_page/about/index.styl +26 -16
  48. package/source/css/_page/gallery/index.styl +99 -0
  49. package/source/css/_page/index.styl +5 -1
  50. package/source/css/_page/moment.styl +4 -2
  51. package/source/css/_widgets/_comment/twikoo.styl +21 -18
  52. package/source/css/_widgets/_mixins/keyboard.styl +59 -0
  53. package/source/css/_widgets/_search/algolia-search.styl +37 -16
  54. package/source/css/_widgets/_search/local-search.styl +18 -2
  55. package/source/css/_widgets/_tags/link.styl +1 -1
  56. package/source/css/_widgets/index.styl +4 -0
  57. package/source/css/index.styl +0 -1
  58. package/source/js/covercolor/api.js +10 -6
  59. package/source/js/covercolor/local.js +88 -13
  60. package/source/js/main.js +15 -1
  61. package/source/js/rightside.js +159 -342
  62. package/source/js/search/algolia.js +4 -2
  63. package/source/js/search/local.js +3 -1
  64. package/source/js/tw_cn.js +76 -0
  65. package/source/js/utils.js +1 -1
  66. package/layout/includes/page/not_configured.pug +0 -18
  67. package/scripts/helper/cdn.js +0 -12
  68. package/source/img/avatar.png +0 -0
@@ -1,9 +1,3 @@
1
- /**
2
- * Solitude
3
- * Related Posts
4
- * According the tag
5
- */
6
-
7
1
  'use strict'
8
2
 
9
3
  hexo.extend.helper.register('related_posts', function (currentPost, allPosts) {
@@ -1,13 +1,12 @@
1
1
  hexo.extend.filter.register('stylus:renderer', function (style) {
2
2
  const {config, theme} = this
3
+ const data = hexo.locals.get('data');
3
4
 
4
- // 侧边栏标签高亮
5
5
  if (theme.config.aside.tags.highlight) {
6
6
  let array = theme.config.aside.tags.list.map(item => encodeURIComponent(item));
7
7
  style.define('highlightTags', array);
8
8
  }
9
9
 
10
- // 侧边栏加载样式控制
11
10
  let aside = [
12
11
  theme.config.aside.home.noSticky,
13
12
  theme.config.aside.home.Sticky,
@@ -17,7 +16,13 @@ hexo.extend.filter.register('stylus:renderer', function (style) {
17
16
  theme.config.aside.page.noSticky
18
17
  ].join(',').split(',');
19
18
  let uniqueArr = [...new Set(aside)]; // 去重
20
- if (uniqueArr.length > 0) { // 是否为空
19
+ if (uniqueArr.length > 0) {
21
20
  style.define('aside', uniqueArr);
22
21
  }
22
+
23
+ if (data && data.about) {
24
+ style.define('about', Object.keys(data.about));
25
+ } else {
26
+ style.define('about', []);
27
+ }
23
28
  });
@@ -54,8 +54,4 @@
54
54
  --card-box-shadow 0 3px 8px 6px rgba(7, 17, 27, 0.06)
55
55
  --card-hover-box-shadow 0 3px 8px 6px rgba(7, 17, 27, 0.15)
56
56
  --offset 0px
57
- --hlscrollbar-bg #121212
58
-
59
- +maxWidth768()
60
- --style-border 0px solid var(--sco-none)
61
- --style-border-hover 0px solid var(--sco-main)
57
+ --hlscrollbar-bg #121212
@@ -192,7 +192,6 @@ button
192
192
 
193
193
  img
194
194
  border-style none
195
- border-radius 8px
196
195
  max-width 100%
197
196
  transition all .2s ease 0s
198
197
  -webkit-user-drag none
@@ -54,40 +54,41 @@ span.tags-punctuation::before
54
54
  line-height 32px
55
55
 
56
56
  // snackbar
57
- .snackbar-container
58
- background var(--sco-lighttext)!important
59
- color var(--sco-card-bg)!important
60
- border-radius 0!important
57
+ .snackbar-container
58
+ background var(--sco-lighttext) !important
59
+ color var(--sco-card-bg) !important
60
+ border-radius 0 !important
61
61
  display flex
62
- justify-content center!important
63
- max-width none!important
64
- min-width 100%!important
65
- margin 0!important
66
- left 0!important
67
- height 60px!important
68
- transform none!important
69
-
70
- .snackbar-container p
71
- color var(--sco-card-bg)!important
72
- font-weight 700!important
73
- text-align center!important
74
- font-size .8rem!important
75
- display flex!important
76
- justify-content center!important
77
-
78
- .snackbar-container .action
79
- color var(--sco-card-bg)!important
80
- background var(--sco-lighttext)!important
81
- padding 4px 6px!important
62
+ justify-content center !important
63
+ max-width none !important
64
+ min-width 100% !important
65
+ margin 0 !important
66
+ left 0 !important
67
+ height 60px !important
68
+ transform none !important
69
+
70
+ .snackbar-container p
71
+ color var(--sco-card-bg) !important
72
+ font-weight 700 !important
73
+ text-align center !important
74
+ font-size .8rem !important
75
+ display flex !important
76
+ justify-content center !important
77
+
78
+ .snackbar-container .action
79
+ color var(--sco-card-bg) !important
80
+ background var(--sco-lighttext) !important
81
+ padding 4px 6px !important
82
82
  font-weight 700
83
- border-radius 8px!important
83
+ border-radius 8px !important
84
84
  transition .3s
85
- border var(--style-border)!important
86
- .snackbar-container .action:hover
87
- color var(--sco-lighttext)!important
88
- background var(--sco-card-bg)!important
85
+ border var(--style-border) !important
86
+
87
+ .snackbar-container .action:hover
88
+ color var(--sco-lighttext) !important
89
+ background var(--sco-card-bg) !important
89
90
 
90
- .snackbar-container::after
91
+ .snackbar-container::after
91
92
  position absolute
92
93
  width 0
93
94
  height 100%
@@ -99,8 +100,27 @@ span.tags-punctuation::before
99
100
  animation snackbar-progress var(--sco-snackbar-time) linear forwards
100
101
  pointer-events none
101
102
 
102
- @keyframes snackbar-progress
103
- from
103
+ @keyframes snackbar-progress
104
+ from
104
105
  width 0
105
- to
106
- width 100%
106
+ to
107
+ width 100%
108
+
109
+ // universe
110
+ if hexo-config('display_mode.universe')
111
+ #universe
112
+ display block
113
+ position fixed
114
+ margin 0
115
+ padding 0
116
+ border 0
117
+ outline 0
118
+ left 0
119
+ top 0
120
+ width 100%
121
+ height 100%
122
+ pointer-events none
123
+ z-index 1
124
+ [data-theme=light]
125
+ #universe
126
+ display none
@@ -86,4 +86,9 @@
86
86
  --style-border-forever 2px solid var(--sco-main)
87
87
  --sco-navbg var(--sco-theme-op)
88
88
  --sco-hl-bg $hl_bg_light
89
- --sco-hltools-bg $hltools_bg_light
89
+ --sco-hltools-bg $hltools_bg_light
90
+
91
+ :root
92
+ +maxWidth768()
93
+ --style-border 0px solid var(--sco-none)
94
+ --style-border-hover 0px solid var(--sco-main)
@@ -10,30 +10,40 @@
10
10
  margin 1rem 0
11
11
  line-height 1
12
12
 
13
- @import "tenyear"
13
+ if "tenyear" in about
14
+ @import "tenyear"
14
15
 
15
- @import "author"
16
+ if "authorinfo" in about
17
+ @import "author"
16
18
 
17
- @import "contentinfo"
19
+ if "contentinfo" in about
20
+ @import "contentinfo"
18
21
 
19
- @import "skills"
22
+ if "skills" in about
23
+ @import "skills"
20
24
 
21
- @import "oneself"
25
+ if "oneself" in about
26
+ @import "oneself"
22
27
 
23
- @import "buff"
28
+ if "motto" in about
29
+ @import "buff"
30
+ @import "maxim"
24
31
 
25
- @import "game"
32
+ if "game1" in about
33
+ @import "game"
26
34
 
27
- @import "personalities"
35
+ if "personalities" in about
36
+ @import "personalities"
37
+ @import "myphoto"
28
38
 
29
- @import "myphoto"
39
+ if "careers" in about
40
+ @import "careers"
30
41
 
31
- @import "careers"
42
+ if "likes" in about
43
+ @import "like"
32
44
 
33
- @import "like"
45
+ if "tj" in about
46
+ @import "statistic"
34
47
 
35
- @import "maxim"
36
-
37
- @import "statistic"
38
-
39
- @import "reward"
48
+ if "award" in about
49
+ @import "reward"
@@ -0,0 +1,99 @@
1
+ #gallery
2
+ padding 16px 0
3
+ display flex
4
+ flex-wrap wrap
5
+ -webkit-box-pack start
6
+ justify-content flex-start
7
+ margin -8px
8
+ -webkit-box-align stretch
9
+ align-items stretch
10
+
11
+ .gallery-item
12
+ overflow hidden
13
+ border var(--style-border-always)
14
+ border-radius 12px
15
+ position relative
16
+ float left
17
+ display flex
18
+ height 250px
19
+ width calc(100% / 3 - 16px)
20
+ cursor pointer
21
+ margin 8px
22
+
23
+ &:hover
24
+ .cover
25
+ filter brightness(0.5) blur(2px)
26
+ transition all .3s
27
+
28
+ .title::after
29
+ width 100%
30
+ transition all .3s
31
+
32
+ .desc
33
+ left 10%
34
+ transition left .35s
35
+ text-wrap unset
36
+
37
+ .cover
38
+ width 100%
39
+ object-fit cover
40
+ transition all 0.3s
41
+
42
+ .title
43
+ position absolute
44
+ top 10%
45
+ left 10%
46
+ font-weight 700
47
+ font-size 32px
48
+ color var(--sco-white)
49
+
50
+ &::after
51
+ top 55px
52
+ width 0
53
+ left 0
54
+ height 3px
55
+ background var(--sco-white)
56
+ content ""
57
+ border-radius 1px
58
+ position absolute
59
+ transition all .3s
60
+
61
+ .desc
62
+ position absolute
63
+ top 35%
64
+ left 100%
65
+ width 80%
66
+ color var(--sco-white)
67
+ font-size 1.1em
68
+ transition left .35s
69
+ letter-spacing 1px
70
+ text-wrap break-word
71
+
72
+ #album
73
+ margin 5px auto
74
+
75
+ .locate
76
+ display flex
77
+ position absolute
78
+ left 8px
79
+ top 8px
80
+ padding 4px 6px
81
+ border-radius 8px
82
+ background var(--sco-black-op)
83
+ font-size 12px
84
+ color var(--sco-white)
85
+ transition .3s
86
+ z-index 1
87
+ user-select none
88
+
89
+ .sco-gallery-item
90
+ margin-bottom 24px
91
+ overflow hidden
92
+ border-radius 8px
93
+ transition all .3s
94
+ border var(--style-border-always)
95
+
96
+ .sco-gallery-image
97
+ width 100%
98
+ display block
99
+ height auto
@@ -10,7 +10,8 @@
10
10
 
11
11
  @import "rss.styl"
12
12
 
13
- @import "moment.styl"
13
+ if hexo-config('moments.enable')
14
+ @import "moment.styl"
14
15
 
15
16
  if hexo-config('says.enable')
16
17
  @import "says.styl"
@@ -21,6 +22,9 @@ if hexo-config('says.enable')
21
22
 
22
23
  @import "links.styl"
23
24
 
25
+ if hexo-config('album.enable')
26
+ @import "gallery/index.styl"
27
+
24
28
  @import "about/index.styl"
25
29
 
26
30
  if hexo-config('music.enable')
@@ -150,7 +150,9 @@
150
150
  width: fit-content
151
151
 
152
152
  .cf-article .cf-img-avatar
153
- border-radius 50%
153
+ border-radius 50% !important
154
+ right -30px!important
155
+ bottom -30px!important
154
156
 
155
157
  #page
156
158
  .title-h2-a
@@ -165,7 +167,7 @@
165
167
  font-weight: 700
166
168
 
167
169
  &:hover
168
- color: var(--sco-hovertext)
170
+ color: var(--sco-main)
169
171
 
170
172
  .title-h2-a-left
171
173
  display: flex
@@ -122,15 +122,15 @@
122
122
  .el-button--primary
123
123
  border-color var(--sco-fontcolor) !important
124
124
  color var(--sco-card-bg) !important
125
- border-radius 4px !important
125
+ border-radius 12px !important
126
126
  box-shadow var(--sco-shadow-black)
127
127
  transition .3s
128
128
  width 5rem
129
129
  position absolute
130
- top -53px
130
+ top -44px
131
131
  right 0
132
132
  margin-left .5rem !important
133
- height 32px
133
+ height 34px
134
134
 
135
135
  .el-button--primary.is-disabled,
136
136
  .el-button--primary.is-disabled:active,
@@ -140,18 +140,18 @@
140
140
 
141
141
  .tk-row-actions-start
142
142
  position absolute
143
- top -100px
143
+ top -84px
144
144
  left 17px
145
145
 
146
146
  @media screen and (max-width: 768px)
147
147
  .tk-submit
148
148
  .el-button--primary
149
149
  width 5rem
150
- height 132px
151
- top -161px
150
+ height 122px
151
+ top -132px
152
152
 
153
153
  .tk-row-actions-start
154
- top -210px
154
+ top -170px
155
155
 
156
156
  .tk-comments-title
157
157
  position absolute
@@ -169,14 +169,14 @@
169
169
  margin-left 0 !important
170
170
 
171
171
  .tk-row.actions
172
- margin-bottom .5rem !important
172
+ margin-bottom 0 !important
173
173
  margin-left 0 !important
174
- margin-top .5rem !important
174
+ margin-top 0 !important
175
175
  justify-content space-around !important
176
176
 
177
177
  .tk-meta-input
178
178
  position relative !important
179
- margin-top .8rem
179
+ margin-top 8px
180
180
  width calc(100% - 5.5rem)
181
181
 
182
182
  .tk-content
@@ -224,12 +224,13 @@
224
224
 
225
225
  .tk-comments-container
226
226
  > .tk-comment
227
- margin-top 0 !important
228
- margin-bottom .5rem !important
227
+ margin-top 0!important
228
+ margin-bottom 0.5rem!important
229
229
  background var(--sco-card-bg)
230
230
  transition .3s
231
231
  border-radius 12px
232
- padding .5rem 0 0
232
+ padding 0
233
+ padding-top 0.5rem
233
234
  border none
234
235
  border-top var(--style-border-dashed)
235
236
 
@@ -283,6 +284,7 @@
283
284
  .tk-meta-input
284
285
  .el-input
285
286
  .el-input-group__prepend
287
+ box-shadow none
286
288
  border-radius 12px 0 0 12px
287
289
  -webkit-user-select none
288
290
 
@@ -302,7 +304,6 @@
302
304
  .el-input
303
305
  margin-left 0 !important
304
306
  width 100% !important
305
- margin-bottom 8px
306
307
 
307
308
  .tk-icon
308
309
  position absolute
@@ -322,6 +323,7 @@ img.tk-avatar-img
322
323
  .el-input.el-input--small.el-input-group.el-input-group--prepend
323
324
  border-radius 12px
324
325
  background var(--sco-secondbg)
326
+ border var(--style-border-always)
325
327
 
326
328
  .el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child(1):before
327
329
  content '输入QQ号会自动获取昵称和头像'
@@ -365,15 +367,16 @@ img.tk-avatar-img
365
367
  .el-input-group__append, .el-input-group__prepend
366
368
  background-color var(--sco-card-bg) !important
367
369
  color var(--sco-fontcolor) !important
368
- border-color var(--sco-card-border) !important
369
- border var(--style-border-always) !important
370
+ border 0 !important
370
371
  font-weight 700
371
372
 
372
373
  .el-input__inner
373
374
  background var(--sco-secondbg) !important
374
- border 1px solid var(--sco-card-border) !important
375
+ border 0 !important
375
376
  color var(--sco-fontcolor) !important
376
377
  padding-left 8px
378
+ height 32px
379
+ line-height 32px
377
380
  border-radius 12px
378
381
 
379
382
  .page
@@ -412,7 +415,7 @@ img.tk-avatar-img
412
415
  border-radius 8px !important
413
416
 
414
417
  .el-button:hover
415
- background var(--sco-main) !important
418
+ background var(--sco-black) !important
416
419
  color var(--sco-white) !important
417
420
 
418
421
  .el-button.tk-preview
@@ -0,0 +1,59 @@
1
+ #keyboard-tips
2
+ position fixed
3
+ top 80px
4
+ left 20px
5
+ z-index 999
6
+ background var(--sco-maskbgdeep)
7
+ border-radius 12px
8
+ border var(--style-border)
9
+ padding 20px
10
+ display flex
11
+ flex-direction column
12
+ backdrop-filter saturate(180%) blur(20px)
13
+ transform translateZ(0)
14
+ pointer-events none
15
+ box-shadow var(--sco-shadow-border)
16
+ opacity 0
17
+ transition .3s
18
+
19
+ &.show
20
+ opacity 1
21
+ transition .1s
22
+
23
+ .keyboardTitle
24
+ font-size 12px
25
+ color var(--sco-secondtext)
26
+ line-height 1
27
+
28
+ .keyboardList
29
+ display flex
30
+ flex-direction column
31
+ margin-top 8px
32
+
33
+ .keyboardItem
34
+ display flex
35
+ margin-top 4px
36
+
37
+ .keyGroup
38
+ display flex
39
+ align-items center
40
+ width 90px
41
+
42
+ .key
43
+ padding 0.2em 0.4em
44
+ font-family inherit
45
+ background-color var(--sco-card-bg)
46
+ color var(--sco-fontcolor)
47
+ border var(--style-border)
48
+ border-color var(--sco-secondtext)
49
+ border-bottom 2px solid var(--sco-secondtext)
50
+ box-shadow var(--sco-shadow-border)
51
+ border-radius 0.25rem
52
+ overflow-wrap break-word
53
+ overflow-x auto
54
+ font-weight 500
55
+ font-size .875em
56
+ margin-right 4px
57
+ vertical-align baseline
58
+ line-height 1
59
+ height 24px
@@ -12,10 +12,13 @@
12
12
  border var(--style-border)
13
13
  transition 0.3s
14
14
  border-radius 8px
15
+ animation slide-in .6s ease 0s 1 normal none running
15
16
 
16
17
  &:hover
17
18
  border var(--style-border-hover)
18
19
  box-shadow var(--sco-shadow-theme)
20
+ +maxWidth768()
21
+ border none
19
22
 
20
23
  +maxWidth768()
21
24
  top 0
@@ -23,20 +26,35 @@
23
26
  margin 0
24
27
  width 100%
25
28
  height 100%
29
+ border 0
30
+
31
+ .algolia-navbar
32
+ display flex
33
+ align-items center
34
+ margin-bottom 8px
35
+
36
+ .algolia-tips
37
+ color var(--sco-secondtext)
38
+ right 0
39
+ margin-left auto
40
+ opacity .8
26
41
 
27
42
  .search-close-button
28
- position absolute
29
- top 0.8rem
30
- right 1rem
31
- color var(--sco-gray)
43
+ color var(--sco-secondtext)
32
44
  font-size 1.4em
33
45
  line-height 1
34
46
  cursor pointer
35
- transition color .2s ease-in-out 0s
47
+ padding 4px
48
+ border-radius 50px
49
+ margin-left 4px
50
+ transition .3s
36
51
 
37
52
  &:hover
38
53
  color var(--sco-main)
39
54
 
55
+ .algolia-tips-text
56
+ margin-left .4rem
57
+
40
58
  #algolia-input-panel
41
59
  margin-bottom 8px
42
60
 
@@ -65,7 +83,7 @@
65
83
  visibility hidden
66
84
 
67
85
  #search-results
68
- padding 8px
86
+ padding-top 8px
69
87
  max-height calc(80vh - 130px)
70
88
  overflow-y auto
71
89
 
@@ -134,18 +152,9 @@
134
152
  right 0
135
153
  margin auto
136
154
 
137
- #algolia-stats
138
- margin-bottom 10px
139
- color var(--sco-gray)
140
- font-size .8rem
141
- font-weight bold
142
-
143
155
  .algolia-tips-text
144
156
  margin-left .4rem
145
157
 
146
- #algolia-search-results
147
- padding-top 8px
148
-
149
158
  #search-mask
150
159
  position fixed
151
160
  inset 0
@@ -155,4 +164,16 @@
155
164
  backdrop-filter blur(12px)
156
165
  -webkit-backdrop-filter blur(12px)
157
166
  transform translateZ(0)
158
- background var(--sco-maskbgdeep)
167
+ background var(--sco-maskbgdeep)
168
+
169
+ #algolia-hits
170
+ .tag-list
171
+ padding 4px 8px
172
+ border-radius 8px
173
+ margin-right 0.5rem
174
+ margin-top 0.5rem
175
+ border var(--style-border-always)
176
+
177
+ &:hover
178
+ background var(--sco-main)
179
+ color var(--sco-white)