ezal-theme-example 0.0.1
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/LICENSE +21 -0
- package/assets/scripts/404.ts +353 -0
- package/assets/scripts/_article.ts +290 -0
- package/assets/scripts/_base.ts +65 -0
- package/assets/scripts/_pagefind.d.ts +424 -0
- package/assets/scripts/_search.ts +88 -0
- package/assets/scripts/_utils.ts +74 -0
- package/assets/scripts/archive.ts +143 -0
- package/assets/scripts/article.ts +18 -0
- package/assets/scripts/category.ts +4 -0
- package/assets/scripts/home.ts +73 -0
- package/assets/scripts/links.ts +14 -0
- package/assets/scripts/main.ts +11 -0
- package/assets/scripts/page.ts +11 -0
- package/assets/scripts/tag.ts +4 -0
- package/assets/scripts/tsconfig.json +10 -0
- package/assets/styles/404.styl +31 -0
- package/assets/styles/_article/fold.styl +15 -0
- package/assets/styles/_article/footnote.styl +12 -0
- package/assets/styles/_article/heading.styl +29 -0
- package/assets/styles/_article/image.styl +30 -0
- package/assets/styles/_article/kbd.styl +10 -0
- package/assets/styles/_article/links.styl +31 -0
- package/assets/styles/_article/list.styl +19 -0
- package/assets/styles/_article/note.styl +18 -0
- package/assets/styles/_article/other.styl +44 -0
- package/assets/styles/_article/table.styl +29 -0
- package/assets/styles/_article/tabs.styl +25 -0
- package/assets/styles/_code.styl +83 -0
- package/assets/styles/_index/contact.styl +20 -0
- package/assets/styles/_index/footer.styl +5 -0
- package/assets/styles/_index/header.styl +40 -0
- package/assets/styles/_index/nav.styl +59 -0
- package/assets/styles/_index/search.styl +64 -0
- package/assets/styles/_index.styl +91 -0
- package/assets/styles/_var.styl +96 -0
- package/assets/styles/archive.styl +35 -0
- package/assets/styles/article.styl +138 -0
- package/assets/styles/category.styl +4 -0
- package/assets/styles/home.styl +124 -0
- package/assets/styles/links.styl +121 -0
- package/assets/styles/page.styl +12 -0
- package/assets/styles/tag.styl +4 -0
- package/dist/config.d.ts +128 -0
- package/dist/feed.d.ts +4 -0
- package/dist/image/asset.d.ts +22 -0
- package/dist/image/db.d.ts +18 -0
- package/dist/image/index.d.ts +10 -0
- package/dist/image/metadata.d.ts +2 -0
- package/dist/image/utils.d.ts +1 -0
- package/dist/index-now.d.ts +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2066 -0
- package/dist/index.js.map +1 -0
- package/dist/layout.d.ts +2 -0
- package/dist/markdown/codeblock/data.d.ts +1 -0
- package/dist/markdown/codeblock/index.d.ts +6 -0
- package/dist/markdown/codeblock/style.d.ts +2 -0
- package/dist/markdown/fold.d.ts +6 -0
- package/dist/markdown/footnote.d.ts +15 -0
- package/dist/markdown/image.d.ts +12 -0
- package/dist/markdown/index.d.ts +2 -0
- package/dist/markdown/kbd.d.ts +6 -0
- package/dist/markdown/link.d.ts +2 -0
- package/dist/markdown/links.d.ts +12 -0
- package/dist/markdown/note.d.ts +8 -0
- package/dist/markdown/table.d.ts +3 -0
- package/dist/markdown/tabs.d.ts +7 -0
- package/dist/markdown/tex.d.ts +9 -0
- package/dist/page/404.d.ts +1 -0
- package/dist/page/archive.d.ts +1 -0
- package/dist/page/category.d.ts +1 -0
- package/dist/page/home.d.ts +2 -0
- package/dist/page/tag.d.ts +1 -0
- package/dist/pagefind.d.ts +20 -0
- package/dist/sitemap.d.ts +2 -0
- package/dist/transform/script.d.ts +2 -0
- package/dist/transform/stylus.d.ts +2 -0
- package/dist/utils.d.ts +2 -0
- package/layouts/404.tsx +8 -0
- package/layouts/archive.tsx +81 -0
- package/layouts/article.tsx +145 -0
- package/layouts/base.tsx +20 -0
- package/layouts/category.tsx +18 -0
- package/layouts/components/ArchiveArticleList.tsx +14 -0
- package/layouts/components/Article.tsx +46 -0
- package/layouts/components/Contact.tsx +14 -0
- package/layouts/components/Footer.tsx +44 -0
- package/layouts/components/Head.tsx +119 -0
- package/layouts/components/Image.tsx +42 -0
- package/layouts/components/Nav.tsx +33 -0
- package/layouts/components/Search.tsx +20 -0
- package/layouts/components/Waline.tsx +22 -0
- package/layouts/context.d.ts +54 -0
- package/layouts/home.tsx +74 -0
- package/layouts/links.tsx +53 -0
- package/layouts/page.tsx +19 -0
- package/layouts/tag.tsx +18 -0
- package/layouts/tsconfig.json +11 -0
- package/package.json +47 -0
- package/readme.md +17 -0
- package/readme_zh.md +17 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.contact
|
|
2
|
+
display flex
|
|
3
|
+
flex-wrap wrap
|
|
4
|
+
gap 8px
|
|
5
|
+
a
|
|
6
|
+
all unset
|
|
7
|
+
display block
|
|
8
|
+
width 32px
|
|
9
|
+
height 32px
|
|
10
|
+
border-radius 100%
|
|
11
|
+
text-align center
|
|
12
|
+
font 20px / 32px 'icon'
|
|
13
|
+
transition .1s background, .1s color
|
|
14
|
+
&:hover
|
|
15
|
+
background var(--color)
|
|
16
|
+
color #fff
|
|
17
|
+
&:focus-visible
|
|
18
|
+
outline 2px solid
|
|
19
|
+
background var(--color)
|
|
20
|
+
color #fff
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@keyframes grid
|
|
2
|
+
0%
|
|
3
|
+
background-position 16px 16px
|
|
4
|
+
100%
|
|
5
|
+
background-position 48px 80px
|
|
6
|
+
|
|
7
|
+
header
|
|
8
|
+
position relative
|
|
9
|
+
overflow hidden
|
|
10
|
+
padding 128px 0
|
|
11
|
+
background:
|
|
12
|
+
linear-gradient(var(--color) 2%, #0000 0%) 0 16px / 1px 32px,
|
|
13
|
+
linear-gradient(to right, var(--color) 2%, #0000 0%) 16px / 32px
|
|
14
|
+
animation grid 10s infinite linear
|
|
15
|
+
--color s('color-mix(in srgb, var(--text), var(--bg) 90%)')
|
|
16
|
+
&:after
|
|
17
|
+
position absolute
|
|
18
|
+
bottom 0
|
|
19
|
+
left 0
|
|
20
|
+
width 100%
|
|
21
|
+
height s('max(10%, 64px)')
|
|
22
|
+
background linear-gradient(to bottom, #0000, var(--bg))
|
|
23
|
+
content ''
|
|
24
|
+
pointer-events none
|
|
25
|
+
&>*:not(picture)
|
|
26
|
+
position relative
|
|
27
|
+
margin auto
|
|
28
|
+
inset 0
|
|
29
|
+
img
|
|
30
|
+
position absolute
|
|
31
|
+
width 100%
|
|
32
|
+
height 100%
|
|
33
|
+
opacity .5
|
|
34
|
+
inset 0
|
|
35
|
+
object-fit cover
|
|
36
|
+
|
|
37
|
+
h1
|
|
38
|
+
margin 0
|
|
39
|
+
font-size s('clamp(42px, 5vw, 63px)')
|
|
40
|
+
line-height 1.2
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
nav
|
|
2
|
+
position fixed
|
|
3
|
+
top 8px
|
|
4
|
+
right 0
|
|
5
|
+
left 0
|
|
6
|
+
z-index 100
|
|
7
|
+
display flex
|
|
8
|
+
overflow hidden
|
|
9
|
+
margin auto
|
|
10
|
+
padding 4px
|
|
11
|
+
width s('min(1000px, calc(100vw - 8px))')
|
|
12
|
+
height 32px + 8px
|
|
13
|
+
border 1px solid #0000
|
|
14
|
+
border-radius 12px
|
|
15
|
+
line-height 1
|
|
16
|
+
transition .1s
|
|
17
|
+
|
|
18
|
+
#search
|
|
19
|
+
#nav
|
|
20
|
+
width 32px
|
|
21
|
+
height 32px
|
|
22
|
+
border none
|
|
23
|
+
background #0000
|
|
24
|
+
font-size 16px
|
|
25
|
+
|
|
26
|
+
#nav
|
|
27
|
+
display none
|
|
28
|
+
|
|
29
|
+
.nav
|
|
30
|
+
display flex
|
|
31
|
+
margin 0
|
|
32
|
+
padding 0
|
|
33
|
+
li
|
|
34
|
+
display block
|
|
35
|
+
padding 0
|
|
36
|
+
a
|
|
37
|
+
display block
|
|
38
|
+
padding 8px
|
|
39
|
+
|
|
40
|
+
.site
|
|
41
|
+
padding 0 8px
|
|
42
|
+
height 32px
|
|
43
|
+
font-weight bold
|
|
44
|
+
font-family var(--font-title)
|
|
45
|
+
line-height 32px
|
|
46
|
+
|
|
47
|
+
.nav-hide
|
|
48
|
+
top -42px
|
|
49
|
+
|
|
50
|
+
@media (max-width 700px)
|
|
51
|
+
#nav
|
|
52
|
+
display block
|
|
53
|
+
.nav
|
|
54
|
+
position absolute
|
|
55
|
+
top 8px + 32px
|
|
56
|
+
.nav-show
|
|
57
|
+
height 8px + 32px + 32px + 8px
|
|
58
|
+
&.nav-toc
|
|
59
|
+
height calc(100vh - 16px)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
html:has(.search[open])
|
|
2
|
+
overflow hidden
|
|
3
|
+
|
|
4
|
+
.search
|
|
5
|
+
margin 128px auto 16px
|
|
6
|
+
padding 0
|
|
7
|
+
width s('min(calc(100vw - 32px), 600px)')
|
|
8
|
+
border 1px solid var(--border)
|
|
9
|
+
background var(--bg)
|
|
10
|
+
&::backdrop
|
|
11
|
+
backdrop-filter blur(4px)
|
|
12
|
+
|
|
13
|
+
.search-bar
|
|
14
|
+
display flex
|
|
15
|
+
button
|
|
16
|
+
width 67px
|
|
17
|
+
border 0
|
|
18
|
+
background #0000
|
|
19
|
+
font-size 20px
|
|
20
|
+
|
|
21
|
+
.search-input
|
|
22
|
+
all unset
|
|
23
|
+
display block
|
|
24
|
+
flex 1
|
|
25
|
+
box-sizing border-box
|
|
26
|
+
padding 16px
|
|
27
|
+
color var(--text)
|
|
28
|
+
font 24px / 1 var(--font)
|
|
29
|
+
|
|
30
|
+
.search-result
|
|
31
|
+
overflow hidden auto
|
|
32
|
+
max-height calc(100vh - 300px)
|
|
33
|
+
a
|
|
34
|
+
display block
|
|
35
|
+
padding 16px
|
|
36
|
+
border-left 4px solid #0000
|
|
37
|
+
color var(--text)
|
|
38
|
+
text-decoration none
|
|
39
|
+
&:hover
|
|
40
|
+
&:focus-visible
|
|
41
|
+
&.active
|
|
42
|
+
border-color var(--theme)
|
|
43
|
+
background var(--panel)
|
|
44
|
+
|
|
45
|
+
.search-title
|
|
46
|
+
font-size 20px
|
|
47
|
+
|
|
48
|
+
.search-excerpt
|
|
49
|
+
opacity .8
|
|
50
|
+
mark
|
|
51
|
+
background var(--theme-a2)
|
|
52
|
+
color var(--theme)
|
|
53
|
+
|
|
54
|
+
@media (max-width 700px), (max-height 700px)
|
|
55
|
+
.search
|
|
56
|
+
margin 0
|
|
57
|
+
max-width 100vw
|
|
58
|
+
max-height 100vh
|
|
59
|
+
max-height 100svh
|
|
60
|
+
width 100vw
|
|
61
|
+
height 100vh
|
|
62
|
+
.search-result
|
|
63
|
+
max-height calc(100vh - 68px)
|
|
64
|
+
max-height calc(100svh - 68px)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
@import '_var'
|
|
2
|
+
|
|
3
|
+
*
|
|
4
|
+
box-sizing border-box
|
|
5
|
+
|
|
6
|
+
body
|
|
7
|
+
margin 0
|
|
8
|
+
background var(--bg)
|
|
9
|
+
color var(--text)
|
|
10
|
+
font 16px / 1.5 var(--font)
|
|
11
|
+
|
|
12
|
+
::selection
|
|
13
|
+
background var(--theme-a8)
|
|
14
|
+
|
|
15
|
+
a
|
|
16
|
+
color var(--theme)
|
|
17
|
+
word-wrap break-word
|
|
18
|
+
transition .1s color
|
|
19
|
+
&:hover
|
|
20
|
+
color var(--text)
|
|
21
|
+
|
|
22
|
+
code
|
|
23
|
+
font-family var(--font-mono)
|
|
24
|
+
font-feature-settings 'calt', 'cv01', 'cv03', 'cv61', 'cv96', 'cv97', 'cv98', 'ss08'
|
|
25
|
+
|
|
26
|
+
.wrap
|
|
27
|
+
padding 0 16px
|
|
28
|
+
max-width 1000px
|
|
29
|
+
|
|
30
|
+
.rounded
|
|
31
|
+
border-radius 8px
|
|
32
|
+
.rounded
|
|
33
|
+
border-radius 7px
|
|
34
|
+
|
|
35
|
+
.flex
|
|
36
|
+
flex 1
|
|
37
|
+
|
|
38
|
+
.glass
|
|
39
|
+
border 1px solid var(--glass-border)
|
|
40
|
+
background var(--glass)
|
|
41
|
+
--glass s('color-mix(in srgb, var(--bg), #0000)')
|
|
42
|
+
--glass-border s('color-mix(in srgb, var(--text), #0000 90%)')
|
|
43
|
+
backdrop-filter blur(8px)
|
|
44
|
+
|
|
45
|
+
.link
|
|
46
|
+
position relative
|
|
47
|
+
color var(--text)
|
|
48
|
+
text-decoration none
|
|
49
|
+
transition .2s
|
|
50
|
+
&>*
|
|
51
|
+
position relative
|
|
52
|
+
&:after
|
|
53
|
+
position absolute
|
|
54
|
+
z-index -1
|
|
55
|
+
background var(--theme)
|
|
56
|
+
content ''
|
|
57
|
+
opacity 0
|
|
58
|
+
filter blur(32px)
|
|
59
|
+
transition .5s
|
|
60
|
+
pointer-events none
|
|
61
|
+
inset 0
|
|
62
|
+
&:hover
|
|
63
|
+
color var(--theme)
|
|
64
|
+
&:after
|
|
65
|
+
opacity 1
|
|
66
|
+
&:active
|
|
67
|
+
opacity .6
|
|
68
|
+
|
|
69
|
+
main
|
|
70
|
+
@extend .wrap
|
|
71
|
+
position relative
|
|
72
|
+
margin auto
|
|
73
|
+
inset 0
|
|
74
|
+
|
|
75
|
+
@import './_index/**/*'
|
|
76
|
+
|
|
77
|
+
if config('waline')
|
|
78
|
+
#waline
|
|
79
|
+
margin auto
|
|
80
|
+
--waline-theme-color var(--theme)
|
|
81
|
+
--waline-active-color var(--theme-ad)
|
|
82
|
+
--waline-color var(--text)
|
|
83
|
+
--waline-bg-color var(--bg)
|
|
84
|
+
--waline-bg-color-light var(--panel)
|
|
85
|
+
--waline-bg-color-hover var(--text-a2)
|
|
86
|
+
--waline-border 1px solid var(--text-a8)
|
|
87
|
+
--waline-border-color var(--text-a2)
|
|
88
|
+
--waline-code-bg-color #2d2d2d
|
|
89
|
+
--waline-info-bg-color var(--panel)
|
|
90
|
+
textarea
|
|
91
|
+
font-family var(--font-mono)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
@font-face
|
|
2
|
+
font-family 'maple mono'
|
|
3
|
+
src:
|
|
4
|
+
url('https://unpkg.com/@fontsource/maple-mono@5.2.4/files/maple-mono-latin-400-normal.woff2') format('woff2'),
|
|
5
|
+
url('https://unpkg.com/@fontsource/maple-mono@5.2.4/files/maple-mono-latin-400-normal.woff') format('woff')
|
|
6
|
+
font-display swap
|
|
7
|
+
|
|
8
|
+
:root
|
|
9
|
+
--font:
|
|
10
|
+
'Noto Sans SC',
|
|
11
|
+
'WenQuanYi Micro Hei',
|
|
12
|
+
'Noto Sans',
|
|
13
|
+
'Microsoft YaHei UI',
|
|
14
|
+
'Microsoft YaHei',
|
|
15
|
+
'HarmonyOS Sans SC',
|
|
16
|
+
'MiSans',
|
|
17
|
+
'PingFang SC',
|
|
18
|
+
'Hiragino Sans GB',
|
|
19
|
+
ui-sans-serif,
|
|
20
|
+
system-ui,
|
|
21
|
+
sans-serif
|
|
22
|
+
--font-mono:
|
|
23
|
+
'Maple Mono NF CN',
|
|
24
|
+
'Maple Mono SC NF',
|
|
25
|
+
'Sarasa Term SC',
|
|
26
|
+
'LXGW WenKai Mono',
|
|
27
|
+
'JetBrains Mono',
|
|
28
|
+
'Fira Code',
|
|
29
|
+
'Cascadia Code',
|
|
30
|
+
'Source Code Pro',
|
|
31
|
+
'Monaco',
|
|
32
|
+
'SF Mono',
|
|
33
|
+
Menlo,
|
|
34
|
+
Consolas,
|
|
35
|
+
'DejaVu Sans Mono',
|
|
36
|
+
'Liberation Mono',
|
|
37
|
+
'Courier New',
|
|
38
|
+
monospace
|
|
39
|
+
--font-title 'maple mono', var(--font-mono)
|
|
40
|
+
|
|
41
|
+
$colorLight = config('color.light') ? convert(config('color.light')) : #F00
|
|
42
|
+
$colorDark = config('color.dark') ? convert(config('color.dark')) : #F44
|
|
43
|
+
SchemeLight =
|
|
44
|
+
--theme $colorLight
|
|
45
|
+
--theme-a2 alpha($colorLight, .125)
|
|
46
|
+
--theme-a4 alpha($colorLight, .25)
|
|
47
|
+
--theme-a8 alpha($colorLight, .5)
|
|
48
|
+
--theme-ad alpha($colorLight, .8125)
|
|
49
|
+
--theme-text dark($colorLight) ? #fff : #000
|
|
50
|
+
--bg #fff
|
|
51
|
+
--text #000
|
|
52
|
+
--code #800
|
|
53
|
+
--code-bg #f001
|
|
54
|
+
--border #444
|
|
55
|
+
--text-a1 #00000010
|
|
56
|
+
--text-a2 #00000020
|
|
57
|
+
--text-a8 #00000080
|
|
58
|
+
--panel #0001
|
|
59
|
+
--note #1d80d2
|
|
60
|
+
--note-tip #01a501
|
|
61
|
+
--note-warn #b17700
|
|
62
|
+
--note-danger #bc0000
|
|
63
|
+
SchemeDark =
|
|
64
|
+
--theme $colorDark
|
|
65
|
+
--theme-a2 alpha($colorDark, .125)
|
|
66
|
+
--theme-a4 alpha($colorDark, .25)
|
|
67
|
+
--theme-a8 alpha($colorDark, .5)
|
|
68
|
+
--theme-ad alpha($colorDark, .8125)
|
|
69
|
+
--theme-text dark($colorDark) ? #fff : #000
|
|
70
|
+
--bg #101010
|
|
71
|
+
--text #f0f0f0
|
|
72
|
+
--code #f88
|
|
73
|
+
--code-bg #f001
|
|
74
|
+
--border #444
|
|
75
|
+
--text-a1 #f0f0f010
|
|
76
|
+
--text-a2 #f0f0f020
|
|
77
|
+
--text-a8 #f0f0f080
|
|
78
|
+
--panel #fff1
|
|
79
|
+
--note #69bbff
|
|
80
|
+
--note-tip #4ac94a
|
|
81
|
+
--note-warn #e0e059
|
|
82
|
+
--note-danger #ec3e3e
|
|
83
|
+
// [ui-scheme='light']
|
|
84
|
+
// {SchemeLight}
|
|
85
|
+
// [ui-scheme='dark']
|
|
86
|
+
// {SchemeDark}
|
|
87
|
+
// [ui-scheme='system']
|
|
88
|
+
|
|
89
|
+
:root
|
|
90
|
+
// @extend [ui-scheme='light']
|
|
91
|
+
{SchemeLight}
|
|
92
|
+
|
|
93
|
+
@media (prefers-color-scheme dark)
|
|
94
|
+
// [ui-scheme='system']
|
|
95
|
+
:root
|
|
96
|
+
{SchemeDark}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@import '_index'
|
|
2
|
+
|
|
3
|
+
.ready
|
|
4
|
+
position relative
|
|
5
|
+
overflow hidden
|
|
6
|
+
padding 0
|
|
7
|
+
line-height 1
|
|
8
|
+
transition .3s height
|
|
9
|
+
*
|
|
10
|
+
list-style none
|
|
11
|
+
a
|
|
12
|
+
position absolute
|
|
13
|
+
text-decoration none
|
|
14
|
+
transition .3s
|
|
15
|
+
|
|
16
|
+
.tags.ready
|
|
17
|
+
a
|
|
18
|
+
translate -50% -50%
|
|
19
|
+
|
|
20
|
+
.categories.ready
|
|
21
|
+
a
|
|
22
|
+
display block
|
|
23
|
+
padding 8px
|
|
24
|
+
border 1px solid var(--border)
|
|
25
|
+
border-radius 8px
|
|
26
|
+
background var(--panel)
|
|
27
|
+
color var(--text)
|
|
28
|
+
&:hover
|
|
29
|
+
border-color var(--theme)
|
|
30
|
+
color var(--theme)
|
|
31
|
+
&:after
|
|
32
|
+
opacity .2
|
|
33
|
+
|
|
34
|
+
.archive a
|
|
35
|
+
margin-left 1ch
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
@import '_index'
|
|
2
|
+
|
|
3
|
+
// MARK: Header
|
|
4
|
+
header
|
|
5
|
+
img
|
|
6
|
+
filter blur(4px)
|
|
7
|
+
scale 1.05
|
|
8
|
+
|
|
9
|
+
.cates
|
|
10
|
+
display flex
|
|
11
|
+
flex-wrap wrap
|
|
12
|
+
font-weight bold
|
|
13
|
+
gap 4px 16px
|
|
14
|
+
|
|
15
|
+
.tag
|
|
16
|
+
&:before
|
|
17
|
+
content '#'
|
|
18
|
+
opacity .5
|
|
19
|
+
|
|
20
|
+
.article-info
|
|
21
|
+
display flex
|
|
22
|
+
flex-wrap wrap
|
|
23
|
+
gap 8px
|
|
24
|
+
:before
|
|
25
|
+
margin-right 4px
|
|
26
|
+
|
|
27
|
+
// MARK: Pagination & Related
|
|
28
|
+
// .related
|
|
29
|
+
// .related-title
|
|
30
|
+
.pagination
|
|
31
|
+
@extend main
|
|
32
|
+
|
|
33
|
+
.pagination
|
|
34
|
+
display flex
|
|
35
|
+
gap 4px
|
|
36
|
+
a
|
|
37
|
+
display flex
|
|
38
|
+
align-items center
|
|
39
|
+
padding 16px
|
|
40
|
+
border 1px solid var(--border)
|
|
41
|
+
border-radius 8px
|
|
42
|
+
color var(--text)
|
|
43
|
+
text-decoration none
|
|
44
|
+
text-wrap balance
|
|
45
|
+
transition .1s color, .1s border
|
|
46
|
+
gap 8px
|
|
47
|
+
&:hover
|
|
48
|
+
border-color var(--theme)
|
|
49
|
+
color var(--theme)
|
|
50
|
+
i
|
|
51
|
+
display inline-block
|
|
52
|
+
.next
|
|
53
|
+
justify-content right
|
|
54
|
+
text-align right
|
|
55
|
+
|
|
56
|
+
// MARK: Main
|
|
57
|
+
main
|
|
58
|
+
display flex
|
|
59
|
+
flex-direction row-reverse
|
|
60
|
+
|
|
61
|
+
article
|
|
62
|
+
flex 1
|
|
63
|
+
padding 8px
|
|
64
|
+
width 0
|
|
65
|
+
text-wrap pretty
|
|
66
|
+
word-break break-all
|
|
67
|
+
word-break break-word
|
|
68
|
+
|
|
69
|
+
aside
|
|
70
|
+
position sticky
|
|
71
|
+
top 32px
|
|
72
|
+
flex 0 0 auto
|
|
73
|
+
overflow hidden auto
|
|
74
|
+
max-height calc(100vh - 32px)
|
|
75
|
+
width 250px
|
|
76
|
+
height max-content
|
|
77
|
+
|
|
78
|
+
.toc
|
|
79
|
+
li
|
|
80
|
+
list-style none
|
|
81
|
+
ol
|
|
82
|
+
position relative
|
|
83
|
+
&:before
|
|
84
|
+
position absolute
|
|
85
|
+
top 0
|
|
86
|
+
left 10px
|
|
87
|
+
display block
|
|
88
|
+
width 1px
|
|
89
|
+
height 100%
|
|
90
|
+
background var(--text-a2)
|
|
91
|
+
content ''
|
|
92
|
+
a
|
|
93
|
+
display block
|
|
94
|
+
display -webkit-box
|
|
95
|
+
overflow hidden
|
|
96
|
+
padding 5px
|
|
97
|
+
color var(--text)
|
|
98
|
+
text-decoration none
|
|
99
|
+
text-overflow ellipsis
|
|
100
|
+
line-height 1.5
|
|
101
|
+
-webkit-line-clamp 3
|
|
102
|
+
-webkit-box-orient vertical
|
|
103
|
+
a:hover
|
|
104
|
+
.active
|
|
105
|
+
color var(--theme)
|
|
106
|
+
|
|
107
|
+
@import '_article/other'
|
|
108
|
+
@import '_article/heading'
|
|
109
|
+
@import '_article/image'
|
|
110
|
+
@import '_article/table'
|
|
111
|
+
@import '_article/list'
|
|
112
|
+
@import '_article/footnote'
|
|
113
|
+
@import '_article/tabs'
|
|
114
|
+
@import '_article/note'
|
|
115
|
+
@import '_article/fold'
|
|
116
|
+
@import '_article/kbd'
|
|
117
|
+
@import '_article/links'
|
|
118
|
+
|
|
119
|
+
// MARK: Mobile
|
|
120
|
+
nav .toc
|
|
121
|
+
position absolute
|
|
122
|
+
top 8px + 32px + 32px + 8px
|
|
123
|
+
display none
|
|
124
|
+
overflow hidden auto
|
|
125
|
+
margin-top 0
|
|
126
|
+
max-height calc(100vh - 96px)
|
|
127
|
+
width 100%
|
|
128
|
+
overscroll-behavior contain
|
|
129
|
+
|
|
130
|
+
@media (max-width 700px)
|
|
131
|
+
aside
|
|
132
|
+
display none
|
|
133
|
+
nav .toc
|
|
134
|
+
display block
|
|
135
|
+
.nav-show
|
|
136
|
+
height calc(100vh - 16px)
|
|
137
|
+
.pagination
|
|
138
|
+
flex-direction column
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
@import '_index'
|
|
2
|
+
|
|
3
|
+
header
|
|
4
|
+
padding 0
|
|
5
|
+
|
|
6
|
+
.home
|
|
7
|
+
display flex
|
|
8
|
+
justify-content space-between
|
|
9
|
+
align-items center
|
|
10
|
+
height 100vh
|
|
11
|
+
|
|
12
|
+
.home-title
|
|
13
|
+
font 28px var(--font-title)
|
|
14
|
+
|
|
15
|
+
.home-logo
|
|
16
|
+
max-width 350px
|
|
17
|
+
|
|
18
|
+
@keyframes indicator
|
|
19
|
+
0%
|
|
20
|
+
100%
|
|
21
|
+
bottom 32px
|
|
22
|
+
50%
|
|
23
|
+
bottom 16px
|
|
24
|
+
|
|
25
|
+
.home-indicator
|
|
26
|
+
position absolute
|
|
27
|
+
top unset
|
|
28
|
+
right 0
|
|
29
|
+
bottom 32px
|
|
30
|
+
left 0
|
|
31
|
+
z-index 1
|
|
32
|
+
margin 0 auto
|
|
33
|
+
width max-content
|
|
34
|
+
height max-content
|
|
35
|
+
animation indicator 2s ease-in-out infinite
|
|
36
|
+
|
|
37
|
+
.article-list
|
|
38
|
+
display flex
|
|
39
|
+
flex-wrap wrap
|
|
40
|
+
gap 16px
|
|
41
|
+
a
|
|
42
|
+
color var(--text)
|
|
43
|
+
text-decoration none
|
|
44
|
+
|
|
45
|
+
.article
|
|
46
|
+
position relative
|
|
47
|
+
display flex
|
|
48
|
+
flex-direction column
|
|
49
|
+
overflow hidden
|
|
50
|
+
width calc(50% - 8px)
|
|
51
|
+
border 1px solid var(--border)
|
|
52
|
+
background var(--panel)
|
|
53
|
+
transition .2s border
|
|
54
|
+
&>*
|
|
55
|
+
position relative
|
|
56
|
+
img
|
|
57
|
+
width 100%
|
|
58
|
+
height 200px
|
|
59
|
+
object-fit cover
|
|
60
|
+
h2
|
|
61
|
+
overflow hidden
|
|
62
|
+
margin 0 0 16px 0
|
|
63
|
+
height 36px * 2
|
|
64
|
+
text-wrap pretty
|
|
65
|
+
transition .2s color
|
|
66
|
+
time
|
|
67
|
+
float right
|
|
68
|
+
&:hover:not(:has(a:hover))
|
|
69
|
+
&:focus-visible:not(:has(a:focus-visible))
|
|
70
|
+
border-color var(--theme)
|
|
71
|
+
h2
|
|
72
|
+
color var(--theme)
|
|
73
|
+
.bloom
|
|
74
|
+
opacity .5
|
|
75
|
+
object>a
|
|
76
|
+
margin-right 8px
|
|
77
|
+
|
|
78
|
+
.article-info
|
|
79
|
+
padding 16px
|
|
80
|
+
|
|
81
|
+
.tag:before
|
|
82
|
+
content '#'
|
|
83
|
+
opacity .5
|
|
84
|
+
|
|
85
|
+
.bloom
|
|
86
|
+
position absolute
|
|
87
|
+
opacity 0
|
|
88
|
+
filter blur(32px) brightness(1.5)
|
|
89
|
+
transition .1s
|
|
90
|
+
inset 0
|
|
91
|
+
scale 1.5
|
|
92
|
+
translate 0 25%
|
|
93
|
+
|
|
94
|
+
.pages
|
|
95
|
+
display flex
|
|
96
|
+
justify-content center
|
|
97
|
+
margin-top 16px
|
|
98
|
+
|
|
99
|
+
.page
|
|
100
|
+
display block
|
|
101
|
+
width 32px
|
|
102
|
+
height 32px
|
|
103
|
+
color var(--text)
|
|
104
|
+
text-align center
|
|
105
|
+
text-decoration none
|
|
106
|
+
line-height 32px
|
|
107
|
+
|
|
108
|
+
a.page
|
|
109
|
+
background var(--text-a2)
|
|
110
|
+
transition .1s
|
|
111
|
+
&:hover
|
|
112
|
+
background var(--theme)
|
|
113
|
+
color var(--theme-text)
|
|
114
|
+
|
|
115
|
+
@media (max-width 700px)
|
|
116
|
+
.article
|
|
117
|
+
width 100%
|
|
118
|
+
.home
|
|
119
|
+
.contact
|
|
120
|
+
justify-content center
|
|
121
|
+
.home
|
|
122
|
+
flex-direction column-reverse
|
|
123
|
+
.home-title
|
|
124
|
+
text-align center
|