hexo-theme-stellar 1.5.2 → 1.7.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 +67 -39
- package/languages/en.yml +0 -1
- package/languages/zh-CN.yml +0 -1
- package/languages/zh-TW.yml +0 -1
- 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 +10 -0
- package/layout/_partial/main/article/read_next.ejs +0 -6
- package/layout/_partial/main/post_list/post_card.ejs +42 -4
- package/layout/_partial/main/post_list/wiki_card.ejs +2 -0
- package/layout/_partial/scripts/index.ejs +6 -0
- package/layout/_partial/sidebar/index.ejs +11 -6
- package/layout/_partial/sidebar/widgets/markdown.ejs +18 -10
- package/layout/_partial/sidebar/widgets/recent.ejs +5 -13
- package/layout/_partial/sidebar/widgets/toc.ejs +2 -1
- package/layout/archive.ejs +3 -3
- package/layout/categories.ejs +1 -1
- package/layout/index.ejs +5 -2
- package/layout/layout.ejs +1 -1
- package/layout/post.ejs +6 -2
- package/layout/tags.ejs +1 -1
- package/package.json +1 -1
- package/scripts/events/index.js +5 -7
- package/scripts/tags/friends.js +3 -0
- package/scripts/tags/image.js +21 -1
- package/scripts/tags/link.js +42 -16
- package/scripts/tags/poetry.js +48 -0
- package/scripts/tags/quot.js +51 -0
- package/source/css/_common/device.styl +1 -1
- package/source/css/_common/highlight.styl +2 -1
- package/source/css/_common/title.styl +3 -1
- package/source/css/_custom.styl +5 -4
- package/source/css/_layout/layout.styl +1 -1
- 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 +48 -16
- package/source/css/_layout/partial/cover.styl +50 -10
- package/source/css/_layout/partial/navbar.styl +3 -4
- package/source/css/_layout/partial/related.styl +1 -3
- package/source/css/_layout/sidebar/sidebar.styl +22 -5
- package/source/css/_layout/tag-plugins/about.styl +4 -5
- package/source/css/_layout/tag-plugins/folding.styl +1 -0
- package/source/css/_layout/tag-plugins/friends.styl +2 -1
- package/source/css/_layout/tag-plugins/image.styl +1 -2
- package/source/css/_layout/tag-plugins/link.styl +47 -9
- package/source/css/_layout/tag-plugins/poetry.styl +50 -0
- package/source/css/_layout/tag-plugins/quot.styl +82 -0
- package/source/css/_layout/tag-plugins/sites.styl +2 -2
- package/source/css/_layout/tag-plugins/tabs.styl +2 -2
- package/source/css/_layout/tag-plugins/timeline.styl +1 -1
- package/source/css/_plugins/fancybox.styl +5 -0
- package/source/css/_plugins/index.styl +2 -0
- package/source/js/main.js +46 -13
package/scripts/tags/friends.js
CHANGED
|
@@ -58,6 +58,9 @@ hexo.extend.tag.register('friends', function(args) {
|
|
|
58
58
|
}
|
|
59
59
|
if (groupId in friends) {
|
|
60
60
|
let group = friends[groupId];
|
|
61
|
+
if ((typeof group == 'object') && group.constructor == Array) {
|
|
62
|
+
group = {items: group};
|
|
63
|
+
}
|
|
61
64
|
if (group.title || group.description) {
|
|
62
65
|
el += groupHeader(group);
|
|
63
66
|
}
|
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/link.js
CHANGED
|
@@ -1,36 +1,62 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* link.js v1 | https://github.com/xaoxuu/hexo-theme-stellar/
|
|
2
|
+
* link.js v1.1 | https://github.com/xaoxuu/hexo-theme-stellar/
|
|
3
3
|
* 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
|
|
4
4
|
*
|
|
5
|
-
* {% link url title [description] [
|
|
5
|
+
* {% link url title [description] [icon:src] %}
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
|
+
var util = require('hexo-util');
|
|
11
|
+
const full_url_for = require('hexo-util').full_url_for.bind(hexo);
|
|
12
|
+
|
|
10
13
|
hexo.extend.tag.register('link', function(args) {
|
|
11
|
-
args = hexo.args.map(args, ['
|
|
14
|
+
args = hexo.args.map(args, ['icon'], ['url', 'title', 'description']);
|
|
12
15
|
|
|
13
16
|
var el = '';
|
|
14
17
|
el += '<div class="tag-plugin link dis-select">';
|
|
15
|
-
el += '<a class="link-card" title="' + args.title + '" href="' + args.url + '"';
|
|
18
|
+
el += '<a class="link-card' + (args.description ? ' rich' : ' plain') + '" title="' + args.title + '" href="' + args.url + '"';
|
|
16
19
|
if (args.url.includes('://')) {
|
|
17
20
|
el += ' target="_blank" rel="external nofollow noopener noreferrer"';
|
|
18
21
|
}
|
|
19
22
|
el += '>';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
el
|
|
29
|
-
}
|
|
30
|
-
|
|
23
|
+
|
|
24
|
+
function loadIcon() {
|
|
25
|
+
var el = '';
|
|
26
|
+
if (hexo.theme.config.plugins.lazyload && hexo.theme.config.plugins.lazyload.enable) {
|
|
27
|
+
el += '<div class="lazy img" data-bg="' + (args.icon || hexo.theme.config.default.link) + '"></div>';
|
|
28
|
+
} else {
|
|
29
|
+
el += '<div class="lazy img" style="background-image:url("' + (args.icon || hexo.theme.config.default.link) + '")"></div>';
|
|
30
|
+
}
|
|
31
|
+
return el;
|
|
32
|
+
}
|
|
33
|
+
function loadTitle() {
|
|
34
|
+
return '<span class="title">' + args.title + '</span>';
|
|
35
|
+
}
|
|
36
|
+
function loadDesc() {
|
|
37
|
+
return '<span class="desc fs12">' + (args.description || full_url_for(args.url)) + '</span>';
|
|
31
38
|
}
|
|
32
39
|
|
|
33
|
-
|
|
40
|
+
if (args.description) {
|
|
41
|
+
// top
|
|
42
|
+
el += '<div class="top">';
|
|
43
|
+
el += loadIcon();
|
|
44
|
+
el += '<span class="desc fs12">' + full_url_for(args.url) + '</span>';
|
|
45
|
+
el += '</div>';
|
|
46
|
+
// bottom
|
|
47
|
+
el += '<div class="bottom">';
|
|
48
|
+
el += loadTitle() + loadDesc();
|
|
49
|
+
el += '</div>';
|
|
50
|
+
} else {
|
|
51
|
+
// left
|
|
52
|
+
el += '<div class="left">';
|
|
53
|
+
el += loadTitle() + loadDesc();
|
|
54
|
+
el += '</div>';
|
|
55
|
+
// right
|
|
56
|
+
el += '<div class="right">';
|
|
57
|
+
el += loadIcon();
|
|
58
|
+
el += '</div>';
|
|
59
|
+
}
|
|
34
60
|
|
|
35
61
|
// end
|
|
36
62
|
el += '</a></div>';
|
|
@@ -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
|
+
});
|
|
@@ -10,7 +10,7 @@ code
|
|
|
10
10
|
border-radius: 4px
|
|
11
11
|
|
|
12
12
|
article.md .highlight
|
|
13
|
-
margin:
|
|
13
|
+
margin: var(--gap-p) 0
|
|
14
14
|
border-radius: $border-block
|
|
15
15
|
overflow: hidden
|
|
16
16
|
background: var(--block)
|
|
@@ -88,6 +88,7 @@ article.md .highlight
|
|
|
88
88
|
padding: 4px 0.5rem
|
|
89
89
|
opacity: .25
|
|
90
90
|
font-weight: 700
|
|
91
|
+
color: var(--theme)
|
|
91
92
|
|
|
92
93
|
&.yaml .code:before
|
|
93
94
|
content: "YAML"
|
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)
|
|
@@ -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
|
|
@@ -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
|
|
@@ -1,12 +1,24 @@
|
|
|
1
|
-
.post-list
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
.post-list #archive
|
|
2
|
+
padding: 1rem
|
|
3
|
+
.archive-header
|
|
4
|
+
display: inline-block
|
|
5
5
|
font-family: $ff-code
|
|
6
6
|
font-weight: 700
|
|
7
7
|
line-height: 1.2
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
margin-bottom: .5em
|
|
9
|
+
position: relative
|
|
10
|
+
padding: 4px 0
|
|
11
|
+
color: var(--text-p3)
|
|
12
|
+
&:after
|
|
13
|
+
content: ""
|
|
14
|
+
position: absolute
|
|
15
|
+
height: 4px
|
|
16
|
+
bottom: 0
|
|
17
|
+
left: 0
|
|
18
|
+
right: 0
|
|
19
|
+
z-index: -1
|
|
20
|
+
border-radius: 4px
|
|
21
|
+
background: var(--block-border)
|
|
10
22
|
a.post
|
|
11
23
|
display: inline-flex
|
|
12
24
|
align-items: baseline
|
|
@@ -19,44 +31,64 @@
|
|
|
19
31
|
margin-right: 1em
|
|
20
32
|
font-weight: 700
|
|
21
33
|
flex-shrink: 0
|
|
22
|
-
opacity .
|
|
23
|
-
&:hover
|
|
24
|
-
|
|
34
|
+
opacity .5
|
|
35
|
+
&:hover
|
|
36
|
+
.archive-header
|
|
37
|
+
color: var(--text-p1)
|
|
38
|
+
&:after
|
|
39
|
+
background: $color-theme
|
|
40
|
+
|
|
25
41
|
|
|
26
|
-
|
|
42
|
+
|
|
43
|
+
.post-list #cats
|
|
44
|
+
padding: 0
|
|
27
45
|
a.cat
|
|
28
46
|
display: flex
|
|
29
47
|
&.child
|
|
30
48
|
padding-left: 2rem
|
|
31
|
-
padding:
|
|
49
|
+
padding: .5em 1rem
|
|
32
50
|
border-radius: $border-block
|
|
33
51
|
color: var(--text-p2)
|
|
34
52
|
align-items: center
|
|
35
53
|
justify-content: space-between
|
|
54
|
+
font-weight: 500
|
|
55
|
+
font-size: $fs-14
|
|
36
56
|
.badge
|
|
37
|
-
color: $color-theme
|
|
38
57
|
font-weight: 700
|
|
39
58
|
font-family: $ff-code
|
|
40
59
|
opacity: .5
|
|
60
|
+
font-size: $fs-12
|
|
41
61
|
&:hover
|
|
42
|
-
background: var(--block)
|
|
62
|
+
background: var(--block-hover)
|
|
43
63
|
color: var(--text-p0)
|
|
44
64
|
.badge
|
|
45
65
|
opacity: 1
|
|
66
|
+
color: $color-theme
|
|
46
67
|
|
|
47
|
-
.post-list
|
|
68
|
+
.post-list #tags
|
|
48
69
|
display: flex
|
|
49
70
|
flex-wrap: wrap
|
|
71
|
+
padding: 0
|
|
72
|
+
margin: 0 -4px
|
|
50
73
|
a.tag
|
|
51
74
|
display: inline-flex
|
|
52
75
|
align-items: center
|
|
53
76
|
position: relative
|
|
54
77
|
color: var(--text-p2)
|
|
55
78
|
margin: 4px
|
|
56
|
-
padding:
|
|
79
|
+
padding: .5em .75rem
|
|
57
80
|
border-radius: 4px
|
|
58
81
|
background: var(--block)
|
|
59
|
-
font-size: $fs-
|
|
82
|
+
font-size: $fs-13
|
|
83
|
+
font-weight: 500
|
|
84
|
+
&:before
|
|
85
|
+
content: "#"
|
|
86
|
+
margin-left: -2px
|
|
87
|
+
margin-right: 2px
|
|
88
|
+
opacity: .4
|
|
60
89
|
&:hover
|
|
90
|
+
&:before
|
|
91
|
+
color $color-theme
|
|
92
|
+
opacity: 1
|
|
61
93
|
color: var(--text-p0)
|
|
62
94
|
background: var(--block-hover)
|