hexo-theme-stellar 1.32.0 → 1.32.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 (115) hide show
  1. package/_config.yml +47 -41
  2. package/layout/_partial/cover/post_cover.ejs +1 -5
  3. package/layout/_partial/cover/wiki_cover.ejs +1 -1
  4. package/layout/_partial/main/footer.ejs +15 -5
  5. package/layout/_partial/main/navbar/article_banner.ejs +1 -1
  6. package/layout/_partial/main/navbar/ghinfo.ejs +1 -1
  7. package/layout/_partial/scripts/defines.ejs +3 -1
  8. package/layout/_partial/scripts/lazyload.ejs +67 -0
  9. package/layout/_partial/scripts/utils.ejs +1 -0
  10. package/layout/_partial/scripts.ejs +1 -0
  11. package/layout/_partial/sidebar/index_leftbar.ejs +1 -1
  12. package/layout/_partial/sidebar/logo.ejs +1 -1
  13. package/layout/_partial/widgets/author.ejs +1 -1
  14. package/layout/_partial/widgets/ghissues.ejs +1 -1
  15. package/layout/_partial/widgets/ghrepo.ejs +2 -2
  16. package/layout/_partial/widgets/ghuser.ejs +2 -2
  17. package/layout/_partial/widgets/markdown.ejs +1 -1
  18. package/layout/_partial/widgets/recent.ejs +1 -1
  19. package/layout/_partial/widgets/related.ejs +1 -1
  20. package/layout/_partial/widgets/timeline.ejs +1 -1
  21. package/layout/_partial/widgets/tree.ejs +1 -1
  22. package/layout/_plugins/scrollreveal.ejs +3 -3
  23. package/package.json +1 -1
  24. package/scripts/events/lib/get_image_ratios.js +53 -31
  25. package/scripts/tags/index.js +1 -1
  26. package/scripts/tags/lib/albums.js +4 -3
  27. package/scripts/tags/lib/banner.js +1 -1
  28. package/scripts/tags/lib/{quote.js → blockquote.js} +5 -5
  29. package/scripts/tags/lib/chat.js +1 -5
  30. package/scripts/tags/lib/friends.js +1 -1
  31. package/scripts/tags/lib/gallery.js +4 -3
  32. package/scripts/tags/lib/image.js +5 -5
  33. package/scripts/tags/lib/link.js +1 -5
  34. package/scripts/tags/lib/md.js +1 -1
  35. package/scripts/tags/lib/navbar.js +2 -2
  36. package/scripts/tags/lib/posters.js +4 -3
  37. package/scripts/tags/lib/sites.js +7 -1
  38. package/scripts/tags/lib/timeline.js +1 -1
  39. package/source/css/_common/base.styl +17 -9
  40. package/source/css/_common/blockquote.styl +1 -1
  41. package/source/css/_common/blur.styl +7 -7
  42. package/source/css/_common/button.styl +2 -2
  43. package/source/css/_common/canonical.styl +1 -1
  44. package/source/css/_common/cap.styl +1 -1
  45. package/source/css/_common/device.styl +4 -4
  46. package/source/css/_common/highlight.styl +7 -2
  47. package/source/css/_common/html.styl +1 -1
  48. package/source/css/_common/svg.styl +1 -1
  49. package/source/css/_common/title.styl +1 -1
  50. package/source/css/_components/layout.styl +2 -2
  51. package/source/css/_components/list.styl +1 -2
  52. package/source/css/_components/main.styl +8 -4
  53. package/source/css/_components/md.styl +2 -2
  54. package/source/css/_components/pages/archives.styl +5 -5
  55. package/source/css/_components/pages/article-story.styl +42 -40
  56. package/source/css/_components/pages/article-tech.styl +2 -2
  57. package/source/css/_components/pages/notebook.styl +2 -2
  58. package/source/css/_components/partial/footer.styl +5 -9
  59. package/source/css/_components/partial/navbar.styl +2 -2
  60. package/source/css/_components/partial/related.styl +6 -6
  61. package/source/css/_components/sidebar/footer.styl +1 -1
  62. package/source/css/_components/sidebar/menu.styl +3 -3
  63. package/source/css/_components/sidebar/search.styl +7 -7
  64. package/source/css/_components/sidebar/sidebar.styl +24 -24
  65. package/source/css/_components/tag-plugins/button.styl +2 -2
  66. package/source/css/_components/tag-plugins/chat.styl +44 -8
  67. package/source/css/_components/tag-plugins/checkbox.styl +1 -1
  68. package/source/css/_components/tag-plugins/copy.styl +13 -8
  69. package/source/css/_components/tag-plugins/friends.styl +5 -6
  70. package/source/css/_components/tag-plugins/friends_posts.styl +8 -7
  71. package/source/css/_components/tag-plugins/gallery.styl +1 -2
  72. package/source/css/_components/tag-plugins/image.styl +1 -1
  73. package/source/css/_components/tag-plugins/inline-labels.styl +3 -3
  74. package/source/css/_components/tag-plugins/navbar.styl +18 -8
  75. package/source/css/_components/tag-plugins/note.styl +0 -3
  76. package/source/css/_components/tag-plugins/okr.styl +2 -3
  77. package/source/css/_components/tag-plugins/override.styl +0 -5
  78. package/source/css/_components/tag-plugins/poetry.styl +1 -1
  79. package/source/css/_components/tag-plugins/quot.styl +1 -25
  80. package/source/css/_components/tag-plugins/quote.styl +1 -1
  81. package/source/css/_components/tag-plugins/read/paper.styl +2 -2
  82. package/source/css/_components/tag-plugins/read/reel.styl +4 -4
  83. package/source/css/_components/tag-plugins/sites.styl +14 -11
  84. package/source/css/_components/tag-plugins/tabs.styl +1 -1
  85. package/source/css/_components/tag-plugins/timeline.styl +10 -4
  86. package/source/css/_components/widgets/components.styl +3 -3
  87. package/source/css/_components/widgets/ghuser.styl +3 -3
  88. package/source/css/_components/widgets/list.styl +2 -2
  89. package/source/css/_components/widgets/markdown.styl +9 -3
  90. package/source/css/_components/widgets/related.styl +3 -3
  91. package/source/css/_components/widgets/tagcloud.styl +2 -2
  92. package/source/css/_components/widgets/timeline.styl +2 -2
  93. package/source/css/_components/widgets/toc.styl +3 -4
  94. package/source/css/_components/widgets/widgets.styl +4 -4
  95. package/source/css/_custom.styl +26 -38
  96. package/source/css/_defines/const.styl +1 -5
  97. package/source/css/_defines/func.styl +4 -4
  98. package/source/css/_defines/theme_base.styl +105 -0
  99. package/source/css/_defines/theme_colorful.styl +117 -0
  100. package/source/css/_plugins/comments/artalk.styl +25 -8
  101. package/source/css/_plugins/comments/twikoo.styl +11 -11
  102. package/source/css/_plugins/comments/waline.styl +2 -2
  103. package/source/css/_plugins/index.styl +1 -2
  104. package/source/css/_plugins/lazyload.styl +40 -50
  105. package/source/css/_plugins/mermaid.styl +1 -1
  106. package/source/css/_plugins/swiper.styl +2 -2
  107. package/source/css/_plugins/tianli_gpt.styl +8 -8
  108. package/source/css/main.styl +2 -1
  109. package/source/js/services/friends.js +1 -0
  110. package/source/js/services/friends_and_posts.js +1 -0
  111. package/source/js/services/sites.js +1 -0
  112. package/source/js/services/timeline.js +1 -0
  113. package/layout/_plugins/lazyload.ejs +0 -21
  114. package/source/css/_components/tag-plugins/common.styl +0 -120
  115. package/source/css/_defines/theme.styl +0 -120
@@ -1,13 +1,13 @@
1
1
  .md-text
2
2
  u
3
3
  text-decoration: none
4
- border-bottom: 2px solid $color-hover
4
+ border-bottom: 2px solid var(--accent)
5
5
  emp
6
6
  width: fit-content
7
7
  text-decoration: none
8
- border-bottom: 4px dotted $color-hover
8
+ border-bottom: 4px dotted var(--accent)
9
9
  wavy
10
- text-decoration: underline wavy $color-hover
10
+ text-decoration: underline wavy var(--accent)
11
11
  del
12
12
  color: var(--text-p3)
13
13
  text-decoration: line-through var(--text-p3)
@@ -1,9 +1,19 @@
1
1
  .tag-plugin.navbar
2
- padding: 0
3
- &:after
4
- left: 0
5
- right: 0
6
-
7
- @media screen and (min-width: $device-mobile-max)
8
- .tag-plugin.navbar nav a
9
- margin-top: 2px
2
+ display: inline-flex
3
+ background: var(--card)
4
+ border-radius: $border-button
5
+ z-index inherit
6
+ box-shadow: 0 0 8px hsla(black, 0.04)
7
+ a
8
+ box-sizing: border-box
9
+ padding: .25rem 1rem
10
+ margin: 2px
11
+ color: inherit
12
+ border-radius: 'calc(%s - 1px)' % $border-button
13
+ trans1 all
14
+ &+a
15
+ margin-left: 0
16
+ &.active
17
+ background: var(--block)
18
+ &:hover
19
+ background: var(--block)
@@ -28,9 +28,6 @@
28
28
  .md-text .tag-plugin.note[color]
29
29
  code
30
30
  background: none
31
- .md-text .tag-plugin.note:not([color])
32
- .highlight, pre
33
- background: var(--block-border)
34
31
  .md-text .tag-plugin.note[child=codeblock]
35
32
  padding: 0
36
33
  background: var(--theme-codeblock)
@@ -42,10 +42,9 @@
42
42
  padding: 2px 4px
43
43
  border-radius: 2px
44
44
  .okr-item.o
45
- border-bottom: 4px solid var(--theme-border)
45
+ border-bottom: 4px solid var(--block-border)
46
46
  .okr-item.kr+.okr-item.kr
47
- border-top: 1px dashed var(--theme-border)
48
-
47
+ border-top: 1px dashed var(--block-border)
49
48
 
50
49
  .tag-plugin.okr .okr-item
51
50
  display: grid
@@ -5,9 +5,4 @@
5
5
  background: none
6
6
  padding-top: 0
7
7
  padding-bottom: 0
8
- table:not([class])
9
- th
10
- background: var(--block-border)
11
- td,th
12
- border-color: var(--block-border)
13
8
 
@@ -50,4 +50,4 @@
50
50
  top: 6px
51
51
  bottom: 6px
52
52
  border-radius: 4px
53
- background: $color-accent
53
+ background: var(--accent)
@@ -31,36 +31,12 @@
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
57
-
58
34
  // type=icon
59
35
  .md-text .tag-plugin.quot
60
36
  img,svg
61
37
  height: 1.5em
62
38
  display: inline-block
63
- color: $color-accent
39
+ color: var(--accent)
64
40
  border-radius: 0
65
41
  flex-shrink: 0
66
42
  span.text
@@ -1,4 +1,4 @@
1
- .tag-plugin.quote
1
+ .tag-plugin.blockquote
2
2
  position: relative
3
3
  p:not([class])
4
4
  text-indent: 0 !important
@@ -68,7 +68,7 @@
68
68
  top: calc(-1rem - 4px)
69
69
  right: calc(100% + 1rem - 6px)
70
70
  border-radius: 4px
71
- background: $color-accent
71
+ background: var(--accent)
72
72
  &:after
73
73
  content: ''
74
74
  position: absolute
@@ -77,7 +77,7 @@
77
77
  top: calc(-1rem - 4px)
78
78
  left: calc(100% + 1rem - 6px)
79
79
  border-radius: 4px
80
- background: $color-accent
80
+ background: var(--accent)
81
81
 
82
82
  // 下划线修饰
83
83
  .md-text .tag-plugin.paper > .content.underline > .title,
@@ -69,7 +69,7 @@
69
69
  top: calc(-1rem - 6px)
70
70
  bottom: calc(100% + 1rem - 6px)
71
71
  border-radius: 4px
72
- background: $color-accent
72
+ background: var(--accent)
73
73
  z-index: 1
74
74
  &:after
75
75
  content: ''
@@ -79,7 +79,7 @@
79
79
  top: calc(100% + 1rem - 6px)
80
80
  bottom: calc(-1rem - 6px)
81
81
  border-radius: 4px
82
- background: $color-accent
82
+ background: var(--accent)
83
83
  z-index: 1
84
84
  >.footer
85
85
  position: relative
@@ -91,7 +91,7 @@
91
91
  top: calc(-1rem - 6px)
92
92
  bottom: calc(100% + 1rem - 6px)
93
93
  border-radius: 4px
94
- background: $color-accent
94
+ background: var(--accent)
95
95
  &:after
96
96
  content: ''
97
97
  position: absolute
@@ -100,4 +100,4 @@
100
100
  top: calc(100% + 1rem - 6px)
101
101
  bottom: calc(-1rem - 6px)
102
102
  border-radius: 4px
103
- background: $color-accent
103
+ background: var(--accent)
@@ -10,24 +10,27 @@
10
10
  display: flex
11
11
  flex-direction: column
12
12
  position: relative
13
- >img
14
- object-fit: cover
15
- aspect-ratio: 1.5
16
- width: 100%
17
- height: 100%
13
+ .lazy-box
18
14
  border-radius: $border-card-s
19
15
  box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.2)
16
+ overflow hidden
17
+ >img
18
+ object-fit: cover
19
+ aspect-ratio: 1.5
20
+ width: 100%
21
+ height: 100%
20
22
  .info
21
23
  margin-top: 0.5rem
22
24
  line-height: 1.2
23
25
  position: relative
24
- >img
25
- width: 28px
26
- height: @width
27
- border-radius: @width
26
+ .lazy-box
28
27
  float: left
29
28
  margin-right: 8px
30
29
  margin-top: 2px
30
+ border-radius: @width
31
+ >img
32
+ width: 28px
33
+ height: @width
31
34
  span
32
35
  display: block
33
36
  .title
@@ -71,11 +74,11 @@
71
74
 
72
75
  // transform
73
76
  .sites-wrap .site-card .card-link
74
- >img
77
+ >.lazy-box
75
78
  floatable-trans()
76
79
  &:hover
77
80
  .labels
78
81
  opacity 0
79
82
  transform: translateY(-4px)
80
- >img
83
+ >.lazy-box
81
84
  floatable-float()
@@ -66,7 +66,7 @@
66
66
  content: ''
67
67
  z-index: 1
68
68
  position: absolute
69
- background: $color-theme
69
+ background: var(--theme)
70
70
  height: 2px
71
71
  bottom: -8px
72
72
  left: .75rem
@@ -31,14 +31,14 @@
31
31
  box-sizing: border-box
32
32
  max-width: @max-width
33
33
  &[highlight] .header:before
34
- background: $color-theme
34
+ background: var(--theme)
35
35
  &+.timenode
36
36
  margin-top: 1rem
37
37
  &:hover .header
38
38
  span
39
39
  color: var(--text-p1)
40
40
  &:before
41
- background: $color-theme
41
+ background: var(--theme)
42
42
  height: 16px
43
43
  top: 'calc(50% - 0.5 * %s)' % @height
44
44
  transform: scale(1)
@@ -128,7 +128,7 @@
128
128
  display: inline-block
129
129
  trans1 all
130
130
  &:hover
131
- color: $color-hover
131
+ color: var(--accent)
132
132
  >p:first-child:not([class])
133
133
  font-size: 1rem
134
134
  margin: .25rem 0 .5rem
@@ -140,6 +140,12 @@
140
140
  margin: 0 auto
141
141
  img
142
142
  margin: 0.5rem auto
143
+ .lazy-box
144
+ margin: .5rem 0
145
+ border-radius: $border-image
146
+ >img
147
+ margin: 0 auto
148
+
143
149
  pre code
144
150
  font-size: $fs-13
145
151
 
@@ -173,7 +179,7 @@
173
179
  padding: 0 0.5rem
174
180
  display: flex
175
181
  align-items: center
176
- border-color: $color-link
182
+ border-color: var(--link)
177
183
  &:first-child
178
184
  margin-left: 0
179
185
  &:last-child
@@ -13,7 +13,7 @@
13
13
  align-items: center
14
14
  txt-ellipsis()
15
15
  &.active
16
- background: var(--alpha50)
16
+ background: var(--bg-a50)
17
17
  svg,img
18
18
  filter: unset
19
19
 
@@ -24,7 +24,7 @@
24
24
  $size = 16px
25
25
  padding: 0 2px
26
26
  &:not([class='active-icon'])
27
- color: $color-theme
27
+ color: var(--theme)
28
28
  max-height: 18px
29
29
  width: auto
30
30
  filter: grayscale(100%) brightness(0.8) opacity(0.8)
@@ -44,6 +44,6 @@
44
44
  padding: 0 8px
45
45
 
46
46
  .linklist .link:hover
47
- background: var(--alpha100)
47
+ background: var(--bg-a100)
48
48
  svg
49
49
  filter: unset
@@ -35,8 +35,8 @@
35
35
  border-radius: 64px
36
36
  margin: 1rem 0 0
37
37
  padding: 0.5rem 1rem
38
- background: $color-theme
39
- color: var(--card)
38
+ background: var(--theme)
39
+ color: white
40
40
  font-size: 1rem
41
41
  align-self: stretch
42
42
  text-align: center
@@ -50,7 +50,7 @@
50
50
  height: 1.5em
51
51
  width: auto
52
52
  &:hover
53
- background: $color-hover
53
+ background: var(--accent)
54
54
 
55
55
  .buttons
56
56
  margin: 1rem 0
@@ -1,13 +1,13 @@
1
1
  .widget-wrapper.post-list .widget-body
2
2
  a
3
3
  font-size: $fs-14
4
- padding: 8px 16px
4
+ padding: 6px 16px
5
5
  display: block
6
6
  border-radius: $border-bar
7
7
  color: var(--text-p1)
8
8
  trans1 background
9
9
  &.active,&:hover
10
- background: var(--alpha100)
10
+ background: var(--bg-a100)
11
11
  a+a
12
12
  margin-top: 2px
13
13
  a
@@ -2,13 +2,19 @@
2
2
  .widget-body
3
3
  border-radius: $border-card-s
4
4
  padding: .25rem 1rem
5
- background: var(--alpha50)
5
+ background: var(--bg-a50)
6
6
  >*:first-child
7
7
  margin-top: .75rem
8
8
 
9
9
  .widget-wrapper.markdown .linklist
10
10
  margin: 1em 0
11
11
  .link
12
- background: var(--alpha50)
12
+ background: var(--bg-a50)
13
13
  .link:hover
14
- background: var(--alpha100)
14
+ background: var(--bg-a100)
15
+
16
+ .l_right .widget-wrapper.markdown .linklist
17
+ .link
18
+ background: var(--block)
19
+ .link:hover
20
+ background: var(--theme-a20)
@@ -5,7 +5,7 @@
5
5
  margin-top: 8px
6
6
  .item
7
7
  line-height: 1.2
8
- background: var(--alpha20)
8
+ background: var(--bg-a20)
9
9
  padding: 10px 16px
10
10
  border-radius: $border-card-s
11
11
  display: block
@@ -33,6 +33,6 @@
33
33
  .item
34
34
  trans1 background
35
35
  .item.active
36
- background: var(--alpha50)
36
+ background: var(--bg-a50)
37
37
  .item:hover
38
- background: var(--alpha50)
38
+ background: var(--bg-a50)
@@ -1,10 +1,10 @@
1
1
  .widget-wrapper.tagcloud .widget-body
2
2
  border-radius: $border-card-s
3
3
  padding: 12px 16px
4
- background: var(--alpha50)
4
+ background: var(--bg-a50)
5
5
  a
6
6
  word-break: break-word
7
7
  color: var(--text-p2)
8
8
  line-height: 1.5
9
9
  &:hover
10
- color: $color-hover
10
+ color: var(--accent)
@@ -33,7 +33,7 @@
33
33
  padding: 0
34
34
  margin: 0
35
35
  .highlight, pre:not([class]):has(>code)
36
- background: var(--alpha50)
36
+ background: var(--bg-a50)
37
37
 
38
38
 
39
39
  .tag-plugin.timeline[api] .body .footer
@@ -46,4 +46,4 @@
46
46
  content: none
47
47
  .l_left .widget-wrapper.timeline .body
48
48
  box-shadow: none
49
- background: var(--alpha50)
49
+ background: var(--bg-a50)
@@ -1,5 +1,4 @@
1
1
  .widget-wrapper.toc
2
- background: var(--site-bg)
3
2
  z-index 3
4
3
  .widget-body
5
4
  position relative
@@ -26,7 +25,7 @@
26
25
  a
27
26
  --padding: calc(var(--gap-padding) / 2)
28
27
  --padding-offset: calc(0 - var(--padding))
29
- padding: 6px var(--padding)
28
+ padding: 4px var(--padding)
30
29
  margin: 0 var(--padding)
31
30
  color: var(--text-p3)
32
31
  display: block
@@ -40,7 +39,7 @@
40
39
  bottom: 6px
41
40
  left: -8px
42
41
  width: 4px
43
- background: $color-theme
42
+ background: var(--theme)
44
43
  border-radius: 4px
45
44
  &:hover
46
45
  background: var(--block-border)
@@ -179,6 +178,6 @@
179
178
  color: var(--text-p2)
180
179
  .widget-wrapper.toc .widget-footer
181
180
  a
182
- background: var(--alpha100)
181
+ background: var(--bg-a100)
183
182
  a+a
184
183
  margin-top: 4px
@@ -1,7 +1,7 @@
1
1
  .widgets
2
2
  .loading-wrap
3
3
  margin: 0.5rem 0
4
- background: var(--alpha50)
4
+ background: var(--bg-a50)
5
5
 
6
6
  .widgets
7
7
  overflow: scroll
@@ -43,11 +43,11 @@
43
43
  transform: scale(1.2)
44
44
  fill: var(--text-p2)
45
45
  &:hover
46
- color: $color-hover
47
- background: var(--alpha100)
46
+ color: var(--accent)
47
+ background: var(--bg-a100)
48
48
  opacity 1
49
49
  svg
50
- fill: $color-hover
50
+ fill: var(--accent)
51
51
 
52
52
  .widget-body
53
53
  color: var(--text-p1)
@@ -1,44 +1,10 @@
1
1
  @require('_defines/const')
2
2
 
3
- // 通用主题色
4
- $color-theme = convert(hexo-config('style.color.theme'))
5
- $color-theme-opa = hsla(hue($color-theme), saturation($color-theme), lightness($color-theme), 0.3)
6
- $color-accent = convert(hexo-config('style.color.accent'))
7
- $color-link = convert(hexo-config('style.color.link'))
8
- $color-hover = convert(hexo-config('style.color.hover'))
9
-
10
- // 动态颜色
11
- $color-background = convert(hexo-config('style.color.background'))
12
- $color-block = convert(hexo-config('style.color.block'))
13
- $color-code = convert(hexo-config('style.color.code'))
14
- $color-text = convert(hexo-config('style.color.text'))
15
-
16
- $ff-body = system-ui, "Microsoft Yahei", "Segoe UI", -apple-system, Roboto, Ubuntu, "Helvetica Neue", Arial, "WenQuanYi Micro Hei", sans-serif
17
- $ff-codeblock = Menlo, Monaco, Consolas, system-ui, "Courier New", monospace, sans-serif
18
- $ff-code = $ff-codeblock
19
- $ff-logo = $ff-body
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
-
24
- $h3Left = "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 Solar by 480 Design - https://creativecommons.org/licenses/by/4.0/ --%3E%3Cpath fill='currentColor' fill-rule='evenodd' d='M13.488 4.43a.75.75 0 0 1 .081 1.058L7.988 12l5.581 6.512a.75.75 0 1 1-1.138.976l-6-7a.75.75 0 0 1 0-.976l6-7a.75.75 0 0 1 1.057-.081' clip-rule='evenodd'/%3E%3Cpath fill='currentColor' d='M17.75 5a.75.75 0 0 0-1.32-.488l-6 7a.75.75 0 0 0 0 .976l6 7A.75.75 0 0 0 17.75 19z'/%3E%3C/svg%3E"
25
- $h3Right = "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 Solar by 480 Design - https://creativecommons.org/licenses/by/4.0/ --%3E%3Cpath fill='currentColor' fill-rule='evenodd' d='M10.512 4.43a.75.75 0 0 0-.081 1.058L16.012 12l-5.581 6.512a.75.75 0 1 0 1.138.976l6-7a.75.75 0 0 0 0-.976l-6-7a.75.75 0 0 0-1.057-.081' clip-rule='evenodd'/%3E%3Cpath fill='currentColor' d='M6.25 5a.75.75 0 0 1 1.32-.488l6 7a.75.75 0 0 1 0 .976l-6 7A.75.75 0 0 1 6.25 19z'/%3E%3C/svg%3E"
26
-
27
- $loadingIcon = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%231cd0fd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath stroke-dasharray='16' stroke-dashoffset='16' d='M12 3c4.97 0 9 4.03 9 9'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.6s' values='16;0'/%3E%3CanimateTransform attributeName='transform' dur='3s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/path%3E%3Cpath stroke-dasharray='64' stroke-dashoffset='64' stroke-opacity='0.3' d='M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='2.4s' values='64;0'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E"
28
-
29
-
30
- if hexo-config('style.font-family.body')
31
- $ff-body = convert(hexo-config('style.font-family.body'))
32
-
33
- if hexo-config('style.font-family.code')
34
- $ff-code = convert(hexo-config('style.font-family.code'))
35
-
36
- if hexo-config('style.font-family.codeblock')
37
- $ff-codeblock = convert(hexo-config('style.font-family.codeblock'))
38
-
39
- if hexo-config('style.font-family.logo')
40
- $ff-logo = convert(hexo-config('style.font-family.logo'))
41
3
 
4
+ // font family
5
+ $ff-body = convert(hexo-config('style.font-family.body'))
6
+ $ff-code = convert(hexo-config('style.font-family.code'))
7
+ $ff-codeblock = convert(hexo-config('style.font-family.codeblock'))
42
8
 
43
9
  // font size
44
10
  $fs-root = convert(hexo-config('style.font-size.root'))
@@ -62,6 +28,28 @@ $fsp1 = 'calc(%s - 1px)' % $fs-body
62
28
  $fsp2 = 'calc(%s - 2px)' % $fs-body
63
29
  $fsp3 = 'calc(%s - 3px)' % $fs-body
64
30
 
31
+ // site main
32
+ $site-background = hexo-config('style.site.background-image')
33
+ $leftbar-background-image = hexo-config('style.leftbar.background-image')
34
+ $leftbar-background-color = hexo-config('style.leftbar.background-color')
35
+
36
+
37
+ // colors
38
+ $c-theme = hsl(192deg, 98%, 55%)
39
+ $c-accent = hsl(14deg, 100%, 57%)
40
+ $c-base-hue = 210deg // 背景/文本颜色的主基调(一般看不出来不需要修改)
41
+
42
+ // icons
43
+
44
+ $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"
45
+ $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"
46
+
47
+ $iH3Left = "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 Solar by 480 Design - https://creativecommons.org/licenses/by/4.0/ --%3E%3Cpath fill='currentColor' fill-rule='evenodd' d='M13.488 4.43a.75.75 0 0 1 .081 1.058L7.988 12l5.581 6.512a.75.75 0 1 1-1.138.976l-6-7a.75.75 0 0 1 0-.976l6-7a.75.75 0 0 1 1.057-.081' clip-rule='evenodd'/%3E%3Cpath fill='currentColor' d='M17.75 5a.75.75 0 0 0-1.32-.488l-6 7a.75.75 0 0 0 0 .976l6 7A.75.75 0 0 0 17.75 19z'/%3E%3C/svg%3E"
48
+ $iH3Right = "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 Solar by 480 Design - https://creativecommons.org/licenses/by/4.0/ --%3E%3Cpath fill='currentColor' fill-rule='evenodd' d='M10.512 4.43a.75.75 0 0 0-.081 1.058L16.012 12l-5.581 6.512a.75.75 0 1 0 1.138.976l6-7a.75.75 0 0 0 0-.976l-6-7a.75.75 0 0 0-1.057-.081' clip-rule='evenodd'/%3E%3Cpath fill='currentColor' d='M6.25 5a.75.75 0 0 1 1.32-.488l6 7a.75.75 0 0 1 0 .976l-6 7A.75.75 0 0 1 6.25 19z'/%3E%3C/svg%3E"
49
+
50
+ $iLoadingIcon = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%231cd0fd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath stroke-dasharray='16' stroke-dashoffset='16' d='M12 3c4.97 0 9 4.03 9 9'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.6s' values='16;0'/%3E%3CanimateTransform attributeName='transform' dur='3s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/path%3E%3Cpath stroke-dasharray='64' stroke-dashoffset='64' stroke-opacity='0.3' d='M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='2.4s' values='64;0'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E"
51
+
52
+
65
53
  $border-card-l = convert(hexo-config('style.border-radius.card-l'))
66
54
  $border-card = convert(hexo-config('style.border-radius.card'))
67
55
  $border-card-s = convert(hexo-config('style.border-radius.card-s'))
@@ -44,15 +44,11 @@ $color-google-red = #E8453C
44
44
  $c-red = #F44336
45
45
  $c-orange = #FA6400
46
46
  $c-amber = #FFBD2B
47
- $c-yellow = #f2e03d
47
+ $c-yellow = #ffe659
48
48
  $c-green = #3DC550
49
49
  $c-cyan = #1BCDFC
50
50
  $c-blue = #2196f3
51
51
  $c-purple = #9c27b0
52
52
 
53
- $hue-yellow = 50
54
- $cDeepOrange = hsl(14 100% 57%)
55
-
56
-
57
53
  $leftbar-bottom-margin = 96px
58
54
  $rightbar-bottom-margin = 96px
@@ -123,7 +123,7 @@ hoverable-card()
123
123
  floatable-float()
124
124
  ondark()
125
125
  &:hover
126
- box-shadow: 0 0 4px -2px $color-theme, 0 0 24px -8px $color-theme
126
+ box-shadow: 0 0 4px -2px var(--theme), 0 0 24px -8px var(--theme)
127
127
  :root[data-theme="light"] &
128
128
  onlight()
129
129
  :root[data-theme="dark"] &
@@ -149,11 +149,11 @@ newblur()
149
149
  &:before
150
150
  backdrop-filter: blur(8px)
151
151
  -webkit-backdrop-filter: blur(8px)
152
- background: var(--alpha20)
152
+ background: var(--bg-a20)
153
153
  &:after
154
154
  --blur-px: 24px
155
155
  --blur-sat: 500%
156
- background: var(--alpha50)
156
+ background: var(--bg-a50)
157
157
  backdrop-filter: saturate(var(--blur-sat)) blur(var(--blur-px))
158
158
  -webkit-backdrop-filter: saturate(var(--blur-sat)) blur(var(--blur-px))
159
159
  mask: linear-gradient(rgba(white, 1), 10%, rgba(white, 0.05), 90%, rgba(white, 1)), linear-gradient(90deg, rgba(white, 1), 10%, rgba(white, 0.05), 90%, rgba(white, 1))
@@ -162,4 +162,4 @@ newblur()
162
162
  trans1 all
163
163
  @media (prefers-color-scheme: dark)
164
164
  opacity 0.4
165
- background: var(--alpha20)
165
+ background: var(--bg-a20)