hexo-theme-stellar 1.6.0 → 1.8.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 +107 -33
- package/layout/404.ejs +1 -1
- package/layout/_partial/cover/index.ejs +12 -0
- package/layout/_partial/cover/post_cover.ejs +19 -0
- package/layout/_partial/{main/article → cover}/wiki_cover.ejs +1 -4
- package/layout/_partial/head.ejs +3 -2
- package/layout/_partial/main/article/article_footer.ejs +4 -4
- package/layout/_partial/main/post_list/paginator.ejs +2 -2
- package/layout/_partial/main/post_list/post_card.ejs +43 -5
- package/layout/_partial/main/post_list/wiki_card.ejs +2 -0
- package/layout/_partial/plugins/comments/valine/script.ejs +1 -1
- package/layout/_partial/plugins/comments/waline/layout.ejs +19 -0
- package/layout/_partial/plugins/comments/waline/script.ejs +22 -0
- package/layout/_partial/scripts/index.ejs +7 -1
- package/layout/_partial/sidebar/widgets/recent.ejs +5 -13
- package/layout/index.ejs +5 -2
- package/layout/layout.ejs +1 -1
- package/layout/post.ejs +6 -2
- package/package.json +1 -1
- package/scripts/events/index.js +5 -7
- package/scripts/tags/grid.js +35 -0
- package/scripts/tags/image.js +21 -1
- package/scripts/tags/note.js +7 -22
- package/scripts/tags/poetry.js +48 -0
- package/scripts/tags/quot.js +51 -0
- package/scripts/tags/{site.js → sites.js} +3 -0
- package/source/css/_common/device.styl +1 -1
- package/source/css/_common/highlight.styl +1 -1
- package/source/css/_common/title.styl +3 -1
- package/source/css/_custom.styl +6 -5
- package/source/css/_layout/layout.styl +2 -2
- package/source/css/_layout/list.styl +70 -36
- package/source/css/_layout/main.styl +2 -2
- package/source/css/_layout/md.styl +36 -8
- package/source/css/_layout/pages/archives.styl +1 -0
- package/source/css/_layout/partial/cover.styl +50 -10
- package/source/css/_layout/sidebar/sidebar.styl +20 -4
- package/source/css/_layout/tag-plugins/folding.styl +1 -0
- package/source/css/_layout/tag-plugins/frame.styl +1 -1
- package/source/css/_layout/tag-plugins/image.styl +1 -2
- package/source/css/_layout/tag-plugins/inline-labels.styl +3 -0
- package/source/css/_layout/tag-plugins/poetry.styl +50 -0
- package/source/css/_layout/tag-plugins/quot.styl +82 -0
- package/source/css/_plugins/fancybox.styl +5 -0
- package/source/css/_plugins/index.styl +2 -0
- package/source/js/main.js +60 -13
- package/source/js/plugins/friends.js +1 -1
- package/source/js/plugins/sites.js +2 -2
package/scripts/tags/image.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
10
|
hexo.extend.tag.register('image', function(args) {
|
|
11
|
-
args = hexo.args.map(args, ['width', 'height', 'bg', 'download', 'padding'], ['src', 'alt']);
|
|
11
|
+
args = hexo.args.map(args, ['width', 'height', 'bg', 'download', 'padding', 'fancybox'], ['src', 'alt']);
|
|
12
12
|
var style = '';
|
|
13
13
|
if (args.width) {
|
|
14
14
|
style += 'width:' + args.width + ';';
|
|
@@ -16,12 +16,32 @@ hexo.extend.tag.register('image', function(args) {
|
|
|
16
16
|
if (args.height) {
|
|
17
17
|
style += 'height:' + args.height + ';';
|
|
18
18
|
}
|
|
19
|
+
// fancybox
|
|
20
|
+
var fancybox = false;
|
|
21
|
+
if (hexo.theme.config.plugins.fancybox && hexo.theme.config.plugins.fancybox.enable) {
|
|
22
|
+
// 主题配置
|
|
23
|
+
if (hexo.theme.config.tag_plugins.image && hexo.theme.config.tag_plugins.image.fancybox) {
|
|
24
|
+
fancybox = hexo.theme.config.tag_plugins.image.fancybox;
|
|
25
|
+
}
|
|
26
|
+
// 覆盖配置
|
|
27
|
+
if (args.fancybox && args.fancybox.length > 0) {
|
|
28
|
+
if (args.fancybox == 'true') {
|
|
29
|
+
fancybox = true;
|
|
30
|
+
} else if (args.fancybox == 'false') {
|
|
31
|
+
fancybox = false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
19
36
|
function img(src, alt, style) {
|
|
20
37
|
let img = '';
|
|
21
38
|
img += '<img src="' + src + '"';
|
|
22
39
|
if (alt) {
|
|
23
40
|
img += ' alt="' + alt + '"';
|
|
24
41
|
}
|
|
42
|
+
if (fancybox) {
|
|
43
|
+
img += ' fancybox="true"';
|
|
44
|
+
}
|
|
25
45
|
if (style.length > 0) {
|
|
26
46
|
img += ' style="' + style + '"';
|
|
27
47
|
}
|
package/scripts/tags/note.js
CHANGED
|
@@ -2,18 +2,17 @@
|
|
|
2
2
|
* note.js v1.1 | https://github.com/xaoxuu/hexo-theme-stellar/
|
|
3
3
|
* 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
|
|
4
4
|
*
|
|
5
|
-
* note:
|
|
6
5
|
* {% note [color:color] [title] content %}
|
|
7
|
-
*
|
|
8
|
-
* noteblock:
|
|
9
|
-
* {% noteblock [color:color] [child:codeblock/tabs] title %}
|
|
10
|
-
* markdown content
|
|
11
|
-
* {% endnoteblock %}
|
|
12
6
|
*/
|
|
13
7
|
|
|
14
8
|
'use strict';
|
|
15
9
|
|
|
16
|
-
function
|
|
10
|
+
hexo.extend.tag.register('note', function(args) {
|
|
11
|
+
args = hexo.args.map(args, ['color'], ['title', 'content']);
|
|
12
|
+
if (args.content == undefined || args.content.length <= 0) {
|
|
13
|
+
args.content = args.title;
|
|
14
|
+
args.title = '';
|
|
15
|
+
}
|
|
17
16
|
const color = args.color;
|
|
18
17
|
const title = args.title;
|
|
19
18
|
var el = '';
|
|
@@ -31,22 +30,8 @@ function outputNoteBlock(args, content) {
|
|
|
31
30
|
}
|
|
32
31
|
// content
|
|
33
32
|
el += '<div class="body">';
|
|
34
|
-
el += hexo.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('');
|
|
33
|
+
el += hexo.render.renderSync({text: args.content, engine: 'markdown'}).split('\n').join('');
|
|
35
34
|
el += '</div></div>';
|
|
36
35
|
|
|
37
36
|
return el;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
hexo.extend.tag.register('note', function(args) {
|
|
41
|
-
args = hexo.args.map(args, ['color'], ['title', 'content']);
|
|
42
|
-
if (args.content == undefined || args.content.length <= 0) {
|
|
43
|
-
args.content = args.title;
|
|
44
|
-
args.title = '';
|
|
45
|
-
}
|
|
46
|
-
return outputNoteBlock(args, args.content);
|
|
47
37
|
});
|
|
48
|
-
|
|
49
|
-
hexo.extend.tag.register('noteblock', function(args, content) {
|
|
50
|
-
args = hexo.args.map(args, ['color', 'child'], ['title']);
|
|
51
|
-
return outputNoteBlock(args, content);
|
|
52
|
-
}, {ends: true});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* poetry.js v1.1 | https://github.com/xaoxuu/hexo-theme-stellar/
|
|
3
|
+
* 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
|
|
4
|
+
*
|
|
5
|
+
* poetry:
|
|
6
|
+
* {% poetry [align:center] [title] [author:作者] [date:日期] [footer:footer] %}
|
|
7
|
+
* body
|
|
8
|
+
* {% endpoetry %}
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
hexo.extend.tag.register('poetry', function(args, content) {
|
|
15
|
+
var el = '';
|
|
16
|
+
args = hexo.args.map(args, ['author', 'date', 'align', 'footer'], ['title']);
|
|
17
|
+
|
|
18
|
+
el += '<div class="tag-plugin poetry"';
|
|
19
|
+
if (args.align) {
|
|
20
|
+
el += ' align="' + args.align + '"';
|
|
21
|
+
}
|
|
22
|
+
el += '>';
|
|
23
|
+
if (args.title) {
|
|
24
|
+
el += '<div class="title">';
|
|
25
|
+
el += args.title;
|
|
26
|
+
el += '</div>';
|
|
27
|
+
}
|
|
28
|
+
if (args.author || args.date) {
|
|
29
|
+
el += '<div class="meta">';
|
|
30
|
+
if (args.author) {
|
|
31
|
+
el += '<span>' + args.author + '</span>';
|
|
32
|
+
}
|
|
33
|
+
if (args.date) {
|
|
34
|
+
el += '<span>' + args.date + '</span>';
|
|
35
|
+
}
|
|
36
|
+
el += '</div>';
|
|
37
|
+
}
|
|
38
|
+
el += '<div class="body">';
|
|
39
|
+
el += hexo.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('');
|
|
40
|
+
el += '</div>';
|
|
41
|
+
if (args.footer) {
|
|
42
|
+
el += '<div class="footer">';
|
|
43
|
+
el += args.footer;
|
|
44
|
+
el += '</div>';
|
|
45
|
+
}
|
|
46
|
+
el += '</div>';
|
|
47
|
+
return el;
|
|
48
|
+
}, {ends: true});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* quot.js v1.1 | https://github.com/xaoxuu/hexo-theme-stellar/
|
|
3
|
+
* 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
|
|
4
|
+
*
|
|
5
|
+
* quot:
|
|
6
|
+
* {% quot [el:h1] [icon:default] text %}
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
hexo.extend.tag.register('quot', function(args) {
|
|
13
|
+
var el = '';
|
|
14
|
+
args = hexo.args.map(args, ['el', 'icon'], ['text']);
|
|
15
|
+
if (!args.el) {
|
|
16
|
+
args.el = 'p';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var type = '';
|
|
20
|
+
if (args.icon && args.icon != 'square' && args.icon != 'quotes') {
|
|
21
|
+
type = ' type="icon"';
|
|
22
|
+
} else {
|
|
23
|
+
type = ' type="text"';
|
|
24
|
+
}
|
|
25
|
+
function content() {
|
|
26
|
+
if (!args.icon) {
|
|
27
|
+
return args.text;
|
|
28
|
+
}
|
|
29
|
+
var el = '';
|
|
30
|
+
const cfg = hexo.theme.config.tag_plugins.quot[args.icon];
|
|
31
|
+
if (cfg && cfg.prefix) {
|
|
32
|
+
el += '<img class="icon prefix" src="' + cfg.prefix + '" />';
|
|
33
|
+
}
|
|
34
|
+
el += args.text;
|
|
35
|
+
if (cfg && cfg.suffix) {
|
|
36
|
+
el += '<img class="icon suffix" src="' + cfg.suffix + '" />';
|
|
37
|
+
}
|
|
38
|
+
return el;
|
|
39
|
+
}
|
|
40
|
+
if (args.el.includes('h')) {
|
|
41
|
+
el += '<' + args.el + ' class="tag-plugin quot"' + type + ' id="' + args.text + '">';
|
|
42
|
+
el += '<a href="#' + args.text + '" class="headerlink" title="' + args.text + '"></a>';
|
|
43
|
+
el += content();
|
|
44
|
+
el += '</' + args.el + '>';
|
|
45
|
+
} else {
|
|
46
|
+
el += '<' + args.el + ' class="tag-plugin quot"' + type + '>';
|
|
47
|
+
el += content();
|
|
48
|
+
el += '</' + args.el + '>';
|
|
49
|
+
}
|
|
50
|
+
return el;
|
|
51
|
+
});
|
|
@@ -62,6 +62,9 @@ hexo.extend.tag.register('sites', function(args) {
|
|
|
62
62
|
}
|
|
63
63
|
if (groupId in sites) {
|
|
64
64
|
let group = sites[groupId];
|
|
65
|
+
if ((typeof group == 'object') && group.constructor == Array) {
|
|
66
|
+
group = {items: group};
|
|
67
|
+
}
|
|
65
68
|
if (group.title || group.description) {
|
|
66
69
|
el += groupHeader(group);
|
|
67
70
|
}
|
package/source/css/_custom.styl
CHANGED
|
@@ -5,6 +5,7 @@ $color-theme = #1BCDFC
|
|
|
5
5
|
$color-link = #2196f3
|
|
6
6
|
$color-button = #1BCDFC
|
|
7
7
|
$color-hover = #ff5722
|
|
8
|
+
$color-highlight = #ff5722
|
|
8
9
|
$color-inner = #fff
|
|
9
10
|
$color-cat = #FF7844
|
|
10
11
|
$color-cat-hover = darken($color-cat, 20)
|
|
@@ -31,7 +32,7 @@ $dark-site-bg-mobile = black
|
|
|
31
32
|
|
|
32
33
|
// @font-face
|
|
33
34
|
// font-family: 'Dosis'
|
|
34
|
-
// src: url('https://
|
|
35
|
+
// src: url('https://fastly.jsdelivr.net/gh/volantis-x/cdn-fonts@20.5.30/Dosis/Dosis-Medium.ttf')
|
|
35
36
|
// font-weight: normal
|
|
36
37
|
// font-style: normal
|
|
37
38
|
|
|
@@ -47,7 +48,7 @@ $fs-14 = .875rem
|
|
|
47
48
|
$fs-13 = .8125rem
|
|
48
49
|
$fs-12 = .75rem
|
|
49
50
|
|
|
50
|
-
$fs-h1 =
|
|
51
|
+
$fs-h1 = 1.75rem // 32px
|
|
51
52
|
$fs-h2 = 1.5rem // 24px
|
|
52
53
|
$fs-h3 = 1.375rem // 22px
|
|
53
54
|
$fs-h4 = 1.125rem // 18px
|
|
@@ -63,14 +64,14 @@ $border-image = 6px
|
|
|
63
64
|
// 可以动态变化的属性
|
|
64
65
|
:root
|
|
65
66
|
--width-left: 256px
|
|
66
|
-
--width-main:
|
|
67
|
+
--width-main: 720px
|
|
67
68
|
--gap-l: 16px
|
|
68
|
-
--gap-p:
|
|
69
|
+
--gap-p: .75rem // gap for paragraph
|
|
69
70
|
// desktop 2k or larger
|
|
70
71
|
@media screen and (min-width: $device-2k)
|
|
71
72
|
--gap-l: 32px
|
|
72
73
|
--width-left: 320px
|
|
73
|
-
--width-main:
|
|
74
|
+
--width-main: 780px
|
|
74
75
|
// desktop 4k or larger
|
|
75
76
|
@media screen and (min-width: $device-4k)
|
|
76
77
|
--width-main: 860px
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
justify-content: center
|
|
6
6
|
|
|
7
7
|
.l_body .l_left
|
|
8
|
-
z-index:
|
|
8
|
+
z-index: 8
|
|
9
9
|
width: var(--width-left)
|
|
10
10
|
flex-shrink: 0
|
|
11
11
|
position: sticky
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
left: 0
|
|
33
33
|
background: var(--site-bg)
|
|
34
34
|
box-shadow: $boxshadow-card-float
|
|
35
|
-
z-index:
|
|
35
|
+
z-index: 9
|
|
36
36
|
.l_main
|
|
37
37
|
max-width: 100%
|
|
38
38
|
.l_body.mobile
|
|
@@ -11,15 +11,18 @@
|
|
|
11
11
|
trans1 box-shadow
|
|
12
12
|
overflow: hidden
|
|
13
13
|
background: var(--card)
|
|
14
|
+
position: relative
|
|
14
15
|
.excerpt
|
|
15
16
|
margin: 1rem 0
|
|
16
17
|
>p
|
|
17
18
|
margin: 1rem 0
|
|
19
|
+
line-height: 1.5
|
|
18
20
|
.meta.cap
|
|
19
21
|
display: flex
|
|
20
22
|
flex-wrap: wrap
|
|
21
23
|
align-items: center
|
|
22
24
|
margin: .5rem 0
|
|
25
|
+
line-height: 1.5
|
|
23
26
|
span+span
|
|
24
27
|
margin-left: 0.5rem
|
|
25
28
|
span.pin
|
|
@@ -28,49 +31,76 @@
|
|
|
28
31
|
object-fit: contain
|
|
29
32
|
height: 1.5em
|
|
30
33
|
.post-list .post-card:hover
|
|
31
|
-
box-shadow: 0 1px 4px 0px rgba(0, 0, 0, 0.
|
|
34
|
+
box-shadow: 0 1px 4px 0px rgba(0, 0, 0, 0.1), 0 4px 16px 0px rgba(0, 0, 0, 0.1)
|
|
32
35
|
|
|
33
36
|
|
|
34
37
|
// common article
|
|
35
|
-
.post-list article
|
|
38
|
+
.post-list article.md
|
|
36
39
|
padding: 1rem
|
|
40
|
+
p
|
|
41
|
+
color: var(--text-p2)
|
|
42
|
+
@media screen and (min-width: $device-mobile)
|
|
43
|
+
font-size: $fs-14
|
|
44
|
+
|
|
37
45
|
|
|
38
46
|
// posts
|
|
39
|
-
.post-list .post-card
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
.post-list .post-card .post-cover
|
|
48
|
+
overflow: hidden
|
|
49
|
+
width: 'calc(100% + 2 * %s)' % 1rem
|
|
50
|
+
border-radius: 0
|
|
51
|
+
margin-left: -1rem
|
|
52
|
+
margin-top: -1rem
|
|
53
|
+
margin-right: -1rem
|
|
54
|
+
&:not(.lazy)
|
|
55
|
+
trans1: transform 1s
|
|
56
|
+
img
|
|
57
|
+
object-fit: cover
|
|
58
|
+
width: 100%
|
|
59
|
+
border-radius: 0
|
|
60
|
+
height: 280px
|
|
61
|
+
@media screen and (max-width: 900px)
|
|
62
|
+
height: 240px
|
|
63
|
+
@media screen and (max-width: $device-tablet)
|
|
64
|
+
height: 280px
|
|
65
|
+
@media screen and (max-width: $device-mobile)
|
|
66
|
+
height: 240px
|
|
67
|
+
@media screen and (max-width: $device-mobile-425)
|
|
68
|
+
height: 220px
|
|
69
|
+
@media screen and (max-width: $device-mobile-375)
|
|
70
|
+
height: 180px
|
|
71
|
+
|
|
72
|
+
.post-list .post-card.post.photo
|
|
73
|
+
.cover
|
|
74
|
+
position: relative
|
|
75
|
+
line-height: 0
|
|
45
76
|
img
|
|
46
|
-
object-fit: cover
|
|
47
77
|
width: 100%
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
78
|
+
.cover-info
|
|
79
|
+
padding: 1rem
|
|
80
|
+
position: absolute
|
|
81
|
+
line-height: 1.2
|
|
82
|
+
width: 'calc(100% - %s * 2)' % 1rem
|
|
83
|
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2)
|
|
84
|
+
color: white
|
|
85
|
+
&[position=top]
|
|
86
|
+
top: 0
|
|
87
|
+
background-image: linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.3),rgba(0,0,0,0))
|
|
88
|
+
&[position=bottom]
|
|
89
|
+
bottom: 0
|
|
90
|
+
background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.3),rgba(0,0,0,0.4))
|
|
91
|
+
div+div
|
|
92
|
+
margin-top: 8px
|
|
93
|
+
@media screen and (max-width: $device-mobile)
|
|
94
|
+
margin-top: 4px
|
|
95
|
+
.cap
|
|
96
|
+
color: white
|
|
97
|
+
font-size: $fs-13
|
|
98
|
+
.title
|
|
99
|
+
font-weight: 500
|
|
100
|
+
font-size: $fs-h3
|
|
101
|
+
h2
|
|
102
|
+
margin: .25rem 0
|
|
103
|
+
font-size: $fs-h4
|
|
74
104
|
|
|
75
105
|
|
|
76
106
|
// wiki
|
|
@@ -86,6 +116,8 @@
|
|
|
86
116
|
display: flex
|
|
87
117
|
width: 200px
|
|
88
118
|
margin: 1rem .5rem
|
|
119
|
+
@media screen and (min-width: 950px)
|
|
120
|
+
margin: 1rem
|
|
89
121
|
align-items: center
|
|
90
122
|
img
|
|
91
123
|
object-fit: contain
|
|
@@ -93,7 +125,9 @@
|
|
|
93
125
|
trans1: transform 0.75s
|
|
94
126
|
.post-list .post-card.wiki article .excerpt
|
|
95
127
|
margin: 1rem .5rem
|
|
96
|
-
min-width:
|
|
128
|
+
@media screen and (min-width: 950px)
|
|
129
|
+
margin-right: 2rem
|
|
130
|
+
min-width: 280px
|
|
97
131
|
flex: 1
|
|
98
132
|
overflow: hidden
|
|
99
133
|
word-wrap: break-word
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
.l_main
|
|
2
2
|
position: relative
|
|
3
3
|
padding-bottom: "calc(1 * %s)" % var(--gap-l)
|
|
4
|
-
@media screen and (min-width:
|
|
4
|
+
@media screen and (min-width: 1280px)
|
|
5
5
|
margin-left: "calc(2 * %s)" % var(--gap-l)
|
|
6
|
-
margin-right: "calc(
|
|
6
|
+
margin-right: "calc(2 * %s + %s)" % (var(--gap-l) var(--width-left))
|
|
7
7
|
@media screen and (min-width: $device-tablet)
|
|
8
8
|
padding-top: "calc(2 * %s)" % var(--gap-l)
|
|
9
9
|
header
|
|
@@ -10,26 +10,44 @@ article.md.excerpt
|
|
|
10
10
|
font-size: $fs-14
|
|
11
11
|
margin: 1em 0
|
|
12
12
|
|
|
13
|
+
h1.article-title
|
|
14
|
+
margin-top: .5em
|
|
15
|
+
margin-bottom: 1em
|
|
16
|
+
line-height: 1.2
|
|
17
|
+
color: var(--text-p0)
|
|
18
|
+
|
|
13
19
|
article.md.content
|
|
14
20
|
position: relative
|
|
15
21
|
margin-bottom: 2rem
|
|
22
|
+
display: flex
|
|
23
|
+
flex-direction: column
|
|
24
|
+
&.indent
|
|
25
|
+
>p:not([class])
|
|
26
|
+
text-indent: 'calc(%s * 2)' % $fs-p
|
|
27
|
+
text-align: justify
|
|
28
|
+
h1,h2,h3,h4,h5,h6
|
|
29
|
+
text-align: center
|
|
30
|
+
>h2:not([class])
|
|
31
|
+
align-self: center
|
|
32
|
+
border-bottom-style: dashed
|
|
33
|
+
border-bottom-color: $color-highlight
|
|
16
34
|
>:first-child
|
|
17
|
-
margin-top:
|
|
18
|
-
h1
|
|
19
|
-
margin-top:
|
|
20
|
-
line-height: 1.2
|
|
21
|
-
color: var(--text-p0)
|
|
35
|
+
margin-top: 1rem
|
|
36
|
+
h1:not(:first-child)
|
|
37
|
+
margin-top: 2em
|
|
22
38
|
h2:first-child
|
|
23
39
|
margin-top: 0
|
|
24
40
|
h2,h3,h4,h5,h6
|
|
25
41
|
color: var(--text-p0)
|
|
26
42
|
padding-top: 1rem
|
|
27
|
-
margin-bottom:
|
|
43
|
+
margin-bottom: .5rem
|
|
28
44
|
line-height: 1.8
|
|
29
45
|
&:hover
|
|
30
46
|
a.headerlink:before
|
|
31
47
|
opacity: 1
|
|
32
48
|
|
|
49
|
+
|
|
50
|
+
|
|
33
51
|
.md
|
|
34
52
|
ul:not(:last-child),
|
|
35
53
|
ol:not(:last-child)
|
|
@@ -42,11 +60,17 @@ article.md.content
|
|
|
42
60
|
p,blockquote,.tag-plugin,ul,ol,.highlight,table
|
|
43
61
|
*
|
|
44
62
|
--gap-p: .5rem
|
|
45
|
-
p
|
|
63
|
+
p,>ul:not(:last-child),>ol:not(:last-child)
|
|
64
|
+
margin-top: 'calc(%s - 4px)' % var(--gap-p)
|
|
65
|
+
margin-bottom: 'calc(%s - 4px)' % var(--gap-p)
|
|
66
|
+
.tag-plugin,iframe
|
|
46
67
|
margin-top: var(--gap-p)
|
|
47
68
|
margin-bottom: var(--gap-p)
|
|
69
|
+
p,.tag-plugin
|
|
48
70
|
.highlight,table
|
|
49
71
|
--gap-p: 1rem
|
|
72
|
+
iframe
|
|
73
|
+
display: block
|
|
50
74
|
|
|
51
75
|
// titles
|
|
52
76
|
article.md.content
|
|
@@ -56,7 +80,7 @@ article.md.content
|
|
|
56
80
|
position: absolute
|
|
57
81
|
margin-left: -0.75em
|
|
58
82
|
h2
|
|
59
|
-
margin-top:
|
|
83
|
+
margin-top: 2rem
|
|
60
84
|
border-bottom: 1px solid var(--block-border)
|
|
61
85
|
font-weight: 400
|
|
62
86
|
h3
|
|
@@ -90,6 +114,10 @@ article.md pre
|
|
|
90
114
|
-webkit-font-smoothing: auto
|
|
91
115
|
-moz-osx-font-smoothing: auto
|
|
92
116
|
|
|
117
|
+
article.md
|
|
118
|
+
.center
|
|
119
|
+
align-self: center
|
|
120
|
+
|
|
93
121
|
// div
|
|
94
122
|
article.md>div
|
|
95
123
|
margin: var(--gap-p) 0
|
|
@@ -5,9 +5,59 @@
|
|
|
5
5
|
flex-direction: column
|
|
6
6
|
justify-content: center
|
|
7
7
|
align-items: center
|
|
8
|
+
position: relative
|
|
9
|
+
&.post
|
|
10
|
+
height: inherit
|
|
11
|
+
|
|
8
12
|
|
|
9
13
|
.l_cover .cover-wrap
|
|
10
14
|
margin-bottom: 0
|
|
15
|
+
display: flex
|
|
16
|
+
flex-direction: column
|
|
17
|
+
justify-content: center
|
|
18
|
+
align-items: center
|
|
19
|
+
.cover-title
|
|
20
|
+
font-weight: 700
|
|
21
|
+
font-size: 1.5rem
|
|
22
|
+
margin: 1rem 0
|
|
23
|
+
line-height: 1.2
|
|
24
|
+
.description
|
|
25
|
+
margin: 1rem 0
|
|
26
|
+
.start-wrap
|
|
27
|
+
margin: 2rem 0
|
|
28
|
+
flex-shrink: 0
|
|
29
|
+
a.start
|
|
30
|
+
display: inline-block
|
|
31
|
+
|
|
32
|
+
.l_cover.post
|
|
33
|
+
.cover
|
|
34
|
+
z-index: -1
|
|
35
|
+
width: 100%
|
|
36
|
+
height: 30vh
|
|
37
|
+
max-width: $device-2k
|
|
38
|
+
min-height: 150px
|
|
39
|
+
max-height: 400px
|
|
40
|
+
@media screen and (max-width: $device-tablet)
|
|
41
|
+
height: 25vh
|
|
42
|
+
@media screen and (max-width: $device-mobile)
|
|
43
|
+
height: 20vh
|
|
44
|
+
@media screen and (min-width: $device-2k)
|
|
45
|
+
margin-top: 4rem
|
|
46
|
+
.img
|
|
47
|
+
border-radius: 2rem
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
.l_cover.post .cover-wrap
|
|
51
|
+
z-index: 1
|
|
52
|
+
.article-title
|
|
53
|
+
text-align: center
|
|
54
|
+
padding: 1rem
|
|
55
|
+
margin: 1em 0 0 0
|
|
56
|
+
@media screen and (min-width: $device-2k)
|
|
57
|
+
font-size: 3rem
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
.l_cover.wiki .cover-wrap
|
|
11
61
|
max-width: $device-mobile
|
|
12
62
|
.preview
|
|
13
63
|
margin-bottom: 2rem
|
|
@@ -18,15 +68,5 @@
|
|
|
18
68
|
@media screen and (max-width: $device-mobile)
|
|
19
69
|
max-width: 60%
|
|
20
70
|
.cover-title
|
|
21
|
-
font-weight: 700
|
|
22
|
-
font-size: 1.5rem
|
|
23
|
-
margin: 1rem 0
|
|
24
71
|
&:first-child
|
|
25
72
|
font-size: 3rem
|
|
26
|
-
.description
|
|
27
|
-
margin: 1rem 0
|
|
28
|
-
.start-wrap
|
|
29
|
-
margin: 2rem 0
|
|
30
|
-
flex-shrink: 0
|
|
31
|
-
a.start
|
|
32
|
-
display: inline-block
|
|
@@ -61,13 +61,13 @@
|
|
|
61
61
|
if hexo-config('style.animated_avatar.animate') == 'always'
|
|
62
62
|
div.bg
|
|
63
63
|
opacity: 1 !important
|
|
64
|
-
animation: spin infinite
|
|
64
|
+
animation: spin infinite 4s
|
|
65
65
|
animation-timing-function: linear
|
|
66
66
|
if hexo-config('style.animated_avatar.animate') == 'auto'
|
|
67
67
|
&:hover
|
|
68
68
|
div.bg
|
|
69
69
|
opacity: 1 !important
|
|
70
|
-
animation: spin infinite
|
|
70
|
+
animation: spin infinite 4s
|
|
71
71
|
animation-timing-function: linear
|
|
72
72
|
|
|
73
73
|
a.title
|
|
@@ -164,7 +164,9 @@ nav.menu
|
|
|
164
164
|
background: var(--site-bg)
|
|
165
165
|
padding-top: 2px
|
|
166
166
|
z-index 1
|
|
167
|
-
line-height: 2
|
|
167
|
+
line-height: 2
|
|
168
|
+
color: var(--text-p4)
|
|
169
|
+
font-size: $fs-14
|
|
168
170
|
&:empty
|
|
169
171
|
display: none
|
|
170
172
|
.cap-action
|
|
@@ -190,7 +192,21 @@ nav.menu
|
|
|
190
192
|
text-decoration: underline
|
|
191
193
|
.widget-header+.widget-body
|
|
192
194
|
margin-top: 0
|
|
193
|
-
|
|
195
|
+
|
|
196
|
+
.widget-wrap .widget-body
|
|
197
|
+
.more-item
|
|
198
|
+
margin: .5rem 0
|
|
199
|
+
.cap
|
|
200
|
+
margin-bottom: .25rem
|
|
201
|
+
.widget-wrap#recent .widget-body
|
|
202
|
+
a
|
|
203
|
+
line-height: 1.2
|
|
204
|
+
font-weight: 500
|
|
205
|
+
color: var(--text-p2)
|
|
206
|
+
font-size: $fs-13
|
|
207
|
+
&:hover
|
|
208
|
+
color: $color-hover
|
|
209
|
+
.widget-wrap#related .widget-body
|
|
194
210
|
>a
|
|
195
211
|
padding 0.5rem
|
|
196
212
|
display: block
|