hexo-theme-stellar 1.31.0 → 1.32.0
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 +14 -12
- package/_data/icons.yml +3 -3
- package/layout/_partial/comments/artalk/script.ejs +1 -2
- package/layout/_partial/comments/layout.ejs +1 -1
- package/layout/_partial/head.ejs +15 -3
- package/layout/_partial/scripts/theme.ejs +3 -3
- package/layout/_partial/sidebar/index_leftbar.ejs +9 -9
- package/layout/index.ejs +3 -1
- package/layout/layout.ejs +3 -2
- package/package.json +4 -2
- package/scripts/events/index.js +39 -2
- package/scripts/events/lib/fix_image_tags.js +44 -0
- package/scripts/events/lib/get_image_ratios.js +88 -0
- package/scripts/events/lib/version-check.js +2 -0
- package/scripts/helpers/json_ld.js +5 -1
- package/scripts/tags/lib/image.js +16 -6
- package/scripts/tags/lib/timeline.js +1 -1
- package/scripts/tags/lib/video.js +2 -2
- package/source/css/_common/base.styl +1 -2
- package/source/css/_common/canonical.styl +1 -1
- package/source/css/_common/highlight.styl +1 -1
- package/source/css/_components/layout.styl +11 -10
- package/source/css/_components/list.styl +3 -0
- package/source/css/_components/main.styl +1 -1
- package/source/css/_components/md.styl +4 -2
- package/source/css/_components/pages/archives.styl +2 -2
- package/source/css/_components/pages/article-story.styl +6 -0
- package/source/css/_components/pages/article-tech.styl +1 -1
- package/source/css/_components/pages/notebook.styl +1 -1
- package/source/css/_components/partial/article-banner.styl +4 -1
- package/source/css/_components/partial/footer.styl +1 -1
- package/source/css/_components/partial/navbar.styl +2 -1
- package/source/css/_components/sidebar/nav-area.styl +1 -1
- package/source/css/_components/sidebar/search.styl +44 -21
- package/source/css/_components/sidebar/sidebar.styl +9 -5
- package/source/css/_components/tag-plugins/banner.styl +1 -1
- package/source/css/_components/tag-plugins/button.styl +3 -4
- package/source/css/_components/tag-plugins/copy.styl +1 -1
- package/source/css/_components/tag-plugins/friends.styl +1 -1
- package/source/css/_components/tag-plugins/gallery.styl +6 -0
- package/source/css/_components/tag-plugins/image.styl +10 -0
- package/source/css/_components/tag-plugins/note.styl +1 -1
- package/source/css/_components/tag-plugins/override.styl +1 -1
- package/source/css/_components/tag-plugins/quot.styl +2 -2
- package/source/css/_components/tag-plugins/tabs.styl +4 -3
- package/source/css/_components/tag-plugins/timeline.styl +2 -2
- package/source/css/_components/tag-plugins/toc.styl +1 -1
- package/source/css/_components/widgets/markdown.styl +0 -7
- package/source/css/_components/widgets/toc.styl +6 -4
- package/source/css/_components/widgets/widgets.styl +0 -5
- package/source/css/_custom.styl +5 -7
- package/source/css/_defines/const.styl +1 -1
- package/source/css/_defines/func.styl +9 -5
- package/source/css/_defines/theme.styl +4 -15
- package/source/css/_plugins/comments/artalk.styl +114 -2
- package/source/css/_plugins/comments/twikoo.styl +3 -3
- package/source/css/_plugins/index.styl +5 -5
- package/source/css/_plugins/lazyload.styl +49 -2
- package/source/js/search/local-search.js +163 -151
- package/source/js/services/artalk_latest_comment.js +1 -1
- package/layout/_partial/widgets/search.ejs +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
.l_body
|
|
2
2
|
display: grid
|
|
3
3
|
grid-template-columns: 1fr minmax(200px,var(--width-main)) 1fr
|
|
4
|
-
grid-gap: var(--gap-margin)
|
|
4
|
+
grid-gap: calc(var(--gap-margin) * 4)
|
|
5
|
+
@media screen and (max-width: $device-desktop)
|
|
6
|
+
grid-gap: calc(var(--gap-margin) * 2)
|
|
5
7
|
margin: auto
|
|
6
8
|
font-size: var(--fsp)
|
|
7
9
|
|
|
@@ -16,11 +18,10 @@
|
|
|
16
18
|
|
|
17
19
|
.l_body .l_left
|
|
18
20
|
justify-self: right
|
|
19
|
-
top:
|
|
21
|
+
top: calc(var(--gap-margin) * 2)
|
|
20
22
|
.l_body .l_right
|
|
21
23
|
justify-self: left
|
|
22
|
-
--gap-margin
|
|
23
|
-
max-height: calc(100% - 8px * 2)
|
|
24
|
+
max-height: calc(100% - calc(var(--gap-margin) * 2) * 2)
|
|
24
25
|
.widgets
|
|
25
26
|
height: 100%
|
|
26
27
|
overflow visible
|
|
@@ -32,16 +33,16 @@
|
|
|
32
33
|
.laptop-only
|
|
33
34
|
display: block !important
|
|
34
35
|
.l_body
|
|
36
|
+
grid-gap: calc(var(--gap-margin) * 1)
|
|
35
37
|
.l_right
|
|
36
|
-
top: 8px
|
|
37
38
|
position: fixed
|
|
38
39
|
transform: translateX(320px)
|
|
39
40
|
transition: transform .38s ease-out
|
|
40
41
|
margin: 0
|
|
41
42
|
--inset: 8px
|
|
42
43
|
right: var(--inset)
|
|
43
|
-
top: var(--
|
|
44
|
-
max-height: 'calc(%s - %s)' % (100vh $rightbar-bottom-margin)
|
|
44
|
+
top: calc(var(--gap-margin) * 2)
|
|
45
|
+
max-height: 'calc(%s - %s * 2 - %s)' % (100vh var(--gap-margin) $rightbar-bottom-margin)
|
|
45
46
|
box-shadow: $boxshadow-card-float
|
|
46
47
|
z-index: 10
|
|
47
48
|
background: var(--site-bg)
|
|
@@ -70,11 +71,11 @@
|
|
|
70
71
|
margin: 0
|
|
71
72
|
--inset: 8px
|
|
72
73
|
left: var(--inset)
|
|
73
|
-
top: var(--
|
|
74
|
-
max-height: 'calc(%s - %s)' % (100vh $leftbar-bottom-margin)
|
|
74
|
+
top: calc(var(--gap-margin) * 2)
|
|
75
|
+
max-height: 'calc(%s - %s * 2 - %s)' % (100vh var(--gap-margin) $leftbar-bottom-margin)
|
|
75
76
|
.leftbar-container
|
|
76
77
|
--inset: 8px
|
|
77
|
-
height: 'calc(%s - %s)' % (100vh $leftbar-bottom-margin)
|
|
78
|
+
height: 'calc(%s - %s * 2 - %s)' % (100vh var(--gap-margin) $leftbar-bottom-margin)
|
|
78
79
|
box-shadow: $boxshadow-card-float
|
|
79
80
|
z-index: 10
|
|
80
81
|
.l_main
|
|
@@ -120,13 +120,16 @@
|
|
|
120
120
|
right: 0
|
|
121
121
|
height: var(--blur-height)
|
|
122
122
|
backdrop-filter: saturate(var(--blur-sat)) blur(var(--blur-px))
|
|
123
|
+
-webkit-backdrop-filter: saturate(var(--blur-sat)) blur(var(--blur-px))
|
|
123
124
|
trans1 all
|
|
124
125
|
&[position=top]:before
|
|
125
126
|
top: 0
|
|
126
127
|
mask: linear-gradient(black, rgba(black, 0.75), transparent)
|
|
128
|
+
-webkit-mask: linear-gradient(black, rgba(black, 0.75), transparent)
|
|
127
129
|
&[position=bottom]:before
|
|
128
130
|
bottom: 0
|
|
129
131
|
mask: linear-gradient(transparent, rgba(black, 0.75), black)
|
|
132
|
+
-webkit-mask: linear-gradient(transparent, rgba(black, 0.75), black)
|
|
130
133
|
.cover-info
|
|
131
134
|
padding: 1.5rem 1rem
|
|
132
135
|
position: absolute
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
ul:not(:last-child),
|
|
25
25
|
ol:not(:last-child)
|
|
26
26
|
padding-bottom: .5rem
|
|
27
|
-
margin: 0
|
|
27
|
+
margin: 0 .25rem
|
|
28
28
|
blockquote,ul,ol
|
|
29
29
|
p,ul,ol
|
|
30
30
|
--fsp: $fsp1
|
|
@@ -75,9 +75,11 @@
|
|
|
75
75
|
|
|
76
76
|
// 图片样式
|
|
77
77
|
.md-text img
|
|
78
|
-
border-radius: $border-image
|
|
79
78
|
margin: auto
|
|
80
79
|
display: block
|
|
80
|
+
.md-text.content
|
|
81
|
+
p>img, .tag-plugin.image .image-bg
|
|
82
|
+
border-radius: $border-image
|
|
81
83
|
|
|
82
84
|
// 链接样式
|
|
83
85
|
li:not([class]) a:not([class])
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
opacity: .5
|
|
68
68
|
font-size: $fs-12
|
|
69
69
|
&:hover
|
|
70
|
-
background: var(--block-
|
|
70
|
+
background: var(--block-border)
|
|
71
71
|
color: var(--text)
|
|
72
72
|
.badge
|
|
73
73
|
opacity: 1
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
color $color-theme
|
|
100
100
|
opacity: 1
|
|
101
101
|
color: var(--text)
|
|
102
|
-
background: var(--block-
|
|
102
|
+
background: var(--block-border)
|
|
103
103
|
|
|
104
104
|
@media screen and (min-width: $device-mobile)
|
|
105
105
|
.post-list.author #archive
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
.l_body[type=story] .md-text.content
|
|
2
2
|
--fsp: 'calc(%s + 1px)' % $fs-body
|
|
3
|
+
--gap-p: 2rem
|
|
4
|
+
div.tag-plugin,p>img
|
|
5
|
+
margin-top: 2.4rem
|
|
6
|
+
margin-bottom: 2.4rem
|
|
3
7
|
// 段落标题
|
|
4
8
|
h1,h2,h3,h4,h5,h6
|
|
5
9
|
color: var(--text)
|
|
@@ -116,6 +120,8 @@
|
|
|
116
120
|
text-indent: 0
|
|
117
121
|
text-align: convert(hexo-config('style.text-align'))
|
|
118
122
|
|
|
123
|
+
p>img, .tag-plugin.image .image-bg
|
|
124
|
+
border-radius: $border-image-l
|
|
119
125
|
|
|
120
126
|
|
|
121
127
|
.l_body[type=story] .article.banner .content .bottom.only-title
|
|
@@ -49,18 +49,21 @@
|
|
|
49
49
|
position: absolute
|
|
50
50
|
z-index 0
|
|
51
51
|
left: 0
|
|
52
|
-
|
|
52
|
+
right: 0
|
|
53
53
|
backdrop-filter: saturate(var(--blur-sat)) blur(var(--blur-px))
|
|
54
|
+
-webkit-backdrop-filter: saturate(var(--blur-sat)) blur(var(--blur-px))
|
|
54
55
|
trans1 all
|
|
55
56
|
opacity var(--blur-opacity)
|
|
56
57
|
&:before
|
|
57
58
|
top: 0
|
|
58
59
|
height: var(--blur-height-top)
|
|
59
60
|
mask: linear-gradient(black, rgba(black, 0.75), transparent)
|
|
61
|
+
-webkit-mask: linear-gradient(black, rgba(black, 0.75), transparent)
|
|
60
62
|
&:after
|
|
61
63
|
bottom: 0
|
|
62
64
|
height: var(--blur-height-bottom)
|
|
63
65
|
mask: linear-gradient(transparent, rgba(black, 0.75), black)
|
|
66
|
+
-webkit-mask: linear-gradient(transparent, rgba(black, 0.75), black)
|
|
64
67
|
.top,.bottom
|
|
65
68
|
z-index 1
|
|
66
69
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.navbar
|
|
2
2
|
z-index: 8
|
|
3
|
-
top:
|
|
3
|
+
top: calc(var(--gap-margin) * 2)
|
|
4
4
|
position: sticky
|
|
5
5
|
position: -webkit-sticky
|
|
6
6
|
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
cursor default
|
|
47
47
|
pointer-events: none
|
|
48
48
|
backdrop-filter: saturate(300%)
|
|
49
|
+
-webkit-backdrop-filter: saturate(300%)
|
|
49
50
|
&.active:after
|
|
50
51
|
content: ''
|
|
51
52
|
a+a
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
.nav-area
|
|
2
|
-
margin:
|
|
2
|
+
margin: 1rem var(--gap-margin) 0
|
|
@@ -1,21 +1,40 @@
|
|
|
1
1
|
|
|
2
2
|
.search-wrapper
|
|
3
|
+
padding-bottom: 32px
|
|
3
4
|
width: 100%
|
|
5
|
+
border-radius: $border-card-s
|
|
4
6
|
>.search-form
|
|
5
7
|
position: sticky
|
|
6
|
-
|
|
7
|
-
top: 1rem
|
|
8
|
+
top: 0
|
|
8
9
|
height: 40px
|
|
9
10
|
display: flex
|
|
10
11
|
flex-direction: row
|
|
11
12
|
align-items: center
|
|
12
13
|
transition: 0.38s ease-out
|
|
13
|
-
z-index:
|
|
14
|
-
border-radius: $border-
|
|
14
|
+
z-index: 1
|
|
15
|
+
border-radius: $border-card-s
|
|
15
16
|
color: var(--text)
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
>*
|
|
18
|
+
z-index: 1
|
|
19
|
+
&:before
|
|
20
|
+
position: absolute
|
|
21
|
+
content: ''
|
|
22
|
+
height: 2px
|
|
23
|
+
bottom: 0
|
|
24
|
+
left: 1rem
|
|
25
|
+
right: 1rem
|
|
26
|
+
border-radius: $border-bar
|
|
18
27
|
background: var(--alpha100)
|
|
28
|
+
@media screen and (prefers-color-scheme: dark)
|
|
29
|
+
background: var(--alpha20)
|
|
30
|
+
z-index 0
|
|
31
|
+
trans1 all
|
|
32
|
+
&:hover,&:has(input:focus),&:has(input:not(:placeholder-shown))
|
|
33
|
+
&:before
|
|
34
|
+
background: var(--alpha100)
|
|
35
|
+
height: 100%
|
|
36
|
+
left: 0
|
|
37
|
+
right: 0
|
|
19
38
|
.search-input
|
|
20
39
|
width: 100%
|
|
21
40
|
box-sizing: border-box
|
|
@@ -23,6 +42,10 @@
|
|
|
23
42
|
font-size: $fs-14
|
|
24
43
|
padding: 12px 0
|
|
25
44
|
color: var(--text)
|
|
45
|
+
&::placeholder
|
|
46
|
+
color: var(--text-p3)
|
|
47
|
+
@media screen and (prefers-color-scheme: dark)
|
|
48
|
+
color: var(--text-p2)
|
|
26
49
|
.search-button
|
|
27
50
|
border-radius: $border-bar
|
|
28
51
|
display: flex
|
|
@@ -30,8 +53,7 @@
|
|
|
30
53
|
height: 40px
|
|
31
54
|
svg
|
|
32
55
|
height: 1rem
|
|
33
|
-
width:
|
|
34
|
-
margin-left: 4px
|
|
56
|
+
width: calc((var(--side-content-width) + var(--gap-padding) * 2 - 3 * 8px) * 0.25)
|
|
35
57
|
color: var(--text-p2)
|
|
36
58
|
fill: currentColor
|
|
37
59
|
path[p-id="1562"]
|
|
@@ -52,33 +74,34 @@
|
|
|
52
74
|
text-align: center
|
|
53
75
|
font-size: $fs-14
|
|
54
76
|
padding: 2rem
|
|
77
|
+
margin: 8px 0
|
|
55
78
|
background: var(--alpha20)
|
|
56
|
-
border-radius: $border-card
|
|
79
|
+
border-radius: $border-card-s
|
|
57
80
|
|
|
58
81
|
|
|
59
82
|
#search-result
|
|
60
83
|
max-height: 60vh
|
|
61
|
-
overflow:
|
|
84
|
+
overflow: auto
|
|
62
85
|
scrollbar-width: none
|
|
63
86
|
scrollbar(0, 0)
|
|
64
|
-
border-radius: $border-
|
|
87
|
+
border-radius: $border-bar
|
|
65
88
|
&:empty
|
|
66
89
|
display: none
|
|
67
90
|
.search-result-list
|
|
68
91
|
padding: 0
|
|
69
|
-
margin: 0
|
|
92
|
+
margin: 8px 0
|
|
70
93
|
list-style-type: none
|
|
71
94
|
li a
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
95
|
+
display: block
|
|
96
|
+
background: var(--alpha20)
|
|
97
|
+
line-height: 1.2
|
|
98
|
+
padding: 0.75rem 1rem
|
|
99
|
+
border-radius: $border-card-s
|
|
100
|
+
trans1 background
|
|
101
|
+
&:hover
|
|
102
|
+
background: var(--alpha100)
|
|
80
103
|
li+li
|
|
81
|
-
|
|
104
|
+
margin-top: 8px
|
|
82
105
|
.search-result-title
|
|
83
106
|
color: var(--text-p1)
|
|
84
107
|
font-weight: 700
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
.l_left
|
|
2
|
-
margin:
|
|
3
|
-
max-height: 'calc(%s -
|
|
2
|
+
margin: calc(var(--gap-margin) * 2) var(--gap-margin)
|
|
3
|
+
max-height: 'calc(%s - %s * 2 - %s)' % (100vh var(--gap-margin) $leftbar-bottom-margin)
|
|
4
4
|
border-radius: $border-card-l
|
|
5
5
|
.header
|
|
6
6
|
margin: var(--gap-max) var(--gap-margin) 0
|
|
7
7
|
|
|
8
8
|
.l_right
|
|
9
|
-
margin:
|
|
9
|
+
margin: calc(var(--gap-margin) * 2) 0
|
|
10
10
|
border-radius: $border-card-l
|
|
11
11
|
@media screen and (min-width: $device-2k)
|
|
12
12
|
.l_left
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
background: convert(hexo-config('style.leftbar.background'))
|
|
45
45
|
|
|
46
46
|
.leftbar-container
|
|
47
|
-
height: 'calc(%s -
|
|
47
|
+
height: 'calc(%s - %s * 2 - %s)' % (100vh var(--gap-margin) $leftbar-bottom-margin)
|
|
48
48
|
display: flex
|
|
49
49
|
flex-direction: column
|
|
50
50
|
word-break: break-all
|
|
@@ -52,7 +52,9 @@
|
|
|
52
52
|
border-radius: $border-card-l
|
|
53
53
|
overflow: hidden
|
|
54
54
|
>.widgets
|
|
55
|
-
|
|
55
|
+
border-radius: $border-bar
|
|
56
|
+
mask: linear-gradient(white, 90%, transparent)
|
|
57
|
+
-webkit-mask: linear-gradient(white, 90%, transparent)
|
|
56
58
|
>*
|
|
57
59
|
z-index 1
|
|
58
60
|
&:before,&:after
|
|
@@ -69,7 +71,9 @@
|
|
|
69
71
|
background: rgba(white, 0.5)
|
|
70
72
|
box-shadow: inset 0 0 32px 1px rgba(white, 0.5)
|
|
71
73
|
backdrop-filter: saturate(300%)
|
|
74
|
+
-webkit-backdrop-filter: saturate(300%)
|
|
72
75
|
mask: linear-gradient(black, rgba(black, 0.5), 70%, transparent, 90%, transparent)
|
|
76
|
+
-webkit-mask: linear-gradient(black, rgba(black, 0.5), 70%, transparent, 90%, transparent)
|
|
73
77
|
|
|
74
78
|
@media screen and (prefers-color-scheme: dark)
|
|
75
79
|
background: rgba(white, 0.05)
|
|
@@ -4,7 +4,7 @@ a.tag-plugin.button
|
|
|
4
4
|
display: inline-flex
|
|
5
5
|
align-items: baseline
|
|
6
6
|
justify-content: center
|
|
7
|
-
padding: 0
|
|
7
|
+
padding: 0 .5rem
|
|
8
8
|
trans1 background
|
|
9
9
|
margin: .5em 0
|
|
10
10
|
font-size: 1em
|
|
@@ -23,10 +23,9 @@ a.tag-plugin.button
|
|
|
23
23
|
a.tag-plugin.button[size='xs']
|
|
24
24
|
margin: 0
|
|
25
25
|
border-radius: 4px
|
|
26
|
-
|
|
26
|
+
padding: 0 4px
|
|
27
|
+
svg,img,span
|
|
27
28
|
margin: 0 2px
|
|
28
|
-
span
|
|
29
|
-
margin: 2px
|
|
30
29
|
|
|
31
30
|
a.tag-plugin.button:hover
|
|
32
31
|
--theme: $color-hover
|
|
@@ -96,6 +96,8 @@
|
|
|
96
96
|
img
|
|
97
97
|
width: 100%
|
|
98
98
|
height: 100%
|
|
99
|
+
&.loading
|
|
100
|
+
background-size: convert(hexo-config('plugins.lazyload.loading_image.size'))
|
|
99
101
|
|
|
100
102
|
// 瀑布流布局
|
|
101
103
|
.tag-plugin.gallery.flow-box
|
|
@@ -107,6 +109,10 @@
|
|
|
107
109
|
img
|
|
108
110
|
width: 100%
|
|
109
111
|
height: 100%
|
|
112
|
+
border-radius: 8px
|
|
113
|
+
&:has(img.loading),&:has(img.error)
|
|
114
|
+
img
|
|
115
|
+
background-color: var(--block)
|
|
110
116
|
.image-meta
|
|
111
117
|
border-radius: 8px
|
|
112
118
|
margin-bottom: 8px
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
.tag-plugin.image
|
|
2
2
|
margin-top: 1rem
|
|
3
3
|
margin-bottom: 1rem
|
|
4
|
+
box-sizing: border-box
|
|
4
5
|
.image-bg
|
|
5
6
|
text-align: center
|
|
6
7
|
border-radius: $border-image
|
|
7
8
|
position: relative
|
|
8
9
|
overflow: hidden
|
|
10
|
+
display: flex
|
|
11
|
+
box-sizing: border-box
|
|
12
|
+
flex-direction: column
|
|
13
|
+
justify-content: center
|
|
14
|
+
align-items: center
|
|
15
|
+
margin: auto
|
|
16
|
+
max-width: 100%
|
|
17
|
+
&:has(img.lazy.loading),&:has(img.lazy.error)
|
|
18
|
+
background-color: var(--block)
|
|
9
19
|
&:hover
|
|
10
20
|
.image-download
|
|
11
21
|
opacity: 1 !important
|
|
@@ -84,14 +84,14 @@
|
|
|
84
84
|
bottom: -8px
|
|
85
85
|
border-radius: 100%
|
|
86
86
|
background: var(--text)
|
|
87
|
-
opacity: 0.
|
|
87
|
+
opacity: 0.1
|
|
88
88
|
filter: blur(2px)
|
|
89
89
|
trans1 all
|
|
90
90
|
&:hover
|
|
91
91
|
.content
|
|
92
92
|
transform: translateY(-4px) scale(1.05)
|
|
93
93
|
.text:after
|
|
94
|
-
opacity: 0.
|
|
94
|
+
opacity: 0.2
|
|
95
95
|
filter: blur(8px)
|
|
96
96
|
transform: translateY(4px) scale(1.2, 1.5)
|
|
97
97
|
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
&:after
|
|
33
33
|
content: ''
|
|
34
34
|
position: absolute
|
|
35
|
-
background: var(--block-
|
|
35
|
+
background: var(--block-border)
|
|
36
36
|
width: 100%
|
|
37
37
|
height: 2px
|
|
38
38
|
bottom: 0
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
margin: 0 2px
|
|
55
55
|
&:hover
|
|
56
56
|
color: var(--text-p1)
|
|
57
|
-
background: var(--block-
|
|
57
|
+
background: var(--block-border)
|
|
58
58
|
i
|
|
59
59
|
pointer-events: none
|
|
60
60
|
&.active a
|
|
@@ -81,9 +81,10 @@
|
|
|
81
81
|
flex-direction: column
|
|
82
82
|
.tab-pane
|
|
83
83
|
display: block
|
|
84
|
-
|
|
84
|
+
max-width: 100%
|
|
85
85
|
&:not(.active)
|
|
86
86
|
height: 0
|
|
87
|
+
overflow: hidden
|
|
87
88
|
&.active
|
|
88
89
|
height: auto
|
|
89
90
|
.tab-content:has(.grid-box),.tab-pane:has(.grid-box)
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
content: ''
|
|
6
6
|
position: absolute
|
|
7
7
|
z-index: 0
|
|
8
|
-
background: var(--block
|
|
8
|
+
background: var(--block)
|
|
9
9
|
width: 4px
|
|
10
10
|
left: 0px
|
|
11
11
|
border-radius: 8px
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
border-color: var(--block-border)
|
|
184
184
|
color: inherit
|
|
185
185
|
&:hover
|
|
186
|
-
background: var(--block-
|
|
186
|
+
background: var(--block-border)
|
|
187
187
|
|
|
188
188
|
.reaction
|
|
189
189
|
border-color: var(--block)
|
|
@@ -5,13 +5,6 @@
|
|
|
5
5
|
background: var(--alpha50)
|
|
6
6
|
>*:first-child
|
|
7
7
|
margin-top: .75rem
|
|
8
|
-
a:not([class])
|
|
9
|
-
trans1 all
|
|
10
|
-
border-bottom: 1px solid var(--text)
|
|
11
|
-
color: var(--text)
|
|
12
|
-
&:hover
|
|
13
|
-
color: $color-hover
|
|
14
|
-
border-bottom: 1px solid $color-hover
|
|
15
8
|
|
|
16
9
|
.widget-wrapper.markdown .linklist
|
|
17
10
|
margin: 1em 0
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
background: $color-theme
|
|
44
44
|
border-radius: 4px
|
|
45
45
|
&:hover
|
|
46
|
-
background: var(--block-
|
|
46
|
+
background: var(--block-border)
|
|
47
47
|
color: var(--text)
|
|
48
48
|
|
|
49
49
|
// 固定位置
|
|
@@ -51,13 +51,15 @@
|
|
|
51
51
|
margin-top: 0
|
|
52
52
|
position: sticky
|
|
53
53
|
position: -webkit-sticky
|
|
54
|
-
top:
|
|
54
|
+
top: calc(var(--gap-margin) * 1)
|
|
55
55
|
padding: 16px 0
|
|
56
56
|
&:first-child
|
|
57
|
-
top:
|
|
57
|
+
top: calc(var(--gap-margin) * 2)
|
|
58
58
|
padding-top: 1rem
|
|
59
59
|
.widget-body .toc
|
|
60
60
|
max-height: 70vh
|
|
61
|
+
@media screen and (max-width: $device-desktop)
|
|
62
|
+
max-height: 60vh
|
|
61
63
|
@media screen and (max-width: $device-laptop)
|
|
62
64
|
max-height: unset
|
|
63
65
|
overflow: auto
|
|
@@ -159,7 +161,7 @@
|
|
|
159
161
|
width: auto
|
|
160
162
|
margin-right: 8px
|
|
161
163
|
a:hover
|
|
162
|
-
background: var(--block-
|
|
164
|
+
background: var(--block-border)
|
|
163
165
|
color: var(--text)
|
|
164
166
|
|
|
165
167
|
.widget-wrapper.toc+.widget-wrapper
|
package/source/css/_custom.styl
CHANGED
|
@@ -24,6 +24,9 @@ $iQuoteRight = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' wid
|
|
|
24
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
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
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
|
+
|
|
27
30
|
if hexo-config('style.font-family.body')
|
|
28
31
|
$ff-body = convert(hexo-config('style.font-family.body'))
|
|
29
32
|
|
|
@@ -63,7 +66,9 @@ $border-card-l = convert(hexo-config('style.border-radius.card-l'))
|
|
|
63
66
|
$border-card = convert(hexo-config('style.border-radius.card'))
|
|
64
67
|
$border-card-s = convert(hexo-config('style.border-radius.card-s'))
|
|
65
68
|
$border-bar = convert(hexo-config('style.border-radius.bar'))
|
|
69
|
+
$border-image-l = convert(hexo-config('style.border-radius.image-l'))
|
|
66
70
|
$border-image = convert(hexo-config('style.border-radius.image'))
|
|
71
|
+
$border-image-s = convert(hexo-config('style.border-radius.image-s'))
|
|
67
72
|
$border-button = 8px
|
|
68
73
|
|
|
69
74
|
// 可以动态变化的属性
|
|
@@ -100,13 +105,6 @@ $border-button = 8px
|
|
|
100
105
|
// 元素文本内容到容器边缘的间距
|
|
101
106
|
--gap-max: calc(var(--gap-margin) + var(--gap-padding))
|
|
102
107
|
|
|
103
|
-
// 文章布局风格
|
|
104
|
-
.l_body[type=story]
|
|
105
|
-
--gap-p: 2rem
|
|
106
|
-
div.tag-plugin,p>img
|
|
107
|
-
margin-top: 2.4rem
|
|
108
|
-
margin-bottom: 2.4rem
|
|
109
|
-
|
|
110
108
|
// shadow
|
|
111
109
|
$boxshadow-card = 0 1px 2px 0px rgba(0, 0, 0, 0.1)
|
|
112
110
|
$boxshadow-float = 0 4px 8px 0px rgba(0, 0, 0, 0.1)
|