hexo-theme-stellar 1.33.0 → 1.34.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/CLAUDE.md +217 -0
- package/README.md +2 -0
- package/_config.yml +35 -26
- package/docs/audits/2026-08-08-stellar-analysis.md +267 -0
- package/docs/release-process.md +59 -0
- package/layout/_partial/comments/artalk/script.ejs +56 -41
- package/layout/_partial/comments/beaudar/script.ejs +35 -20
- package/layout/_partial/comments/giscus/script.ejs +34 -19
- package/layout/_partial/comments/twikoo/script.ejs +29 -14
- package/layout/_partial/comments/utterances/script.ejs +35 -20
- package/layout/_partial/comments/waline/script.ejs +40 -28
- package/layout/_partial/cover/wiki_cover.ejs +1 -1
- package/layout/_partial/head.ejs +53 -4
- package/layout/_partial/scripts/defines.ejs +21 -3
- package/layout/_partial/scripts/lazyload.ejs +2 -2
- package/layout/_partial/scripts/services.ejs +101 -41
- package/layout/_partial/scripts/utils.ejs +144 -5
- package/layout/_partial/sidebar/index_leftbar.ejs +3 -0
- package/layout/_partial/sidebar/search.ejs +3 -0
- package/layout/_partial/widgets/ghuser.ejs +18 -4
- package/layout/_partial/widgets/linklist.ejs +1 -1
- package/layout/_partial/widgets/timeline.ejs +36 -33
- package/layout/_plugins/copycode.ejs +9 -5
- package/layout/_plugins/mathjax.ejs +47 -18
- package/layout/_plugins/mermaid.ejs +28 -24
- package/layout/_plugins/pjax.ejs +8 -0
- package/layout/_plugins/scrollreveal.ejs +14 -13
- package/layout/_plugins/swiper.ejs +2 -2
- package/layout/index.ejs +4 -2
- package/layout/index_topic.ejs +4 -2
- package/layout/index_wiki.ejs +6 -4
- package/layout/layout.ejs +3 -2
- package/package.json +2 -1
- package/scripts/commands/new-note.js +49 -0
- package/scripts/filters/lib/img_onerror.js +0 -2
- package/scripts/helpers/json_ld.js +11 -8
- package/scripts/helpers/pretty_url.js +5 -0
- package/scripts/tags/lib/chat.js +16 -9
- package/scripts/tags/lib/frame.js +2 -1
- package/scripts/tags/lib/image.js +6 -5
- package/scripts/tags/lib/link.js +6 -4
- package/scripts/tags/lib/timeline.js +101 -79
- package/source/css/_common/canonical.styl +11 -6
- package/source/css/_common/highlight.styl +4 -1
- package/source/css/_common/html.styl +4 -0
- package/source/css/_common/loading.styl +5 -1
- package/source/css/_components/md.styl +3 -0
- package/source/css/_components/pages/article-story.styl +2 -0
- package/source/css/_components/partial/article-footer.styl +1 -0
- package/source/css/_components/partial/navbar.styl +4 -2
- package/source/css/_components/sidebar/menu.styl +1 -0
- package/source/css/_components/sidebar/search.styl +4 -0
- package/source/css/_components/sidebar/sidebar.styl +12 -5
- package/source/css/_components/tag-plugins/chat.styl +6 -8
- package/source/css/_components/tag-plugins/folding.styl +1 -0
- package/source/css/_components/tag-plugins/gallery.styl +2 -0
- package/source/css/_components/tag-plugins/grid.styl +1 -0
- package/source/css/_components/tag-plugins/image.styl +3 -0
- package/source/css/_components/tag-plugins/link.styl +1 -0
- package/source/css/_components/tag-plugins/navbar.styl +15 -13
- package/source/css/_components/tag-plugins/note.styl +1 -0
- package/source/css/_components/tag-plugins/okr.styl +1 -0
- package/source/css/_components/tag-plugins/sites.styl +2 -0
- package/source/css/_components/tag-plugins/timeline.styl +9 -0
- package/source/css/_components/tag-plugins/vote.styl +2 -0
- package/source/css/_components/widgets/components.styl +1 -0
- package/source/css/_components/widgets/ghuser.styl +19 -3
- package/source/css/_components/widgets/list.styl +1 -0
- package/source/css/_components/widgets/toc.styl +3 -0
- package/source/css/_components/widgets/widgets.styl +4 -0
- package/source/css/_custom.styl +6 -3
- package/source/css/_defines/func.styl +24 -8
- package/source/css/_defines/theme_base.styl +1 -1
- package/source/css/_plugins/comments/artalk.styl +6 -2
- package/source/css/_plugins/comments/twikoo.styl +2 -0
- package/source/css/_plugins/index.styl +2 -0
- package/source/css/_plugins/pjax.styl +61 -0
- package/source/js/main.js +80 -26
- package/source/js/plugins/copycode.js +34 -27
- package/source/js/plugins/pjax.js +646 -0
- package/source/js/search/local-search.js +5 -2
- package/source/js/services/memos.js +42 -4
- package/source/js/services/rss.js +200 -0
|
@@ -1,79 +1,101 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* timeline.js v2.1 | https://github.com/xaoxuu/hexo-theme-stellar/
|
|
3
|
-
*
|
|
4
|
-
* {% timeline %}
|
|
5
|
-
*
|
|
6
|
-
* <!-- node header1 -->
|
|
7
|
-
* what happened 1
|
|
8
|
-
*
|
|
9
|
-
* <!-- node header2 -->
|
|
10
|
-
* what happened 2
|
|
11
|
-
*
|
|
12
|
-
* {% endtimeline %}
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
'use strict'
|
|
16
|
-
|
|
17
|
-
function layoutNodeTitle(ctx, content) {
|
|
18
|
-
var el = ''
|
|
19
|
-
el += '<div class="header">'
|
|
20
|
-
if (content && content.length > 0) {
|
|
21
|
-
el += `<span>${content}</span>`
|
|
22
|
-
}
|
|
23
|
-
el += '</div>'
|
|
24
|
-
return el
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function layoutNodeContent(ctx, content) {
|
|
28
|
-
var el = ''
|
|
29
|
-
el += '<div class="body fs14">'
|
|
30
|
-
if (content && content.length > 0) {
|
|
31
|
-
el += ctx.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('')
|
|
32
|
-
}
|
|
33
|
-
el += '</div>'
|
|
34
|
-
return el
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
module.exports = ctx => function(
|
|
38
|
-
args =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
1
|
+
/**
|
|
2
|
+
* timeline.js v2.1 | https://github.com/xaoxuu/hexo-theme-stellar/
|
|
3
|
+
*
|
|
4
|
+
* {% timeline %}
|
|
5
|
+
*
|
|
6
|
+
* <!-- node header1 -->
|
|
7
|
+
* what happened 1
|
|
8
|
+
*
|
|
9
|
+
* <!-- node header2 -->
|
|
10
|
+
* what happened 2
|
|
11
|
+
*
|
|
12
|
+
* {% endtimeline %}
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
'use strict'
|
|
16
|
+
|
|
17
|
+
function layoutNodeTitle(ctx, content) {
|
|
18
|
+
var el = ''
|
|
19
|
+
el += '<div class="header">'
|
|
20
|
+
if (content && content.length > 0) {
|
|
21
|
+
el += `<span>${content}</span>`
|
|
22
|
+
}
|
|
23
|
+
el += '</div>'
|
|
24
|
+
return el
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function layoutNodeContent(ctx, content) {
|
|
28
|
+
var el = ''
|
|
29
|
+
el += '<div class="body fs14">'
|
|
30
|
+
if (content && content.length > 0) {
|
|
31
|
+
el += ctx.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('')
|
|
32
|
+
}
|
|
33
|
+
el += '</div>'
|
|
34
|
+
return el
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
module.exports = ctx => function(rawArgs, content = '') {
|
|
38
|
+
let args = {}
|
|
39
|
+
for (const item of rawArgs) {
|
|
40
|
+
if (typeof item !== 'string') continue
|
|
41
|
+
const idx = item.indexOf(':')
|
|
42
|
+
if (idx === -1) continue
|
|
43
|
+
|
|
44
|
+
const key = item.slice(0, idx)
|
|
45
|
+
const value = item.slice(idx + 1)
|
|
46
|
+
args[key] = value
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const type = args.type || 'timeline'
|
|
50
|
+
|
|
51
|
+
let classBuffer = ''
|
|
52
|
+
let attrBuffer = ''
|
|
53
|
+
if (args.api) {
|
|
54
|
+
args['data-api'] = args.api
|
|
55
|
+
delete args.api
|
|
56
|
+
|
|
57
|
+
const attrKeys = Object.keys(args).filter(
|
|
58
|
+
key =>
|
|
59
|
+
key !== 'type' &&
|
|
60
|
+
args[key] !== undefined &&
|
|
61
|
+
args[key] !== null &&
|
|
62
|
+
args[key] !== ''
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
classBuffer += ` data-service ds-${type}`
|
|
66
|
+
|
|
67
|
+
if (attrKeys.length) {
|
|
68
|
+
attrBuffer += ' ' + ctx.args.joinTags(args, attrKeys).join(' ')
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
let el = `<div class="tag-plugin timeline${classBuffer}"${attrBuffer}>`
|
|
73
|
+
|
|
74
|
+
var arr = content.split(/<!--\s*node (.*?)\s*-->/g).filter(item => item.trim().length > 0)
|
|
75
|
+
if (arr.length > 0) {
|
|
76
|
+
var nodes = []
|
|
77
|
+
arr.forEach((item, i) => {
|
|
78
|
+
if (i % 2 == 0) {
|
|
79
|
+
nodes.push({
|
|
80
|
+
header: item
|
|
81
|
+
})
|
|
82
|
+
} else if (nodes.length > 0) {
|
|
83
|
+
var node = nodes[nodes.length-1]
|
|
84
|
+
if (node.body == undefined) {
|
|
85
|
+
node.body = item
|
|
86
|
+
} else {
|
|
87
|
+
node.body += '\n' + item
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
nodes.forEach((node, i) => {
|
|
92
|
+
el += '<div class="timenode" index="' + (i) + '">'
|
|
93
|
+
el += layoutNodeTitle(ctx, node.header)
|
|
94
|
+
el += layoutNodeContent(ctx, node.body)
|
|
95
|
+
el += '</div>'
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
el += '</div>'
|
|
100
|
+
return el
|
|
101
|
+
}
|
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
.canonical-tip
|
|
2
2
|
position: fixed
|
|
3
|
+
display: flex
|
|
3
4
|
text-align: center
|
|
4
5
|
bottom: 4rem
|
|
5
6
|
left: 50%
|
|
6
7
|
transform: translateX(-50%)
|
|
7
8
|
max-width: 90%
|
|
8
|
-
|
|
9
|
-
color: var(--text-p1)
|
|
10
|
-
font-size: 1rem
|
|
9
|
+
color: var(--text)
|
|
11
10
|
font-family: #fff8e1
|
|
12
11
|
z-index: 9999999
|
|
13
12
|
box-shadow: 0 2px 8px rgba(black, .1), 0 4px 16px rgba(black, .1), 0 8px 32px rgba(black, .1)
|
|
14
|
-
border-radius: 6px
|
|
15
13
|
.headline
|
|
16
14
|
font-size: $fsh2
|
|
17
|
-
a
|
|
15
|
+
a, button
|
|
16
|
+
border-radius: 6px
|
|
17
|
+
background: var(--bg-a100)
|
|
18
18
|
display: block
|
|
19
19
|
color: inherit
|
|
20
|
-
padding: 1rem
|
|
20
|
+
padding: 1rem
|
|
21
|
+
font-size: 1rem
|
|
22
|
+
button
|
|
23
|
+
padding: 0
|
|
24
|
+
width: 3rem
|
|
25
|
+
margin-left: 1px
|
|
21
26
|
|
|
22
27
|
.canonical-tip.unofficial
|
|
23
28
|
background-color: hsl(5, 100%, 60%)
|
|
@@ -14,9 +14,9 @@ p>code:not([class]),li>code:not([class])
|
|
|
14
14
|
--theme: var(--text-p3)
|
|
15
15
|
margin: var(--gap-p) 0
|
|
16
16
|
border-radius: $border-card
|
|
17
|
+
corner-shape: superellipse(1.2)
|
|
17
18
|
overflow: hidden
|
|
18
19
|
background: var(--block)
|
|
19
|
-
line-height: 1.5
|
|
20
20
|
font-family: $ff-codeblock
|
|
21
21
|
box-sizing: border-box
|
|
22
22
|
@media screen and (min-width: $device-mobile)
|
|
@@ -80,6 +80,7 @@ p>code:not([class]),li>code:not([class])
|
|
|
80
80
|
.gist-file
|
|
81
81
|
border: 1px solid var(--block-border)
|
|
82
82
|
border-radius: $border-card
|
|
83
|
+
corner-shape: superellipse(1.2)
|
|
83
84
|
overflow: hidden
|
|
84
85
|
.gist-data
|
|
85
86
|
--bgColor-default: var(--block)
|
|
@@ -182,6 +183,8 @@ table:not([class])
|
|
|
182
183
|
content: "TS"
|
|
183
184
|
&.matlab .code:before
|
|
184
185
|
content: "MATLAB"
|
|
186
|
+
&.nginx .code:before
|
|
187
|
+
content: "Nginx"
|
|
185
188
|
|
|
186
189
|
|
|
187
190
|
|
|
@@ -44,6 +44,8 @@
|
|
|
44
44
|
margin-top: var(--gap-p)
|
|
45
45
|
margin-bottom: var(--gap-p)
|
|
46
46
|
iframe
|
|
47
|
+
margin-left: auto
|
|
48
|
+
margin-right: auto
|
|
47
49
|
display: block
|
|
48
50
|
|
|
49
51
|
// titles
|
|
@@ -80,6 +82,7 @@
|
|
|
80
82
|
.md-text.content
|
|
81
83
|
p>img, .tag-plugin.image .image-bg
|
|
82
84
|
border-radius: $border-image
|
|
85
|
+
corner-shape: superellipse(1.2)
|
|
83
86
|
|
|
84
87
|
// 链接样式
|
|
85
88
|
li:not([class]) a:not([class])
|
|
@@ -91,8 +91,10 @@
|
|
|
91
91
|
|
|
92
92
|
p>img, .tag-plugin.image .image-bg
|
|
93
93
|
border-radius: $border-image-l
|
|
94
|
+
corner-shape: superellipse(1.2)
|
|
94
95
|
>img
|
|
95
96
|
border-radius: $border-image-l
|
|
97
|
+
corner-shape: superellipse(1.2)
|
|
96
98
|
|
|
97
99
|
|
|
98
100
|
.l_body[type=story] .md-text.content>blockquote, .md-text.content .tag-plugin.blockquote
|
|
@@ -35,14 +35,16 @@
|
|
|
35
35
|
z-index: 1
|
|
36
36
|
trans1 all
|
|
37
37
|
&:hover
|
|
38
|
-
background: var(--bg-
|
|
38
|
+
background: var(--bg-a50)
|
|
39
39
|
&.active, &:hover
|
|
40
40
|
color: var(--text)
|
|
41
41
|
&.active
|
|
42
42
|
background: var(--bg-a60)
|
|
43
|
+
:root[data-theme="dark"] &
|
|
44
|
+
background: rgba(white, 0.25)
|
|
43
45
|
@media (prefers-color-scheme: dark)
|
|
44
46
|
background: rgba(white, 0.25)
|
|
45
|
-
box-shadow:
|
|
47
|
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0.04), 0 0 2px rgba(0, 0, 0, 0.04), 0 0 4px rgba(0, 0, 0, 0.08)
|
|
46
48
|
cursor default
|
|
47
49
|
pointer-events: none
|
|
48
50
|
backdrop-filter: saturate(300%)
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
right: 1rem
|
|
26
26
|
border-radius: $border-bar
|
|
27
27
|
background: var(--bg-a100)
|
|
28
|
+
:root[data-theme="dark"] &
|
|
29
|
+
background: var(--bg-a20)
|
|
28
30
|
@media screen and (prefers-color-scheme: dark)
|
|
29
31
|
background: var(--bg-a20)
|
|
30
32
|
z-index 0
|
|
@@ -44,6 +46,8 @@
|
|
|
44
46
|
color: var(--text)
|
|
45
47
|
&::placeholder
|
|
46
48
|
color: var(--text-p3)
|
|
49
|
+
:root[data-theme="dark"] &
|
|
50
|
+
color: var(--text-p2)
|
|
47
51
|
@media screen and (prefers-color-scheme: dark)
|
|
48
52
|
color: var(--text-p2)
|
|
49
53
|
.search-button
|
|
@@ -38,11 +38,15 @@
|
|
|
38
38
|
--background-opacity: hexo-config('style.leftbar.background-opacity')
|
|
39
39
|
background-image: convert(hexo-config('style.leftbar.background-image'))
|
|
40
40
|
filter: saturate(var(--saturate)) blur(var(--blur-px)) opacity(var(--background-opacity))
|
|
41
|
+
:root[data-theme="dark"] &
|
|
42
|
+
--background-opacity: hexo-config('style.leftbar.background-opacity') * 0.75
|
|
41
43
|
@media screen and (prefers-color-scheme: dark)
|
|
42
44
|
--background-opacity: hexo-config('style.leftbar.background-opacity') * 0.75
|
|
43
|
-
else if $leftbar-background-color
|
|
44
|
-
background-color: convert($leftbar-background-color)
|
|
45
|
-
|
|
45
|
+
else if $leftbar-background-color-light || $leftbar-background-color-dark
|
|
46
|
+
background-color: convert($leftbar-background-color-light)
|
|
47
|
+
@media screen and (prefers-color-scheme: dark)
|
|
48
|
+
background-color: convert($leftbar-background-color-dark)
|
|
49
|
+
|
|
46
50
|
.leftbar-container
|
|
47
51
|
height: 'calc(%s - %s * 2 - %s)' % (100vh var(--gap-margin) $leftbar-bottom-margin)
|
|
48
52
|
display: flex
|
|
@@ -69,12 +73,15 @@
|
|
|
69
73
|
&:before
|
|
70
74
|
if $leftbar-background-image
|
|
71
75
|
@media screen and (min-width: $device-mobile-max)
|
|
72
|
-
background: rgba(white, 0.
|
|
76
|
+
background: rgba(white, 0.05)
|
|
73
77
|
box-shadow: inset 0 0 32px 1px rgba(white, 0.5)
|
|
74
78
|
backdrop-filter: saturate(300%)
|
|
75
79
|
-webkit-backdrop-filter: saturate(300%)
|
|
76
80
|
mask: linear-gradient(black, rgba(black, 0.5), 70%, transparent, 90%, transparent)
|
|
77
81
|
-webkit-mask: linear-gradient(black, rgba(black, 0.5), 70%, transparent, 90%, transparent)
|
|
82
|
+
:root[data-theme="dark"] &
|
|
83
|
+
background: rgba(white, 0.05)
|
|
84
|
+
box-shadow: inset 0 0 32px 1px rgba(white, 0.1)
|
|
78
85
|
@media screen and (prefers-color-scheme: dark)
|
|
79
86
|
background: rgba(white, 0.05)
|
|
80
87
|
box-shadow: inset 0 0 32px 1px rgba(white, 0.1)
|
|
@@ -87,4 +94,4 @@
|
|
|
87
94
|
--inset: 0
|
|
88
95
|
--saturate: 300%
|
|
89
96
|
.leftbar-container:after
|
|
90
|
-
background: var(--bg-a20)
|
|
97
|
+
background: var(--bg-a20)
|
|
@@ -39,8 +39,6 @@ chat_dark()
|
|
|
39
39
|
font-size: $fs-12
|
|
40
40
|
.cap
|
|
41
41
|
color: var(--text-p3)
|
|
42
|
-
*
|
|
43
|
-
word-break: break-all
|
|
44
42
|
box-sizing: border-box
|
|
45
43
|
-webkit-box-sizing: border-box
|
|
46
44
|
-moz-box-sizing: border-box
|
|
@@ -62,7 +60,7 @@ chat_dark()
|
|
|
62
60
|
position: relative
|
|
63
61
|
box-shadow: unset
|
|
64
62
|
>.device-image
|
|
65
|
-
background-image: url(https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.
|
|
63
|
+
background-image: url(https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.14/frame/iphone11.svg)
|
|
66
64
|
width: 100%
|
|
67
65
|
height: 100%
|
|
68
66
|
position: absolute
|
|
@@ -274,7 +272,7 @@ chat_dark()
|
|
|
274
272
|
&.emoji,
|
|
275
273
|
&.link,
|
|
276
274
|
&.video,
|
|
277
|
-
&.file
|
|
275
|
+
&.chat-file
|
|
278
276
|
background: unset !important
|
|
279
277
|
padding: 0 !important
|
|
280
278
|
&.link
|
|
@@ -394,7 +392,7 @@ chat_dark()
|
|
|
394
392
|
video
|
|
395
393
|
width: 100%
|
|
396
394
|
border-radius: 6px
|
|
397
|
-
&.file
|
|
395
|
+
&.chat-file
|
|
398
396
|
background: transparent !important
|
|
399
397
|
display: flex
|
|
400
398
|
padding: unset !important
|
|
@@ -458,7 +456,7 @@ chat_dark()
|
|
|
458
456
|
flex-basis: 100%
|
|
459
457
|
justify-content: flex-end
|
|
460
458
|
.talk
|
|
461
|
-
&.file
|
|
459
|
+
&.chat-file
|
|
462
460
|
flex-direction: row-reverse
|
|
463
461
|
&.voice
|
|
464
462
|
.voice-btns
|
|
@@ -524,11 +522,11 @@ chat_dark()
|
|
|
524
522
|
display: none
|
|
525
523
|
&.link>.link-card,
|
|
526
524
|
&.video>video,
|
|
527
|
-
&.file>.content,
|
|
525
|
+
&.chat-file>.content,
|
|
528
526
|
&.image>img,
|
|
529
527
|
&.emoji>img
|
|
530
528
|
border-radius: 4px
|
|
531
|
-
&.file .download-btn
|
|
529
|
+
&.chat-file .download-btn
|
|
532
530
|
display: none
|
|
533
531
|
&.voice
|
|
534
532
|
padding: 8px .5em
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
.image-bg
|
|
6
6
|
text-align: center
|
|
7
7
|
border-radius: $border-image
|
|
8
|
+
corner-shape: superellipse(1.2)
|
|
8
9
|
position: relative
|
|
9
10
|
overflow: hidden
|
|
10
11
|
display: flex
|
|
@@ -23,7 +24,9 @@
|
|
|
23
24
|
display: block
|
|
24
25
|
object-fit: cover
|
|
25
26
|
border-radius: $border-image
|
|
27
|
+
corner-shape: superellipse(1.2)
|
|
26
28
|
.image-download
|
|
29
|
+
z-index: 2
|
|
27
30
|
position: absolute
|
|
28
31
|
bottom: 8px
|
|
29
32
|
right: 8px
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
.tag-plugin.navbar
|
|
2
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
3
|
a
|
|
8
4
|
box-sizing: border-box
|
|
9
|
-
padding: .25rem
|
|
10
|
-
margin: 2px
|
|
5
|
+
padding: .25rem 0
|
|
11
6
|
color: inherit
|
|
12
|
-
|
|
13
|
-
trans1 all
|
|
7
|
+
position: relative
|
|
14
8
|
&+a
|
|
15
|
-
margin-left:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
margin-left: 1rem
|
|
10
|
+
&:after
|
|
11
|
+
content: ''
|
|
12
|
+
position: absolute
|
|
13
|
+
border-radius: 2px
|
|
14
|
+
width: 100%
|
|
15
|
+
height: 2px
|
|
16
|
+
left: 0
|
|
17
|
+
bottom: 0
|
|
18
|
+
trans1 all
|
|
19
|
+
&.active,&:hover
|
|
20
|
+
&:after
|
|
21
|
+
background: var(--theme)
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
position: relative
|
|
13
13
|
.lazy-box
|
|
14
14
|
border-radius: $border-card-s
|
|
15
|
+
corner-shape: superellipse(1.2)
|
|
15
16
|
box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.2)
|
|
16
17
|
overflow hidden
|
|
17
18
|
>img
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
margin-right: 8px
|
|
29
30
|
margin-top: 2px
|
|
30
31
|
border-radius: @width
|
|
32
|
+
corner-shape: superellipse(1)
|
|
31
33
|
>img
|
|
32
34
|
width: 28px
|
|
33
35
|
height: @width
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
.tag-plugin.timeline
|
|
2
2
|
position: relative
|
|
3
3
|
padding-left: 16px
|
|
4
|
+
p>img
|
|
5
|
+
border-radius: $border-image-s
|
|
6
|
+
corner-shape: superellipse(1.2)
|
|
4
7
|
&:before
|
|
5
8
|
content: ''
|
|
6
9
|
position: absolute
|
|
@@ -19,6 +22,9 @@
|
|
|
19
22
|
.tag-plugin.timeline
|
|
20
23
|
ol,ul
|
|
21
24
|
margin-left: 0
|
|
25
|
+
p>img
|
|
26
|
+
border-radius: $border-image-s
|
|
27
|
+
corner-shape: superellipse(1.2)
|
|
22
28
|
|
|
23
29
|
.tag-plugin.timeline .timenode
|
|
24
30
|
position: relative
|
|
@@ -87,6 +93,7 @@
|
|
|
87
93
|
.tag-plugin.timeline .body
|
|
88
94
|
background: var(--card)
|
|
89
95
|
border-radius: 16px
|
|
96
|
+
corner-shape: superellipse(1.2)
|
|
90
97
|
border-top-left-radius: 2px
|
|
91
98
|
padding: 0.5rem 1rem
|
|
92
99
|
margin-top: 4px
|
|
@@ -143,6 +150,7 @@
|
|
|
143
150
|
.lazy-box
|
|
144
151
|
margin: .5rem 0
|
|
145
152
|
border-radius: $border-image
|
|
153
|
+
corner-shape: superellipse(1.2)
|
|
146
154
|
>img
|
|
147
155
|
margin: 0 auto
|
|
148
156
|
|
|
@@ -151,6 +159,7 @@
|
|
|
151
159
|
|
|
152
160
|
aside .tag-plugin.timeline[data-api] .body .lazy-box
|
|
153
161
|
border-radius: $border-image-s
|
|
162
|
+
corner-shape: superellipse(1.2)
|
|
154
163
|
|
|
155
164
|
.tag-plugin.timeline[data-api] .body .footer
|
|
156
165
|
margin: 0 0 -0.5rem
|