hexo-theme-stellar 1.30.1 → 1.30.2

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 (56) hide show
  1. package/_config.yml +28 -25
  2. package/layout/_partial/main/article/article_footer.ejs +1 -1
  3. package/layout/_partial/main/post_list/post_card.ejs +4 -3
  4. package/layout/_partial/scripts/utils.ejs +1 -1
  5. package/layout/layout.ejs +1 -1
  6. package/layout/page.ejs +1 -1
  7. package/package.json +1 -1
  8. package/scripts/tags/inline-labels.js +3 -0
  9. package/scripts/tags/lib/okr.js +6 -6
  10. package/scripts/tags/lib/quot.js +16 -15
  11. package/source/css/_common/base.styl +1 -1
  12. package/source/css/_common/blockquote.styl +16 -5
  13. package/source/css/_common/pre.styl +1 -0
  14. package/source/css/_components/list.styl +4 -1
  15. package/source/css/_components/md.styl +3 -46
  16. package/source/css/_components/pages/article-indent.styl +6 -0
  17. package/source/css/_components/pages/article-story.styl +120 -0
  18. package/source/css/_components/pages/article-tech.styl +35 -0
  19. package/source/css/_components/partial/article-banner.styl +12 -7
  20. package/source/css/_components/partial/article-footer.styl +24 -14
  21. package/source/css/_components/partial/related.styl +1 -1
  22. package/source/css/_components/sidebar/sidebar.styl +1 -0
  23. package/source/css/_components/tag-plugins/button.styl +11 -11
  24. package/source/css/_components/tag-plugins/common.styl +7 -4
  25. package/source/css/_components/tag-plugins/friends_posts.styl +2 -2
  26. package/source/css/_components/tag-plugins/inline-labels.styl +5 -0
  27. package/source/css/_components/tag-plugins/link.styl +2 -1
  28. package/source/css/_components/tag-plugins/mark.styl +1 -1
  29. package/source/css/_components/tag-plugins/mdrender.styl +15 -0
  30. package/source/css/_components/tag-plugins/note.styl +4 -1
  31. package/source/css/_components/tag-plugins/poetry.styl +2 -0
  32. package/source/css/_components/tag-plugins/quot.styl +51 -25
  33. package/source/css/_components/tag-plugins/sites.styl +1 -0
  34. package/source/css/_components/tag-plugins/tabs.styl +8 -10
  35. package/source/css/_components/tag-plugins/timeline.styl +12 -20
  36. package/source/css/_components/widgets/ghuser.styl +1 -1
  37. package/source/css/_components/widgets/markdown.styl +4 -3
  38. package/source/css/_components/widgets/related.styl +1 -1
  39. package/source/css/_components/widgets/tagcloud.styl +1 -1
  40. package/source/css/_components/widgets/timeline.styl +1 -1
  41. package/source/css/_custom.styl +6 -2
  42. package/source/css/_defines/const.styl +3 -0
  43. package/source/css/_defines/func.styl +10 -0
  44. package/source/css/_defines/theme.styl +9 -0
  45. package/source/js/services/artalk_latest_comment.js +2 -1
  46. package/source/js/services/fcircle.js +2 -1
  47. package/source/js/services/friends.js +2 -1
  48. package/source/js/services/friends_and_posts.js +2 -1
  49. package/source/js/services/ghinfo.js +2 -1
  50. package/source/js/services/giscus_latest_comment.js +2 -1
  51. package/source/js/services/mdrender.js +5 -2
  52. package/source/js/services/memos.js +2 -1
  53. package/source/js/services/sites.js +2 -1
  54. package/source/js/services/timeline.js +2 -1
  55. package/source/js/services/waline_latest_comment.js +2 -1
  56. package/source/js/services/weibo.js +2 -1
@@ -6,7 +6,8 @@
6
6
 
7
7
  .article.banner
8
8
  .bg+.content
9
- min-height: 224px
9
+ min-height: 200px
10
+ aspect-ratio: hexo-config('article.banner_ratio')
10
11
  --text-banner: white
11
12
  --button-hover-bg: rgba(white, 0.25)
12
13
 
@@ -24,20 +25,23 @@
24
25
  .l_body .article.banner .content .bottom.only-title .title
25
26
  padding: 0.75rem 0
26
27
 
27
- .l_body[text-indent] .article.banner .content .bottom.only-title
28
- justify-content: center
29
28
 
30
29
 
31
30
  // 动画配置
32
31
  .article.banner
33
32
  .bg+.content
34
33
  --blur-bg: rgba(black, 0)
35
- --blur-px: 0px
34
+ --blur-px: 1em
36
35
  --blur-sat: 100%
36
+ --blur-height-top: 6rem
37
+ --blur-height-bottom: 7rem
38
+ --blur-opacity: 0
37
39
  &:hover
38
40
  --blur-bg: rgba(black, 0.1)
39
- --blur-px: 1em
40
41
  --blur-sat: 150%
42
+ --blur-height-top: 6rem
43
+ --blur-height-bottom: 7rem
44
+ --blur-opacity: 1
41
45
  background: var(--blur-bg)
42
46
  trans1 all
43
47
  &:before,&:after
@@ -48,13 +52,14 @@
48
52
  width: 100%
49
53
  backdrop-filter: saturate(var(--blur-sat)) blur(var(--blur-px))
50
54
  trans1 all
55
+ opacity var(--blur-opacity)
51
56
  &:before
52
57
  top: 0
53
- height: 4rem
58
+ height: var(--blur-height-top)
54
59
  mask: linear-gradient(black, rgba(black, 0.75), transparent)
55
60
  &:after
56
61
  bottom: 0
57
- height: 5rem
62
+ height: var(--blur-height-bottom)
58
63
  mask: linear-gradient(transparent, rgba(black, 0.75), black)
59
64
  .top,.bottom
60
65
  z-index 1
@@ -1,31 +1,36 @@
1
- .md-text .article-footer
1
+ .article-footer
2
2
  margin-top: 4rem
3
3
  padding: 1rem
4
4
  background: var(--block)
5
- border-radius: $border-card
5
+ border-radius: $border-card-l
6
6
  border: 1px solid var(--block-border)
7
+ font-size: $fs-15
8
+ line-height: 1.6
9
+ color: var(--text-p1)
7
10
  &:empty
8
11
  display: none
9
12
  .header
10
13
  font-weight: 500
11
- color: var(--text-p2)
12
14
  font-size: $fsh5
13
15
  .body
14
16
  --fsp: $fsp2
15
- input.copy-area
16
- margin: 0.75rem 0
17
- padding: 0
18
- width: 100%
17
+ >.link
18
+ margin: 0
19
+ height: 0
20
+ opacity 0
19
21
  p
20
22
  color: var(--text-p2)
21
- margin: 0.5em 0
23
+ margin: 0.5rem 0
22
24
  a
23
25
  font-weight: unset
24
26
  ul
25
27
  margin: 0
26
28
  overflow: hidden
29
+ padding-left: 1rem
30
+ li
31
+ font-size: var(--fsp)
27
32
  .post-title
28
- margin: 2px 0
33
+ margin: 0
29
34
  line-height: 1.2
30
35
  word-break: break-all
31
36
  p
@@ -35,11 +40,16 @@
35
40
  padding-top: 1rem
36
41
  border-top: 1px solid var(--block-border)
37
42
 
38
- .md-text .article-footer .social-wrap
39
- grid-gap: 0.5rem 1rem
40
- margin: 0
43
+ .article-footer .social-wrap
44
+ grid-gap: 0.5rem 2rem
45
+ margin: 0.75rem 0
46
+ grid-template-columns: repeat(auto-fill, 20px);
47
+ a.social
48
+ background: none
49
+ border-radius: 4px
50
+ padding: 0
41
51
 
42
- .md-text .article-footer .qrcode
52
+ .article-footer .qrcode
43
53
  width: 128px
44
54
  padding: 4px
45
55
  background: white
@@ -53,7 +63,7 @@
53
63
  img
54
64
  object-fit: contain
55
65
 
56
- .md-text .article-footer .qrcode.display
66
+ .article-footer .qrcode.display
57
67
  margin: 2rem auto 1rem
58
68
  height: 128px !important
59
69
  opacity: 1 !important
@@ -102,6 +102,6 @@ article.md-text.content+.related-wrap
102
102
  svg.loading
103
103
  top: 60px
104
104
  iframe
105
- border-radius: $border-card
105
+ border-radius: 4px
106
106
  border: none
107
107
  width: 100%
@@ -20,6 +20,7 @@
20
20
  margin-right: auto
21
21
 
22
22
  .l_left
23
+ background-position: center
23
24
  background-size: cover
24
25
  if hexo-config('style.leftbar') && hexo-config('style.leftbar.background-image')
25
26
  background-image: convert(hexo-config('style.leftbar.background-image'))
@@ -2,31 +2,31 @@ a.tag-plugin.button
2
2
  background: var(--theme)
3
3
  color: var(--alpha100)
4
4
  display: inline-flex
5
- align-items: center
5
+ align-items: baseline
6
6
  justify-content: center
7
7
  padding: 0 4px
8
8
  trans1 background
9
- margin-top: 8px
10
- margin-bottom: 8px
9
+ margin: .5em 0
10
+ font-size: 1em
11
+ line-height: 1.5
11
12
  svg,img
12
- height: 24px
13
+ height: 1.2em
13
14
  width: auto
14
- margin: 0 -0.5em 0 1em
15
+ margin: 0 -0.25em 0 .5em
15
16
  flex-shrink: 0
17
+ align-self: center
16
18
  span
17
19
  text-indent: 0
18
- line-height: 24px
19
- margin: 8px 1em
20
+ margin: .5em
20
21
 
21
22
 
22
23
  a.tag-plugin.button[size='xs']
23
24
  margin: 0
24
- border-radius: 2px
25
+ border-radius: 4px
25
26
  svg,img
26
- margin: 0 2px 0 0
27
- height: 1em
27
+ margin: 0 2px
28
28
  span
29
- margin: 0
29
+ margin: 2px
30
30
 
31
31
  a.tag-plugin.button:hover
32
32
  --theme: $color-hover
@@ -15,6 +15,7 @@ set_dynamic_color($theme)
15
15
  --theme: $theme
16
16
  --theme-border: hsl(hue($theme), 50, 80)
17
17
  --theme-block: hsl(hue($theme), 90, 92)
18
+ --theme-mark: hsl(hue($theme), 95, 80)
18
19
  --theme-codeblock: hsl(hue($theme), 50, 95)
19
20
  --text: hsl(hue($theme), 55, 16)
20
21
  --text-p1: hsl(hue($theme), 55, 20)
@@ -24,6 +25,7 @@ set_dynamic_color($theme)
24
25
  --theme: var(--text-p1)
25
26
  --theme-border: var(--block-border)
26
27
  --theme-block: var(--block)
28
+ --theme-mark: var(--theme-block)
27
29
  --theme-codeblock: var(--block)
28
30
 
29
31
  .colorful[color='red']
@@ -72,11 +74,12 @@ _dark_tags()
72
74
  set_dynamic_color($theme)
73
75
  --theme: $theme
74
76
  --theme-border: hsl(hue($theme), 50, 24)
75
- --theme-block: hsl(hue($theme), 16, 16)
77
+ --theme-block: hsl(hue($theme), 24, 24)
78
+ --theme-mark: hsl(hue($theme), 24, 24)
76
79
  --theme-codeblock: hsl(hue($theme), 12, 18)
77
- --text: hsl(hue($theme), 100, 85)
78
- --text-p1: hsl(hue($theme), 50, 75)
79
- --text-p2: hsl(hue($theme), 80, 72)
80
+ --text: hsl(hue($theme), 100, 80)
81
+ --text-p1: hsl(hue($theme), 50, 72)
82
+ --text-p2: hsl(hue($theme), 80, 64)
80
83
  .tag-plugin.tag
81
84
  set_dynamic_color($color-theme)
82
85
  .colorful[color='red']
@@ -26,7 +26,7 @@
26
26
  .label
27
27
  color: white
28
28
  font-size: 12px
29
- padding: 3px 6px 2px 6px
29
+ padding: 2px 6px
30
30
  margin: 4px 2px 0 2px
31
31
  line-height: 1
32
32
  border-radius: 16px
@@ -89,7 +89,7 @@
89
89
  color: var(--block-border)
90
90
  top: 0
91
91
  content: '“'
92
- left: -20px
92
+ left: -16px
93
93
  trans1 all
94
94
  .spacer
95
95
  height: 100%
@@ -28,6 +28,11 @@
28
28
  &:hover
29
29
  color: inherit
30
30
  background: none
31
+ blur
32
+ filter: blur(4px)
33
+ trans1 all
34
+ &:hover
35
+ filter: blur(0)
31
36
  sup,sub
32
37
  color: var(--theme)
33
38
  line-height: 1
@@ -2,6 +2,7 @@
2
2
  margin: 1em auto
3
3
  display: flex
4
4
  justify-content: center
5
+ text-align: left
5
6
 
6
7
  .md-text .link-card
7
8
  background: var(--card)
@@ -11,7 +12,7 @@
11
12
  cursor: pointer
12
13
  width: 300px
13
14
  max-width: 100%
14
- border-radius: $border-card
15
+ border-radius: $border-card-s
15
16
  hoverable-card()
16
17
 
17
18
  .md-text .link-card.plain
@@ -1,5 +1,5 @@
1
1
  .md-text .tag-plugin.mark
2
2
  padding: 1px 2px
3
3
  border-radius: 2px
4
- background: var(--theme-block)
4
+ background: var(--theme-mark)
5
5
  color: var(--text)
@@ -0,0 +1,15 @@
1
+ .ds-mdrender
2
+ p strong
3
+ font-size: $fs-body
4
+ font-weight: 500
5
+ color: var(--text)
6
+
7
+ .l_body[text-indent] article.content .ds-mdrender
8
+ p:not([class])
9
+ text-indent: 0
10
+
11
+
12
+ .l_body[type=story] .md-text.content
13
+ .ds-mdrender
14
+ ol,ul
15
+ margin-left: .5rem
@@ -29,7 +29,7 @@
29
29
  code
30
30
  background: none
31
31
  .md-text .tag-plugin.note:not([color])
32
- .highlight
32
+ .highlight, pre
33
33
  background: var(--block-hover)
34
34
  .md-text .tag-plugin.note[child=codeblock]
35
35
  padding: 0
@@ -66,3 +66,6 @@
66
66
 
67
67
  .md-text .tag-plugin .tag-plugin.note
68
68
  --gap-p: 1rem
69
+
70
+ .l_body[type=story] .tag-plugin.note .title p:not([class])
71
+ text-indent: 0
@@ -2,6 +2,8 @@
2
2
  display: flex
3
3
  flex-direction: column
4
4
  align-items: center
5
+ text-align: left
6
+ --fsp: $fs-body
5
7
  .content
6
8
  >.title
7
9
  font-weight: 500
@@ -31,32 +31,32 @@
31
31
  font-size: calc(var(--fsp) + 2px)
32
32
  color: var(--text)
33
33
 
34
- // type=text
35
- .md-text .tag-plugin.quot
36
- .content[type=text]
37
- &:before,&:after
38
- content: ""
39
- position: absolute
40
- width: 8px
41
- height: 14px
42
- &:before
43
- top: -8px
44
- left: 0
45
- border-top: 6px solid $color-accent
46
- border-left: 6px solid $color-accent
47
- &:after
48
- right: 0
49
- bottom: -8px
50
- border-right: 6px solid $color-accent
51
- border-bottom: 6px solid $color-accent
52
- h1.content[type=text]
53
- &:before,&:after
54
- width: 12px
55
- height: 20px
56
- border-width: 8px
34
+ // // type=text
35
+ // .md-text .tag-plugin.quot
36
+ // .content[type=text]
37
+ // &:before,&:after
38
+ // content: ""
39
+ // position: absolute
40
+ // width: 8px
41
+ // height: 14px
42
+ // &:before
43
+ // top: -8px
44
+ // left: 0
45
+ // border-top: 6px solid $color-accent
46
+ // border-left: 6px solid $color-accent
47
+ // &:after
48
+ // right: 0
49
+ // bottom: -8px
50
+ // border-right: 6px solid $color-accent
51
+ // border-bottom: 6px solid $color-accent
52
+ // h1.content[type=text]
53
+ // &:before,&:after
54
+ // width: 12px
55
+ // height: 20px
56
+ // border-width: 8px
57
57
 
58
58
  // type=icon
59
- .md-text .tag-plugin.quot .content[type=icon]
59
+ .md-text .tag-plugin.quot
60
60
  img,svg
61
61
  height: 1.5em
62
62
  display: inline-block
@@ -68,4 +68,30 @@
68
68
  padding-top: 1px
69
69
  span.empty
70
70
  padding: 0 8px
71
-
71
+
72
+ .md-text .tag-plugin.quot.p
73
+ .content
74
+ trans1 all
75
+ .content .text
76
+ position: relative
77
+ .content .text:after
78
+ content: ""
79
+ position: absolute
80
+ --width: 90%
81
+ width: var(--width)
82
+ height: 4px
83
+ left: calc(50% - var(--width) / 2)
84
+ bottom: -8px
85
+ border-radius: 100%
86
+ background: var(--text)
87
+ opacity: 0.2
88
+ filter: blur(2px)
89
+ trans1 all
90
+ &:hover
91
+ .content
92
+ transform: translateY(-4px) scale(1.05)
93
+ .text:after
94
+ opacity: 0.3
95
+ filter: blur(8px)
96
+ transform: translateY(4px) scale(1.2, 1.5)
97
+
@@ -15,6 +15,7 @@
15
15
  aspect-ratio: 1.5
16
16
  width: 100%
17
17
  height: 100%
18
+ border-radius: $border-card-s
18
19
  box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.2)
19
20
  .info
20
21
  margin-top: 0.5rem
@@ -6,13 +6,15 @@
6
6
  flex-direction: column
7
7
  &[align=left]
8
8
  align-items: flex-start
9
- .nav-tabs
9
+ .nav-tabs,.tab-content
10
10
  align-self: flex-start
11
11
  &[align=center]
12
12
  align-items: center
13
+ .nav-tabs,.tab-content
14
+ align-items: center
13
15
  &[align=right]
14
16
  align-items: flex-end
15
- .nav-tabs
17
+ .nav-tabs,.tab-content
16
18
  align-self: flex-end
17
19
 
18
20
  .tag-plugin.tabs
@@ -75,18 +77,14 @@
75
77
  max-width: 100%
76
78
  text-align: justify
77
79
  margin-top: .5rem
80
+ display: flex
81
+ flex-direction: column
78
82
  .tab-pane
79
83
  display: block
84
+ overflow: hidden
80
85
  &:not(.active)
81
- visibility: hidden
82
86
  height: 0
83
87
  &.active
84
- visibility: visible
85
88
  height: auto
86
- .tab-content:has(.grid-box)
89
+ .tab-content:has(.grid-box),.tab-pane:has(.grid-box)
87
90
  width: 100%
88
-
89
- .l_body[text-indent] .md-text .tag-plugin.tabs .tab-content .tab-pane>p:not([class])
90
- text-indent: 'calc(%s * 2)' % var(--fsp)
91
- a
92
- text-indent: 0
@@ -15,6 +15,10 @@
15
15
  padding-left: 0
16
16
  &:before
17
17
  display: none
18
+ .l_body[type=story] .md-text.content
19
+ .tag-plugin.timeline
20
+ ol,ul
21
+ margin-left: 0
18
22
 
19
23
  .tag-plugin.timeline .timenode
20
24
  position: relative
@@ -82,7 +86,7 @@
82
86
 
83
87
  .tag-plugin.timeline .body
84
88
  background: var(--card)
85
- border-radius: $border-card
89
+ border-radius: 16px
86
90
  border-top-left-radius: 2px
87
91
  padding: 0.5rem 1rem
88
92
  margin-top: 4px
@@ -113,32 +117,21 @@
113
117
  font-weight: 700
114
118
  margin: 0.5rem 0 0.75rem
115
119
  line-height: 1.25
120
+ border-bottom: 1px solid var(--block-border)
116
121
  &:only-child
117
122
  margin-bottom: 0.5rem
118
123
  font-weight: 500
119
124
  a
120
125
  color: inherit
121
126
  text-decoration: none
122
- border-bottom: 2px solid $color-theme
127
+ padding-bottom: 0.75rem
128
+ display: inline-block
123
129
  trans1 all
124
- background: none
125
130
  &:hover
126
- background: none
127
- border-radius: 0
128
- border-bottom: 2px solid $color-hover
129
- >p:first-child:not([class]) a:not([class])
130
- padding: 0
131
- margin: 0
132
- color: inherit
133
- text-decoration: none
134
- border-bottom: 2px solid $color-theme
135
- trans1 all
136
- background: none
137
- &:hover
138
- background: none
139
- border-radius: 0
140
- border-bottom: 2px solid $color-hover
141
-
131
+ color: $color-hover
132
+ >p:first-child:not([class])
133
+ font-size: 1rem
134
+ margin: .25rem 0 .5rem
142
135
 
143
136
  a
144
137
  &:has(img):after
@@ -159,7 +152,6 @@
159
152
  flex-wrap: wrap
160
153
  justify-content: space-between
161
154
  align-items: stretch
162
- background: var(--card)
163
155
  span
164
156
  line-height: 1.8
165
157
  &:empty
@@ -4,7 +4,7 @@
4
4
  .widget-wrapper.user-card .widget-body
5
5
  text-align: center
6
6
  background: var(--card)
7
- border-radius: $border-card
7
+ border-radius: $border-card-s
8
8
  padding: 1rem
9
9
  box-shadow: $boxshadow-card
10
10
 
@@ -1,9 +1,10 @@
1
1
  .widget-wrapper.markdown
2
2
  .widget-body
3
- border-radius: $border-card
4
- padding: 4px 16px
3
+ border-radius: $border-card-s
4
+ padding: .25rem 1rem
5
5
  background: var(--alpha50)
6
-
6
+ >*:first-child
7
+ margin-top: .75rem
7
8
  a:not([class])
8
9
  trans1 all
9
10
  border-bottom: 1px solid var(--text)
@@ -7,7 +7,7 @@
7
7
  line-height: 1.2
8
8
  background: var(--alpha20)
9
9
  padding: 10px 16px
10
- border-radius: $border-card
10
+ border-radius: $border-card-s
11
11
  display: block
12
12
  border-left: 0
13
13
  box-sizing: border-box
@@ -1,5 +1,5 @@
1
1
  .widget-wrapper.tagcloud .widget-body
2
- border-radius: $border-card
2
+ border-radius: $border-card-s
3
3
  padding: 12px 16px
4
4
  background: var(--alpha50)
5
5
  a
@@ -24,7 +24,7 @@
24
24
  .header:before
25
25
  left: calc(6px - var(--gap-padding))
26
26
  .body
27
- border-radius: $border-card
27
+ border-radius: $border-card-s
28
28
  padding: 0.5rem 1rem
29
29
  p,li
30
30
  --fsp: $fsp3
@@ -18,6 +18,9 @@ $ff-codeblock = Menlo, Monaco, Consolas, system-ui, "Courier New", monospace, sa
18
18
  $ff-code = $ff-codeblock
19
19
  $ff-logo = $ff-body
20
20
 
21
+ $iQuoteLeft = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3C!-- Icon from BoxIcons Solid by Atisa - https://creativecommons.org/licenses/by/4.0/ --%3E%3Cpath fill='currentColor' d='M3.691 6.292C5.094 4.771 7.217 4 10 4h1v2.819l-.804.161c-1.37.274-2.323.813-2.833 1.604A2.9 2.9 0 0 0 6.925 10H10a1 1 0 0 1 1 1v7c0 1.103-.897 2-2 2H3a1 1 0 0 1-1-1v-5l.003-2.919c-.009-.111-.199-2.741 1.688-4.789M20 20h-6a1 1 0 0 1-1-1v-5l.003-2.919c-.009-.111-.199-2.741 1.688-4.789C16.094 4.771 18.217 4 21 4h1v2.819l-.804.161c-1.37.274-2.323.813-2.833 1.604A2.9 2.9 0 0 0 17.925 10H21a1 1 0 0 1 1 1v7c0 1.103-.897 2-2 2'/%3E%3C/svg%3E"
22
+ $iQuoteRight = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3C!-- Icon from BoxIcons Solid by Atisa - https://creativecommons.org/licenses/by/4.0/ --%3E%3Cpath fill='currentColor' d='M20.309 17.708C22.196 15.66 22.006 13.03 22 13V5a1 1 0 0 0-1-1h-6c-1.103 0-2 .897-2 2v7a1 1 0 0 0 1 1h3.078a2.9 2.9 0 0 1-.429 1.396c-.508.801-1.465 1.348-2.846 1.624l-.803.16V20h1c2.783 0 4.906-.771 6.309-2.292m-11.007 0C11.19 15.66 10.999 13.03 10.993 13V5a1 1 0 0 0-1-1h-6c-1.103 0-2 .897-2 2v7a1 1 0 0 0 1 1h3.078a2.9 2.9 0 0 1-.429 1.396c-.508.801-1.465 1.348-2.846 1.624l-.803.16V20h1c2.783 0 4.906-.771 6.309-2.292'/%3E%3C/svg%3E"
23
+
21
24
  if hexo-config('style.font-family.body')
22
25
  $ff-body = convert(hexo-config('style.font-family.body'))
23
26
 
@@ -55,9 +58,10 @@ $fsp3 = 'calc(%s - 3px)' % $fs-body
55
58
 
56
59
  $border-card-l = convert(hexo-config('style.border-radius.card-l'))
57
60
  $border-card = convert(hexo-config('style.border-radius.card'))
61
+ $border-card-s = convert(hexo-config('style.border-radius.card-s'))
58
62
  $border-bar = convert(hexo-config('style.border-radius.bar'))
59
63
  $border-image = convert(hexo-config('style.border-radius.image'))
60
- $border-button = 4px
64
+ $border-button = 8px
61
65
 
62
66
  // 可以动态变化的属性
63
67
  :root
@@ -94,7 +98,7 @@ $border-button = 4px
94
98
  --gap-max: calc(var(--gap-margin) + var(--gap-padding))
95
99
 
96
100
  // 文章布局风格
97
- .l_body.story
101
+ .l_body[type=story]
98
102
  --gap-p: 2rem
99
103
  div.tag-plugin,p>img
100
104
  margin-top: 2.4rem
@@ -48,3 +48,6 @@ $c-green = #3DC550
48
48
  $c-cyan = #1BCDFC
49
49
  $c-blue = #2196f3
50
50
  $c-purple = #9c27b0
51
+
52
+ $hue-yellow = 50
53
+ $cDeepOrange = hsl(14 100% 57%)
@@ -1,3 +1,13 @@
1
+ svg-mask-icon($svg)
2
+ -webkit-mask-image: url($svg)
3
+ -webkit-mask-repeat: no-repeat
4
+ -webkit-mask-position: center
5
+ -webkit-mask-size: contain
6
+ mask-image: url($svg)
7
+ mask-repeat: no-repeat
8
+ mask-position: center
9
+ mask-size: contain
10
+
1
11
 
2
12
  // // 可替代 transition 使用
3
13
  // transition($op = all, $time = 0.28s, $ease = ease-out)
@@ -1,3 +1,7 @@
1
+ // 通用 hsla 函数
2
+ hsla-var(h = var(--hue), s = var(--sat), l = var(--light), a = 1)
3
+ return unquote('hsla(%s, %s, %s, %s)' % (h s l a))
4
+
1
5
  // Deprecated function. Keep for compatibility.
2
6
  theme($t)
3
7
  convert(hexo-config('style.prefers_theme')) == $t
@@ -43,6 +47,11 @@ _common_root()
43
47
  --theme-link: $color-link
44
48
  --theme-color: $color-theme
45
49
  --theme-color-opa: $color-theme-opa
50
+ // new
51
+ --hue: 50
52
+ --sat: 90%
53
+ --light: 80%
54
+ --dynamic-color: hsla-var()
46
55
 
47
56
  _light_root()
48
57
  --site-bg: hsl($color-background-h, $color-background-s, $color-background-l)
@@ -9,7 +9,8 @@ utils.jq(() => {
9
9
  if (api == null) {
10
10
  continue;
11
11
  }
12
- utils.request(el, api, function (data) {
12
+ utils.request(el, api, async resp => {
13
+ const data = await resp.json();
13
14
  data = data.data || [];
14
15
  data.forEach((item, i) => {
15
16
  var cell = '<div class="timenode" index="' + i + '">';