hexo-theme-gnix 4.0.2 → 4.0.4
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/layout/archive.jsx +8 -2
- package/layout/common/article.jsx +44 -11
- package/layout/common/head.jsx +12 -3
- package/layout/common/scripts.jsx +27 -6
- package/layout/misc/article_licensing.jsx +38 -27
- package/package.json +1 -1
- package/source/css/callout_blocks.css +1 -1
- package/source/css/default.css +66 -30
- package/source/css/responsive/desktop.css +1 -1
- package/source/css/responsive/mobile.css +1 -1
- package/source/css/responsive/tablet.css +1 -1
- package/source/css/responsive/touch.css +2 -2
- package/source/css/shiki/shiki.css +7 -7
- package/source/css/twikoo.css +24 -32
package/layout/archive.jsx
CHANGED
|
@@ -63,7 +63,11 @@ module.exports = class extends Component {
|
|
|
63
63
|
<div class="card">
|
|
64
64
|
<div class="card-content">
|
|
65
65
|
<span class="year">
|
|
66
|
-
{month === null
|
|
66
|
+
{month === null
|
|
67
|
+
? year
|
|
68
|
+
: isValid(time)
|
|
69
|
+
? format(time, "LLLL yyyy")
|
|
70
|
+
: year}
|
|
67
71
|
</span>
|
|
68
72
|
<div class="timeline">
|
|
69
73
|
{posts.map((post) => {
|
|
@@ -91,7 +95,9 @@ module.exports = class extends Component {
|
|
|
91
95
|
articleList = Object.keys(years)
|
|
92
96
|
.sort((a, b) => b - a)
|
|
93
97
|
.map((year) => {
|
|
94
|
-
const posts = page.posts.filter(
|
|
98
|
+
const posts = page.posts.filter(
|
|
99
|
+
(p) => p.date.year() === parseInt(year, 10),
|
|
100
|
+
);
|
|
95
101
|
return renderArticleList(posts, year, null);
|
|
96
102
|
});
|
|
97
103
|
} else {
|
|
@@ -14,7 +14,9 @@ function getWordCount(content) {
|
|
|
14
14
|
}
|
|
15
15
|
content = content.replace(/<\/?[a-z][^>]*>/gi, "");
|
|
16
16
|
content = content.trim();
|
|
17
|
-
return content
|
|
17
|
+
return content
|
|
18
|
+
? (content.match(/[\u00ff-\uffff]|[a-zA-Z]+/g) || []).length
|
|
19
|
+
: 0;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
module.exports = class extends Component {
|
|
@@ -34,27 +36,45 @@ module.exports = class extends Component {
|
|
|
34
36
|
{/* Main content */}
|
|
35
37
|
<div class="card article-wrapper">
|
|
36
38
|
{/* Cover image */}
|
|
37
|
-
{cover ?
|
|
38
|
-
|
|
39
|
+
{cover ? (
|
|
40
|
+
<ArticleCover
|
|
41
|
+
page={page}
|
|
42
|
+
cover={cover}
|
|
43
|
+
index={index}
|
|
44
|
+
helper={helper}
|
|
45
|
+
/>
|
|
46
|
+
) : null}
|
|
47
|
+
<article
|
|
48
|
+
class={`card-content article${"direction" in page ? ` ${page.direction}` : ""}`}
|
|
49
|
+
>
|
|
39
50
|
{/* Title */}
|
|
40
51
|
{page.title !== "" && index ? (
|
|
41
52
|
<h2 class="article-title">
|
|
42
53
|
<a href={url_for(page.link || page.path)}>{page.title}</a>
|
|
43
54
|
</h2>
|
|
44
55
|
) : null}
|
|
45
|
-
{page.title !== "" && !index ?
|
|
56
|
+
{page.title !== "" && !index ? (
|
|
57
|
+
<h1 class="article-title">{page.title}</h1>
|
|
58
|
+
) : null}
|
|
46
59
|
|
|
47
60
|
{/* Metadata - Medium style */}
|
|
48
61
|
{page.layout !== "page" ? (
|
|
49
62
|
<div class="article-header-meta">
|
|
50
63
|
<div class="article-meta-info">
|
|
51
64
|
{page.date && (
|
|
52
|
-
<time
|
|
65
|
+
<time
|
|
66
|
+
class="article-date"
|
|
67
|
+
datetime={page.date.toISOString()}
|
|
68
|
+
>
|
|
53
69
|
{format(page.date, "LLL dd")}
|
|
54
70
|
</time>
|
|
55
71
|
)}
|
|
56
|
-
{page.date && (wordCount > 0 || !index) &&
|
|
57
|
-
|
|
72
|
+
{page.date && (wordCount > 0 || !index) && (
|
|
73
|
+
<span class="meta-separator">·</span>
|
|
74
|
+
)}
|
|
75
|
+
{wordCount > 0 && (
|
|
76
|
+
<span class="article-reading-time">{readTime} min</span>
|
|
77
|
+
)}
|
|
58
78
|
{!index && (
|
|
59
79
|
<Fragment>
|
|
60
80
|
<span class="meta-separator">·</span>
|
|
@@ -73,7 +93,11 @@ module.exports = class extends Component {
|
|
|
73
93
|
{page.tags.map((tag, idx) => (
|
|
74
94
|
<Fragment>
|
|
75
95
|
{idx > 0 && <span class="meta-separator">,</span>}
|
|
76
|
-
<a
|
|
96
|
+
<a
|
|
97
|
+
class="article-tag"
|
|
98
|
+
rel="tag"
|
|
99
|
+
href={url_for(tag.path)}
|
|
100
|
+
>
|
|
77
101
|
{tag.name}
|
|
78
102
|
</a>
|
|
79
103
|
</Fragment>
|
|
@@ -91,13 +115,22 @@ module.exports = class extends Component {
|
|
|
91
115
|
}}
|
|
92
116
|
></div>
|
|
93
117
|
{/* Licensing block */}
|
|
94
|
-
{!index &&
|
|
95
|
-
|
|
118
|
+
{!index &&
|
|
119
|
+
article &&
|
|
120
|
+
article.licenses &&
|
|
121
|
+
Object.keys(article.licenses) ? (
|
|
122
|
+
<ArticleLicensing.Cacheable
|
|
123
|
+
page={page}
|
|
124
|
+
config={config}
|
|
125
|
+
helper={helper}
|
|
126
|
+
/>
|
|
96
127
|
) : null}
|
|
97
128
|
</article>
|
|
98
129
|
</div>
|
|
99
130
|
{/* Comment */}
|
|
100
|
-
{!index ?
|
|
131
|
+
{!index ? (
|
|
132
|
+
<Comment config={config} page={page} helper={helper} />
|
|
133
|
+
) : null}
|
|
101
134
|
</Fragment>
|
|
102
135
|
);
|
|
103
136
|
}
|
package/layout/common/head.jsx
CHANGED
|
@@ -90,7 +90,8 @@ module.exports = class extends Component {
|
|
|
90
90
|
if (
|
|
91
91
|
typeof structured_data === "object" &&
|
|
92
92
|
structured_data !== null &&
|
|
93
|
-
((Array.isArray(structured_data.image) &&
|
|
93
|
+
((Array.isArray(structured_data.image) &&
|
|
94
|
+
structured_data.image.length > 0) ||
|
|
94
95
|
typeof structured_data.image === "string")
|
|
95
96
|
) {
|
|
96
97
|
structuredImages = structured_data.image;
|
|
@@ -144,7 +145,9 @@ module.exports = class extends Component {
|
|
|
144
145
|
page.content ||
|
|
145
146
|
config.description
|
|
146
147
|
}
|
|
147
|
-
keywords={
|
|
148
|
+
keywords={
|
|
149
|
+
(page.tags?.length ? page.tags : undefined) || config.keywords
|
|
150
|
+
}
|
|
148
151
|
url={open_graph.url || page.permalink || url}
|
|
149
152
|
images={openGraphImages}
|
|
150
153
|
siteName={open_graph.site_name || config.title}
|
|
@@ -221,7 +224,13 @@ module.exports = class extends Component {
|
|
|
221
224
|
onload="this.onload=null;this.rel='stylesheet'"
|
|
222
225
|
/>
|
|
223
226
|
<link rel="stylesheet" href="/css/shiki/shiki.css" />
|
|
224
|
-
<Plugins
|
|
227
|
+
<Plugins
|
|
228
|
+
site={site}
|
|
229
|
+
config={config}
|
|
230
|
+
helper={helper}
|
|
231
|
+
page={page}
|
|
232
|
+
head={true}
|
|
233
|
+
/>
|
|
225
234
|
{adsenseClientId ? (
|
|
226
235
|
<script
|
|
227
236
|
data-ad-client={adsenseClientId}
|
|
@@ -7,24 +7,45 @@ module.exports = class extends Component {
|
|
|
7
7
|
|
|
8
8
|
return (
|
|
9
9
|
<Fragment>
|
|
10
|
-
{config.comment?.js_url &&
|
|
11
|
-
|
|
10
|
+
{config.comment?.js_url && (
|
|
11
|
+
<script defer src={config.comment.js_url}></script>
|
|
12
|
+
)}
|
|
13
|
+
<Plugins
|
|
14
|
+
site={site}
|
|
15
|
+
config={config}
|
|
16
|
+
page={page}
|
|
17
|
+
helper={helper}
|
|
18
|
+
head={false}
|
|
19
|
+
/>
|
|
12
20
|
<script defer data-pjax src="/js/main.js"></script>
|
|
13
|
-
<script
|
|
21
|
+
<script
|
|
22
|
+
async
|
|
23
|
+
src="/js/host/iconify-icon/3.0.2/iconify-icon.min.js"
|
|
24
|
+
></script>
|
|
14
25
|
<script async src="/js/theme-selector.js"></script>
|
|
15
|
-
<script
|
|
26
|
+
<script
|
|
27
|
+
defer
|
|
28
|
+
src="/js/host/medium-zoom/dist/medium-zoom.min.js"
|
|
29
|
+
></script>
|
|
16
30
|
<script async src="/js/shiki/shiki.js"></script>
|
|
17
31
|
<script async src="/js/instant-page.min.js" type="module"></script>
|
|
18
32
|
{config?.plugins?.live2d_Asoul && (
|
|
19
33
|
<>
|
|
20
34
|
<script defer src="/js/live2d_Asoul/TweenLite.min.js"></script>
|
|
21
|
-
<script
|
|
35
|
+
<script
|
|
36
|
+
defer
|
|
37
|
+
src="/js/live2d_Asoul/live2dcubismcore.min.js"
|
|
38
|
+
></script>
|
|
22
39
|
<script defer src="/js/live2d_Asoul/pixi.min.js"></script>
|
|
23
40
|
<script defer src="/js/live2d_Asoul/cubism4.min.js"></script>
|
|
24
41
|
<script defer src="/js/live2d_Asoul/pio.js"></script>
|
|
25
42
|
<script defer src="/js/live2d_Asoul/pio_sdk4.js"></script>
|
|
26
43
|
<script defer src="/js/live2d_Asoul/load.js"></script>
|
|
27
|
-
<link
|
|
44
|
+
<link
|
|
45
|
+
href="/js/live2d_Asoul/pio.css"
|
|
46
|
+
rel="stylesheet"
|
|
47
|
+
type="text/css"
|
|
48
|
+
/>
|
|
28
49
|
</>
|
|
29
50
|
)}
|
|
30
51
|
</Fragment>
|
|
@@ -67,7 +67,12 @@ class ArticleLicensing extends Component {
|
|
|
67
67
|
<p>{licensedTitle}</p>
|
|
68
68
|
<p>
|
|
69
69
|
{Object.keys(licenses).map((name) => (
|
|
70
|
-
<a
|
|
70
|
+
<a
|
|
71
|
+
rel="noopener"
|
|
72
|
+
target="_blank"
|
|
73
|
+
title={name}
|
|
74
|
+
href={licenses[name].url}
|
|
75
|
+
>
|
|
71
76
|
<iconify-icon icon={licenses[name].icon} />
|
|
72
77
|
</a>
|
|
73
78
|
))}
|
|
@@ -82,33 +87,39 @@ class ArticleLicensing extends Component {
|
|
|
82
87
|
}
|
|
83
88
|
}
|
|
84
89
|
|
|
85
|
-
ArticleLicensing.Cacheable = cacheComponent(
|
|
86
|
-
|
|
87
|
-
|
|
90
|
+
ArticleLicensing.Cacheable = cacheComponent(
|
|
91
|
+
ArticleLicensing,
|
|
92
|
+
"misc.articlelicensing",
|
|
93
|
+
(props) => {
|
|
94
|
+
const { config, page, helper } = props;
|
|
95
|
+
const { licenses } = config.article || {};
|
|
88
96
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
const links = {};
|
|
98
|
+
if (licenses) {
|
|
99
|
+
Object.keys(licenses).forEach((name) => {
|
|
100
|
+
const license = licenses[name];
|
|
101
|
+
links[name] = {
|
|
102
|
+
url: helper.url_for(
|
|
103
|
+
typeof license === "string" ? license : license.url,
|
|
104
|
+
),
|
|
105
|
+
icon: license.icon,
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
}
|
|
99
109
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
110
|
+
return {
|
|
111
|
+
title: page.title,
|
|
112
|
+
link: decodeURI(page.permalink),
|
|
113
|
+
author: page.author || config.author,
|
|
114
|
+
authorTitle: helper.__("article.licensing.author"),
|
|
115
|
+
createdAt: page.date ? helper.date(page.date) : null,
|
|
116
|
+
createdTitle: helper.__("article.licensing.created_at"),
|
|
117
|
+
updatedAt: page.updated ? helper.date(page.updated) : null,
|
|
118
|
+
updatedTitle: helper.__("article.licensing.updated_at"),
|
|
119
|
+
licenses: links,
|
|
120
|
+
licensedTitle: helper.__("article.licensing.licensed_under"),
|
|
121
|
+
};
|
|
122
|
+
},
|
|
123
|
+
);
|
|
113
124
|
|
|
114
125
|
module.exports = ArticleLicensing;
|
package/package.json
CHANGED
package/source/css/default.css
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
2
|
|
|
3
3
|
:root {
|
|
4
|
-
--font-serif:
|
|
4
|
+
--font-serif:
|
|
5
|
+
"PT Serif", Georgia, "Times New Roman", Times, "Songti SC", "STSong", serif;
|
|
5
6
|
--font-sans-serif:
|
|
6
7
|
Avenir, Futura, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
7
8
|
Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
|
|
8
9
|
--font-monospace:
|
|
9
|
-
"Maple Mono NF CN", "Maple Mono NF", "SF Mono", "SF Pro",
|
|
10
|
+
"Maple Mono NF CN Local", "Maple Mono NF CN", "SF Mono", "SF Pro", Monaco,
|
|
10
11
|
Consolas, "Liberation Mono", "Courier New", monospace;
|
|
11
12
|
--font-article:
|
|
12
|
-
system-ui, "Segoe UI", Roboto, Helvetica, Arial, "PingFang SC",
|
|
13
|
+
"SF Pro", system-ui, "Segoe UI", Roboto, Helvetica, Arial, "PingFang SC",
|
|
13
14
|
"Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC",
|
|
14
15
|
"Source Han Sans CN", sans-serif;
|
|
15
16
|
}
|
|
@@ -203,24 +204,53 @@ a:hover {
|
|
|
203
204
|
color: var(--blue);
|
|
204
205
|
}
|
|
205
206
|
|
|
206
|
-
|
|
207
|
+
a.header-anchor {
|
|
208
|
+
font-family: var(--font-sans-serif);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
a.header-anchor:hover::after {
|
|
212
|
+
margin-left: 0.2em;
|
|
213
|
+
color: var(--surface0);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
h2 a.header-anchor {
|
|
207
217
|
color: var(--peach);
|
|
218
|
+
|
|
219
|
+
&:hover::after {
|
|
220
|
+
content: "##";
|
|
221
|
+
}
|
|
208
222
|
}
|
|
209
223
|
|
|
210
|
-
h3 {
|
|
224
|
+
h3 a.header-anchor {
|
|
211
225
|
color: var(--yellow);
|
|
226
|
+
|
|
227
|
+
&:hover::after {
|
|
228
|
+
content: "###";
|
|
229
|
+
}
|
|
212
230
|
}
|
|
213
231
|
|
|
214
|
-
h4 {
|
|
232
|
+
h4 a.header-anchor {
|
|
215
233
|
color: var(--green);
|
|
234
|
+
|
|
235
|
+
&:hover::after {
|
|
236
|
+
content: "####";
|
|
237
|
+
}
|
|
216
238
|
}
|
|
217
239
|
|
|
218
|
-
h5 {
|
|
240
|
+
h5 a.header-anchor {
|
|
219
241
|
color: var(--blue);
|
|
242
|
+
|
|
243
|
+
&:hover::after {
|
|
244
|
+
content: "#####";
|
|
245
|
+
}
|
|
220
246
|
}
|
|
221
247
|
|
|
222
|
-
h6 {
|
|
248
|
+
h6 a.header-anchor {
|
|
223
249
|
color: var(--mauve);
|
|
250
|
+
|
|
251
|
+
&:hover::after {
|
|
252
|
+
content: "######";
|
|
253
|
+
}
|
|
224
254
|
}
|
|
225
255
|
|
|
226
256
|
mark {
|
|
@@ -342,6 +372,13 @@ input:-webkit-autofill {
|
|
|
342
372
|
/* #endregion Color */
|
|
343
373
|
|
|
344
374
|
/* #region Font */
|
|
375
|
+
|
|
376
|
+
@font-face {
|
|
377
|
+
font-family: "Maple Mono NF CN Local";
|
|
378
|
+
font-weight: 100 900;
|
|
379
|
+
src: local("MapleMono-NF-CN-Regular"),;
|
|
380
|
+
}
|
|
381
|
+
|
|
345
382
|
@font-face {
|
|
346
383
|
font-family: doto;
|
|
347
384
|
font-style: normal;
|
|
@@ -920,7 +957,7 @@ video {
|
|
|
920
957
|
}
|
|
921
958
|
|
|
922
959
|
h2 {
|
|
923
|
-
font-size:
|
|
960
|
+
font-size: 2.25em;
|
|
924
961
|
font-weight: 700;
|
|
925
962
|
line-height: 1.25;
|
|
926
963
|
letter-spacing: -0.02em;
|
|
@@ -928,7 +965,7 @@ video {
|
|
|
928
965
|
}
|
|
929
966
|
|
|
930
967
|
h3 {
|
|
931
|
-
font-size:
|
|
968
|
+
font-size: 2em;
|
|
932
969
|
font-weight: 700;
|
|
933
970
|
line-height: 1.25;
|
|
934
971
|
letter-spacing: -0.015em;
|
|
@@ -936,7 +973,7 @@ video {
|
|
|
936
973
|
}
|
|
937
974
|
|
|
938
975
|
h4 {
|
|
939
|
-
font-size: 1.
|
|
976
|
+
font-size: 1.75em;
|
|
940
977
|
font-weight: 600;
|
|
941
978
|
line-height: 1.25;
|
|
942
979
|
letter-spacing: -0.01em;
|
|
@@ -944,7 +981,7 @@ video {
|
|
|
944
981
|
}
|
|
945
982
|
|
|
946
983
|
h5 {
|
|
947
|
-
font-size: 1.
|
|
984
|
+
font-size: 1.5em;
|
|
948
985
|
font-weight: 600;
|
|
949
986
|
line-height: 1.25;
|
|
950
987
|
letter-spacing: -0.005em;
|
|
@@ -952,7 +989,7 @@ video {
|
|
|
952
989
|
}
|
|
953
990
|
|
|
954
991
|
h6 {
|
|
955
|
-
font-size: 1.
|
|
992
|
+
font-size: 1.25em;
|
|
956
993
|
font-weight: 600;
|
|
957
994
|
line-height: 1.25;
|
|
958
995
|
margin: 1.2rem 0 1rem;
|
|
@@ -967,7 +1004,6 @@ video {
|
|
|
967
1004
|
ul,
|
|
968
1005
|
ol,
|
|
969
1006
|
dl,
|
|
970
|
-
table,
|
|
971
1007
|
pre,
|
|
972
1008
|
details {
|
|
973
1009
|
margin-top: 0;
|
|
@@ -1064,6 +1100,18 @@ video {
|
|
|
1064
1100
|
line-height: 1.45;
|
|
1065
1101
|
}
|
|
1066
1102
|
|
|
1103
|
+
code {
|
|
1104
|
+
font-size: 0.85em;
|
|
1105
|
+
font-weight: 400;
|
|
1106
|
+
font-family: var(--font-monospace);
|
|
1107
|
+
padding: 0 0.15em;
|
|
1108
|
+
margin: 0 0.1em;
|
|
1109
|
+
background-color: var(--base);
|
|
1110
|
+
color: var(--subtext1);
|
|
1111
|
+
border: 1px solid var(--surface0);
|
|
1112
|
+
border-radius: 6px;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1067
1115
|
sub,
|
|
1068
1116
|
sup {
|
|
1069
1117
|
font-size: 75%;
|
|
@@ -1156,7 +1204,7 @@ blockquote {
|
|
|
1156
1204
|
}
|
|
1157
1205
|
|
|
1158
1206
|
blockquote:before {
|
|
1159
|
-
content:
|
|
1207
|
+
content: "”";
|
|
1160
1208
|
position: absolute;
|
|
1161
1209
|
left: 0.5rem;
|
|
1162
1210
|
top: 0.2rem;
|
|
@@ -1219,18 +1267,6 @@ input.task-list-item-checkbox:checked::before {
|
|
|
1219
1267
|
color: var(--base);
|
|
1220
1268
|
}
|
|
1221
1269
|
|
|
1222
|
-
code {
|
|
1223
|
-
font-size: 0.85em;
|
|
1224
|
-
font-weight: 400;
|
|
1225
|
-
font-family: var(--font-monospace);
|
|
1226
|
-
padding: 0 0.15em;
|
|
1227
|
-
margin: 0 0.1em;
|
|
1228
|
-
background-color: var(--base);
|
|
1229
|
-
color: var(--subtext1);
|
|
1230
|
-
border: 1px solid var(--surface0);
|
|
1231
|
-
border-radius: 6px;
|
|
1232
|
-
}
|
|
1233
|
-
|
|
1234
1270
|
strong {
|
|
1235
1271
|
font-weight: bolder;
|
|
1236
1272
|
padding: 0 0.1em;
|
|
@@ -1320,7 +1356,7 @@ section {
|
|
|
1320
1356
|
.article-title {
|
|
1321
1357
|
font-family: var(--font-article);
|
|
1322
1358
|
font-size: 3em;
|
|
1323
|
-
font-weight:
|
|
1359
|
+
font-weight: bold;
|
|
1324
1360
|
line-height: 1.2;
|
|
1325
1361
|
letter-spacing: -0.02em;
|
|
1326
1362
|
margin-bottom: 0.4em;
|
|
@@ -1333,7 +1369,7 @@ section {
|
|
|
1333
1369
|
}
|
|
1334
1370
|
|
|
1335
1371
|
.article-header-meta {
|
|
1336
|
-
font-family: var(--font-monospace);
|
|
1372
|
+
font-family: Menlo, var(--font-monospace);
|
|
1337
1373
|
font-style: italic;
|
|
1338
1374
|
overflow: auto;
|
|
1339
1375
|
margin-bottom: 1rem;
|
|
@@ -1526,4 +1562,4 @@ input.searchbox-input {
|
|
|
1526
1562
|
margin-top: 0.25em;
|
|
1527
1563
|
}
|
|
1528
1564
|
|
|
1529
|
-
/* #endregion Search */
|
|
1565
|
+
/* #endregion Search */
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
#icarus-toc-container .toc-item {
|
|
187
|
-
margin-bottom: .5rem;
|
|
187
|
+
margin-bottom: 0.5rem;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
#icarus-toc-container .toc-text {
|
|
@@ -249,4 +249,4 @@
|
|
|
249
249
|
width: 90%;
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
/* #endregion TOC */
|
|
252
|
+
/* #endregion TOC */
|
|
@@ -135,7 +135,6 @@ figure.shiki {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
@keyframes code-expand-pulse {
|
|
138
|
-
|
|
139
138
|
0%,
|
|
140
139
|
to {
|
|
141
140
|
opacity: 0.6;
|
|
@@ -168,7 +167,6 @@ figure.shiki {
|
|
|
168
167
|
}
|
|
169
168
|
}
|
|
170
169
|
|
|
171
|
-
|
|
172
170
|
pre.shiki {
|
|
173
171
|
background: var(--mantle);
|
|
174
172
|
padding: 0.6em;
|
|
@@ -221,10 +219,12 @@ figure.shiki[data-collapsible="true"]:not(.expanded) > pre.shiki:after {
|
|
|
221
219
|
height: 80px;
|
|
222
220
|
pointer-events: none;
|
|
223
221
|
z-index: 1;
|
|
224
|
-
background: linear-gradient(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
222
|
+
background: linear-gradient(
|
|
223
|
+
transparent 0%,
|
|
224
|
+
hsl(from var(--mantle) h s l / 0.8),
|
|
225
|
+
30%,
|
|
226
|
+
var(--mantle) 100%
|
|
227
|
+
);
|
|
228
228
|
opacity: 1;
|
|
229
229
|
}
|
|
230
230
|
|
|
@@ -1651,4 +1651,4 @@ pre.shiki.has-focused > code {
|
|
|
1651
1651
|
--shiki-nord-font-weight: inherit;
|
|
1652
1652
|
--shiki-tokyo: #89ddff;
|
|
1653
1653
|
--shiki-tokyo-font-weight: bold;
|
|
1654
|
-
}
|
|
1654
|
+
}
|
package/source/css/twikoo.css
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
.tk-avatar .tk-avatar-img {
|
|
26
26
|
height: 2.5rem;
|
|
27
|
-
color:
|
|
27
|
+
color: var(--subtext0);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.tk-comment .tk-submit .tk-avatar .tk-avatar-img,
|
|
@@ -547,7 +547,7 @@
|
|
|
547
547
|
height: 32px;
|
|
548
548
|
width: 50px;
|
|
549
549
|
margin: 0 0.5em;
|
|
550
|
-
padding-left: .5em;
|
|
550
|
+
padding-left: 0.5em;
|
|
551
551
|
font-size: 1em;
|
|
552
552
|
color: var(--text);
|
|
553
553
|
background: var(--surface0);
|
|
@@ -672,16 +672,11 @@
|
|
|
672
672
|
|
|
673
673
|
.tk-admin {
|
|
674
674
|
position: absolute;
|
|
675
|
-
top: 0;
|
|
676
|
-
left: 100%;
|
|
677
675
|
width: 100%;
|
|
678
676
|
height: 100%;
|
|
679
677
|
overflow-y: auto;
|
|
680
678
|
pointer-events: all;
|
|
681
|
-
color: var(--
|
|
682
|
-
background-color: rgba(0, 0, 0, 0.6);
|
|
683
|
-
backdrop-filter: blur(5px);
|
|
684
|
-
transition: all 0.5s ease;
|
|
679
|
+
background-color: var(--mantle);
|
|
685
680
|
visibility: hidden;
|
|
686
681
|
}
|
|
687
682
|
|
|
@@ -726,7 +721,6 @@
|
|
|
726
721
|
}
|
|
727
722
|
|
|
728
723
|
.tk-login-title {
|
|
729
|
-
color: var(--base);
|
|
730
724
|
font-size: 1.25rem;
|
|
731
725
|
text-align: center;
|
|
732
726
|
margin-top: 10rem;
|
|
@@ -734,7 +728,6 @@
|
|
|
734
728
|
|
|
735
729
|
.tk-password,
|
|
736
730
|
.tk-login-msg {
|
|
737
|
-
color: var(--base);
|
|
738
731
|
width: 80%;
|
|
739
732
|
text-align: center;
|
|
740
733
|
margin-top: 1rem;
|
|
@@ -755,7 +748,6 @@
|
|
|
755
748
|
}
|
|
756
749
|
|
|
757
750
|
.tk-panel {
|
|
758
|
-
/* color: var(--text); */
|
|
759
751
|
padding: 2rem;
|
|
760
752
|
}
|
|
761
753
|
|
|
@@ -775,11 +767,11 @@
|
|
|
775
767
|
.tk-panel .tk-tabs {
|
|
776
768
|
display: flex;
|
|
777
769
|
margin-bottom: 1em;
|
|
778
|
-
border-bottom:
|
|
770
|
+
border-bottom: 1px solid var(--surface0);
|
|
779
771
|
}
|
|
780
772
|
|
|
781
773
|
.tk-panel .tk-tab {
|
|
782
|
-
color:
|
|
774
|
+
color: var(--subtext0);
|
|
783
775
|
cursor: pointer;
|
|
784
776
|
line-height: 2em;
|
|
785
777
|
margin-right: 2em;
|
|
@@ -1134,7 +1126,7 @@
|
|
|
1134
1126
|
.el-button.is-disabled.is-plain:hover {
|
|
1135
1127
|
background-color: var(--base);
|
|
1136
1128
|
border-color: #ebeef5;
|
|
1137
|
-
color:
|
|
1129
|
+
color: var(--subtext0);
|
|
1138
1130
|
}
|
|
1139
1131
|
|
|
1140
1132
|
.el-button.is-loading {
|
|
@@ -1660,23 +1652,23 @@
|
|
|
1660
1652
|
}
|
|
1661
1653
|
|
|
1662
1654
|
.el-textarea__inner::-webkit-input-placeholder {
|
|
1663
|
-
color:
|
|
1655
|
+
color: var(--subtext0);
|
|
1664
1656
|
}
|
|
1665
1657
|
|
|
1666
1658
|
.el-textarea__inner:-ms-input-placeholder {
|
|
1667
|
-
color:
|
|
1659
|
+
color: var(--subtext0);
|
|
1668
1660
|
}
|
|
1669
1661
|
|
|
1670
1662
|
.el-textarea__inner::-ms-input-placeholder {
|
|
1671
|
-
color:
|
|
1663
|
+
color: var(--subtext0);
|
|
1672
1664
|
}
|
|
1673
1665
|
|
|
1674
1666
|
.el-textarea__inner::placeholder {
|
|
1675
|
-
color:
|
|
1667
|
+
color: var(--subtext0);
|
|
1676
1668
|
}
|
|
1677
1669
|
|
|
1678
1670
|
.el-textarea__inner:hover {
|
|
1679
|
-
border-color:
|
|
1671
|
+
border-color: var(--subtext0);
|
|
1680
1672
|
}
|
|
1681
1673
|
|
|
1682
1674
|
.el-textarea__inner:focus {
|
|
@@ -1696,24 +1688,24 @@
|
|
|
1696
1688
|
.el-textarea.is-disabled .el-textarea__inner {
|
|
1697
1689
|
background-color: #f5f7fa;
|
|
1698
1690
|
border-color: #e4e7ed;
|
|
1699
|
-
color:
|
|
1691
|
+
color: var(--subtext0);
|
|
1700
1692
|
cursor: not-allowed;
|
|
1701
1693
|
}
|
|
1702
1694
|
|
|
1703
1695
|
.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder {
|
|
1704
|
-
color:
|
|
1696
|
+
color: var(--subtext0);
|
|
1705
1697
|
}
|
|
1706
1698
|
|
|
1707
1699
|
.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder {
|
|
1708
|
-
color:
|
|
1700
|
+
color: var(--subtext0);
|
|
1709
1701
|
}
|
|
1710
1702
|
|
|
1711
1703
|
.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder {
|
|
1712
|
-
color:
|
|
1704
|
+
color: var(--subtext0);
|
|
1713
1705
|
}
|
|
1714
1706
|
|
|
1715
1707
|
.el-textarea.is-disabled .el-textarea__inner::placeholder {
|
|
1716
|
-
color:
|
|
1708
|
+
color: var(--subtext0);
|
|
1717
1709
|
}
|
|
1718
1710
|
|
|
1719
1711
|
.el-textarea.is-exceed .el-textarea__inner {
|
|
@@ -1760,7 +1752,7 @@
|
|
|
1760
1752
|
}
|
|
1761
1753
|
|
|
1762
1754
|
.el-input .el-input__clear {
|
|
1763
|
-
color:
|
|
1755
|
+
color: var(--subtext0);
|
|
1764
1756
|
font-size: 14px;
|
|
1765
1757
|
cursor: pointer;
|
|
1766
1758
|
-webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
@@ -1819,7 +1811,7 @@
|
|
|
1819
1811
|
transition: all 0.3s;
|
|
1820
1812
|
text-align: center;
|
|
1821
1813
|
height: 100%;
|
|
1822
|
-
color:
|
|
1814
|
+
color: var(--subtext0);
|
|
1823
1815
|
}
|
|
1824
1816
|
|
|
1825
1817
|
.el-input__inner::-ms-reveal {
|
|
@@ -1827,19 +1819,19 @@
|
|
|
1827
1819
|
}
|
|
1828
1820
|
|
|
1829
1821
|
.el-input__inner::-webkit-input-placeholder {
|
|
1830
|
-
color:
|
|
1822
|
+
color: var(--subtext0);
|
|
1831
1823
|
}
|
|
1832
1824
|
|
|
1833
1825
|
.el-input__inner:-ms-input-placeholder {
|
|
1834
|
-
color:
|
|
1826
|
+
color: var(--subtext0);
|
|
1835
1827
|
}
|
|
1836
1828
|
|
|
1837
1829
|
.el-input__inner::-ms-input-placeholder {
|
|
1838
|
-
color:
|
|
1830
|
+
color: var(--subtext0);
|
|
1839
1831
|
}
|
|
1840
1832
|
|
|
1841
1833
|
.el-input__inner::placeholder {
|
|
1842
|
-
color:
|
|
1834
|
+
color: var(--subtext0);
|
|
1843
1835
|
}
|
|
1844
1836
|
|
|
1845
1837
|
.el-input.is-active .el-input__inner {
|
|
@@ -1886,7 +1878,7 @@
|
|
|
1886
1878
|
.el-input.is-disabled .el-input__inner {
|
|
1887
1879
|
background-color: #f5f7fa;
|
|
1888
1880
|
border-color: #e4e7ed;
|
|
1889
|
-
color:
|
|
1881
|
+
color: var(--subtext0);
|
|
1890
1882
|
cursor: not-allowed;
|
|
1891
1883
|
}
|
|
1892
1884
|
|
|
@@ -2132,4 +2124,4 @@
|
|
|
2132
2124
|
stroke-dasharray: 90, 150;
|
|
2133
2125
|
stroke-dashoffset: -120px;
|
|
2134
2126
|
}
|
|
2135
|
-
}
|
|
2127
|
+
}
|