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.
Files changed (48) hide show
  1. package/_config.yml +107 -33
  2. package/layout/404.ejs +1 -1
  3. package/layout/_partial/cover/index.ejs +12 -0
  4. package/layout/_partial/cover/post_cover.ejs +19 -0
  5. package/layout/_partial/{main/article → cover}/wiki_cover.ejs +1 -4
  6. package/layout/_partial/head.ejs +3 -2
  7. package/layout/_partial/main/article/article_footer.ejs +4 -4
  8. package/layout/_partial/main/post_list/paginator.ejs +2 -2
  9. package/layout/_partial/main/post_list/post_card.ejs +43 -5
  10. package/layout/_partial/main/post_list/wiki_card.ejs +2 -0
  11. package/layout/_partial/plugins/comments/valine/script.ejs +1 -1
  12. package/layout/_partial/plugins/comments/waline/layout.ejs +19 -0
  13. package/layout/_partial/plugins/comments/waline/script.ejs +22 -0
  14. package/layout/_partial/scripts/index.ejs +7 -1
  15. package/layout/_partial/sidebar/widgets/recent.ejs +5 -13
  16. package/layout/index.ejs +5 -2
  17. package/layout/layout.ejs +1 -1
  18. package/layout/post.ejs +6 -2
  19. package/package.json +1 -1
  20. package/scripts/events/index.js +5 -7
  21. package/scripts/tags/grid.js +35 -0
  22. package/scripts/tags/image.js +21 -1
  23. package/scripts/tags/note.js +7 -22
  24. package/scripts/tags/poetry.js +48 -0
  25. package/scripts/tags/quot.js +51 -0
  26. package/scripts/tags/{site.js → sites.js} +3 -0
  27. package/source/css/_common/device.styl +1 -1
  28. package/source/css/_common/highlight.styl +1 -1
  29. package/source/css/_common/title.styl +3 -1
  30. package/source/css/_custom.styl +6 -5
  31. package/source/css/_layout/layout.styl +2 -2
  32. package/source/css/_layout/list.styl +70 -36
  33. package/source/css/_layout/main.styl +2 -2
  34. package/source/css/_layout/md.styl +36 -8
  35. package/source/css/_layout/pages/archives.styl +1 -0
  36. package/source/css/_layout/partial/cover.styl +50 -10
  37. package/source/css/_layout/sidebar/sidebar.styl +20 -4
  38. package/source/css/_layout/tag-plugins/folding.styl +1 -0
  39. package/source/css/_layout/tag-plugins/frame.styl +1 -1
  40. package/source/css/_layout/tag-plugins/image.styl +1 -2
  41. package/source/css/_layout/tag-plugins/inline-labels.styl +3 -0
  42. package/source/css/_layout/tag-plugins/poetry.styl +50 -0
  43. package/source/css/_layout/tag-plugins/quot.styl +82 -0
  44. package/source/css/_plugins/fancybox.styl +5 -0
  45. package/source/css/_plugins/index.styl +2 -0
  46. package/source/js/main.js +60 -13
  47. package/source/js/plugins/friends.js +1 -1
  48. package/source/js/plugins/sites.js +2 -2
@@ -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
  }
@@ -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 outputNoteBlock(args, content) {
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
  }
@@ -12,7 +12,7 @@
12
12
  right: 0
13
13
  bottom: 2rem
14
14
  float: right
15
- z-index: 9
15
+ z-index: 10
16
16
  display: flex
17
17
  border-radius: $border-block 0 0 $border-block
18
18
  padding-right: 1rem
@@ -10,7 +10,7 @@ code
10
10
  border-radius: 4px
11
11
 
12
12
  article.md .highlight
13
- margin: 1rem 0
13
+ margin: var(--gap-p) 0
14
14
  border-radius: $border-block
15
15
  overflow: hidden
16
16
  background: var(--block)
@@ -1,6 +1,8 @@
1
1
  h1,.h1
2
2
  font-size: $fs-h1
3
- font-weight: 500
3
+ font-weight: 700
4
+ @media screen and (max-width: $device-mobile)
5
+ font-size: $fs-h1
4
6
  h2,.h2
5
7
  font-size: $fs-h2
6
8
  h3,.h3
@@ -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://cdn.jsdelivr.net/gh/volantis-x/cdn-fonts@20.5.30/Dosis/Dosis-Medium.ttf')
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 = 2rem // 32px
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: 680px
67
+ --width-main: 720px
67
68
  --gap-l: 16px
68
- --gap-p: 1.25rem // gap for paragraph
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: 740px
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: 7
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: 8
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.08), 0 2px 8px 0px rgba(0, 0, 0, 0.06), 0 4px 16px 0px rgba(0, 0, 0, 0.04)
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
- .post-cover
41
- overflow: hidden
42
- margin-left: -1rem
43
- margin-top: -1rem
44
- margin-right: -1rem
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
- border-radius: 0
49
- height: 280px
50
- @media screen and (max-width: 900px)
51
- height: 240px
52
- @media screen and (max-width: $device-tablet)
53
- height: 280px
54
- @media screen and (max-width: $device-mobile)
55
- height: 240px
56
- @media screen and (max-width: $device-mobile-425)
57
- height: 220px
58
- @media screen and (max-width: $device-mobile-375)
59
- height: 180px
60
- &:not(.lazy)
61
- trans1: transform 1s
62
- .post-list .post-card.post.photo .post-cover img
63
- height: 400px
64
- @media screen and (max-width: 900px)
65
- height: 320px
66
- @media screen and (max-width: $device-tablet)
67
- height: 400px
68
- @media screen and (max-width: $device-mobile)
69
- height: 320px
70
- @media screen and (max-width: $device-mobile-425)
71
- height: 280px
72
- @media screen and (max-width: $device-mobile-375)
73
- height: 240px
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: 220px
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: 1200px)
4
+ @media screen and (min-width: 1280px)
5
5
  margin-left: "calc(2 * %s)" % var(--gap-l)
6
- margin-right: "calc(0.75 * %s)" % var(--width-left)
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: 0
18
- h1.article-title
19
- margin-top: 0.5rem
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: 1em
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,.tag-plugin
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: 3rem
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,4 +1,5 @@
1
1
  .post-list #archive
2
+ padding: 1rem
2
3
  .archive-header
3
4
  display: inline-block
4
5
  font-family: $ff-code
@@ -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 1s
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 1s
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.4
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
- .widget-wrap#recent .widget-body, .widget-wrap#related .widget-body
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
@@ -57,6 +57,7 @@ details.folding[open]
57
57
  details.folding[child=codeblock]>div.body
58
58
  padding: 0
59
59
  background: transparent
60
+ overflow: hidden
60
61
  .highlight
61
62
  border: none
62
63
  border-radius: 0