hexo-theme-stellar 1.26.3 → 1.26.5

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 (78) hide show
  1. package/_config.yml +24 -14
  2. package/_data/icons.yml +13 -5
  3. package/layout/_partial/cover/index.ejs +3 -3
  4. package/layout/_partial/main/article/article_footer.ejs +1 -1
  5. package/layout/_partial/main/footer.ejs +2 -2
  6. package/layout/_partial/main/navbar/article_banner.ejs +54 -0
  7. package/layout/_partial/main/navbar/article_top_area.ejs +2 -2
  8. package/layout/_partial/main/navbar/author_banner.ejs +1 -1
  9. package/layout/_partial/main/navbar/dateinfo.ejs +12 -10
  10. package/layout/_partial/main/navbar/nav_tabs_blog.ejs +2 -2
  11. package/layout/_partial/main/navbar/nav_tabs_wiki.ejs +2 -2
  12. package/layout/_partial/main/post_list/post_card.ejs +4 -3
  13. package/layout/_partial/sidebar/index.ejs +1 -1
  14. package/layout/_partial/sidebar/menu.ejs +1 -7
  15. package/layout/_partial/widgets/related.ejs +1 -1
  16. package/layout/categories.ejs +1 -1
  17. package/layout/layout.ejs +8 -0
  18. package/layout/page.ejs +1 -11
  19. package/package.json +1 -1
  20. package/scripts/events/lib/utils.js +16 -0
  21. package/scripts/helpers/icon.js +2 -13
  22. package/scripts/tags/index.js +1 -0
  23. package/scripts/tags/lib/icon.js +27 -0
  24. package/scripts/tags/lib/link.js +2 -2
  25. package/scripts/tags/lib/navbar.js +1 -1
  26. package/scripts/tags/lib/note.js +1 -1
  27. package/scripts/tags/lib/quot.js +15 -12
  28. package/source/css/_common/base.styl +3 -2
  29. package/source/css/_common/button.styl +31 -29
  30. package/source/css/_common/cap.styl +1 -1
  31. package/source/css/_common/device.styl +16 -5
  32. package/source/css/_common/html.styl +1 -0
  33. package/source/css/_common/input.styl +1 -1
  34. package/source/css/_common/title.styl +17 -15
  35. package/source/css/_common/toast.styl +1 -0
  36. package/source/css/_custom.styl +18 -10
  37. package/source/css/_defines/const.styl +2 -1
  38. package/source/css/_defines/theme.styl +6 -4
  39. package/source/css/_layout/layout.styl +3 -2
  40. package/source/css/_layout/list.styl +34 -23
  41. package/source/css/_layout/main.styl +19 -3
  42. package/source/css/_layout/md.styl +48 -92
  43. package/source/css/_layout/pages/archives.styl +12 -4
  44. package/source/css/_layout/partial/article-banner.styl +58 -0
  45. package/source/css/_layout/partial/article-footer.styl +16 -4
  46. package/source/css/_layout/partial/bread-nav.styl +22 -18
  47. package/source/css/_layout/partial/cover.styl +2 -11
  48. package/source/css/_layout/partial/footer.styl +2 -2
  49. package/source/css/_layout/partial/navbar.styl +22 -12
  50. package/source/css/_layout/partial/related.styl +7 -5
  51. package/source/css/_layout/sidebar/footer.styl +1 -0
  52. package/source/css/_layout/sidebar/logo.styl +1 -1
  53. package/source/css/_layout/sidebar/search.styl +18 -15
  54. package/source/css/_layout/sidebar/sidebar.styl +13 -10
  55. package/source/css/_layout/tag-plugins/banner.styl +41 -27
  56. package/source/css/_layout/tag-plugins/common.styl +8 -4
  57. package/source/css/_layout/tag-plugins/copy.styl +2 -1
  58. package/source/css/_layout/tag-plugins/folders.styl +4 -3
  59. package/source/css/_layout/tag-plugins/folding.styl +4 -2
  60. package/source/css/_layout/tag-plugins/hashtag.styl +2 -1
  61. package/source/css/_layout/tag-plugins/icon.styl +12 -0
  62. package/source/css/_layout/tag-plugins/image.styl +1 -1
  63. package/source/css/_layout/tag-plugins/link.styl +1 -1
  64. package/source/css/_layout/tag-plugins/mark.styl +1 -1
  65. package/source/css/_layout/tag-plugins/navbar.styl +9 -22
  66. package/source/css/_layout/tag-plugins/note.styl +5 -3
  67. package/source/css/_layout/tag-plugins/poetry.styl +5 -5
  68. package/source/css/_layout/tag-plugins/quot.styl +24 -24
  69. package/source/css/_layout/tag-plugins/tabs.styl +4 -3
  70. package/source/css/_layout/tag-plugins/timeline.styl +24 -10
  71. package/source/css/_layout/widgets/ghuser.styl +2 -2
  72. package/source/css/_layout/widgets/markdown.styl +2 -2
  73. package/source/css/_layout/widgets/timeline.styl +11 -8
  74. package/source/css/_layout/widgets/toc_common.styl +1 -5
  75. package/source/css/_layout/widgets/toc_wiki.styl +3 -3
  76. package/source/css/_layout/widgets/widgets.styl +3 -3
  77. package/source/css/_plugins/swiper.styl +1 -1
  78. package/source/css/_plugins/tianli_gpt.styl +2 -2
@@ -3,7 +3,7 @@
3
3
  * 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
4
4
  *
5
5
  * quot:
6
- * {% quot [el:h2] [icon:default] text %}
6
+ * {% quot [el:h2] [icon:default] [prefix:icon] text [suffix:icon] %}
7
7
  *
8
8
  */
9
9
 
@@ -11,29 +11,32 @@
11
11
 
12
12
  module.exports = ctx => function(args) {
13
13
  var el = ''
14
- args = ctx.args.map(args, ['el', 'icon'], ['text'])
14
+ args = ctx.args.map(args, ['el', 'icon', 'prefix', 'suffix'], ['text'])
15
15
  if (!args.el) {
16
16
  args.el = 'p'
17
17
  }
18
18
 
19
19
  var type = ''
20
- if (args.icon && args.icon != 'square' && args.icon != 'quotes') {
20
+ if (args.icon || args.prefix || args.suffix) {
21
21
  type = ' type="icon"'
22
22
  } else {
23
23
  type = ' type="text"'
24
24
  }
25
25
  function content() {
26
- if (!args.icon) {
27
- return args.text
28
- }
29
- var el = ''
30
26
  const cfg = ctx.theme.config.tag_plugins.quot[args.icon]
31
- if (cfg && cfg.prefix) {
32
- el += '<img class="icon prefix" src="' + cfg.prefix + '" />'
27
+ var el = ''
28
+ var prefix = args.prefix || cfg?.prefix
29
+ var suffix = args.suffix || cfg?.suffix
30
+ if (prefix) {
31
+ el += ctx.utils.icon(prefix, 'class="icon prefix"')
32
+ } else {
33
+ el += `<span class="empty"></span>`
33
34
  }
34
- el += args.text
35
- if (cfg && cfg.suffix) {
36
- el += '<img class="icon suffix" src="' + cfg.suffix + '" />'
35
+ el += `<span class="text">${args.text}</span>`
36
+ if (suffix) {
37
+ el += ctx.utils.icon(suffix, 'class="icon prefix"')
38
+ } else {
39
+ el += `<span class="empty"></span>`
37
40
  }
38
41
  return el
39
42
  }
@@ -25,7 +25,7 @@ img
25
25
 
26
26
 
27
27
  li
28
- font-size: $fs-15
28
+ font-size: 'calc(%s - 1px)' % var(--fsp)
29
29
 
30
30
 
31
31
  ul,ol
@@ -40,7 +40,8 @@ table:not([class])
40
40
  margin: 1rem 0
41
41
  max-width: 100%
42
42
  vertical-align: text-top
43
- font-size: $fs-14
43
+ --fsp: $fsp2
44
+ font-size: var(--fsp)
44
45
  th
45
46
  background: var(--block)
46
47
  td,th
@@ -26,34 +26,36 @@ a[onclick]:hover
26
26
  cursor: pointer
27
27
 
28
28
  a.button.start.gradient
29
- transition: 0.38s ease-out
30
29
  position relative
31
- z-index: 0
32
- background: convert(hexo-config('style.gradient.start'))
33
- background-size: 1000%
34
- color: white
35
- text-shadow: 0 0 1px rgba(0,0,0,0.12)
36
- animation: glow 60s linear infinite
37
- @keyframes glow {
38
- from {
39
- background-position: 0%
40
- }
41
- to {
42
- background-position: 1000%
43
- }
44
- }
45
- &:after
46
- content: ''
47
- position absolute
48
- left: 0
49
- right: 0
50
- top: 0
51
- bottom: 0
52
- border-radius: 100px
53
- background: inherit
54
- z-index -1
55
- filter: blur(36px)
30
+ @media (prefers-color-scheme: dark)
56
31
  transition: 0.38s ease-out
57
- opacity 0
58
- &:hover:after
59
- opacity 1
32
+ z-index: 0
33
+ background: convert(hexo-config('style.gradient.start'))
34
+ background-size: 1000%
35
+ color: white
36
+ text-shadow: 0 0 1px rgba(0,0,0,0.12)
37
+ animation: glow 60s linear infinite
38
+ @keyframes glow {
39
+ from {
40
+ background-position: 0%
41
+ }
42
+ to {
43
+ background-position: 1000%
44
+ }
45
+ }
46
+ &:after
47
+ content: ''
48
+ position absolute
49
+ left: 0
50
+ right: 0
51
+ top: 0
52
+ bottom: 0
53
+ border-radius: 100px
54
+ background: inherit
55
+ z-index -1
56
+ filter: blur(12px)
57
+ opacity: 0.5
58
+ transition: 0.38s ease-out
59
+ &:hover:after
60
+ filter: blur(36px)
61
+ opacity 1
@@ -1,6 +1,6 @@
1
1
  .cap
2
2
  font-weight: 500
3
- font-size: $fs-12
3
+ font-size: $fs-13
4
4
  scrollbar-width: none
5
5
  color: var(--text-p2)
6
6
  &.blue
@@ -26,20 +26,31 @@
26
26
  if hexo-config('style.darkmode') == 'always'
27
27
  --blur-bg: alpha(#000, .4)
28
28
 
29
+ // 侧边栏弹出按钮
29
30
  .sidebar-toggle.mobile
30
31
  cursor: pointer
31
- color: var(--text-p0)
32
+ color: var(--text)
32
33
  background: none
33
34
  padding: 8px
34
35
  line-height: 0
35
- font-size: 24px
36
+ font-size: 28px
36
37
  margin: 0
38
+ display: flex
39
+ >*
40
+ path#sep
41
+ trans1 transform
42
+ width: auto
43
+ height: 28px
44
+ // 侧边栏弹出后
45
+ .l_body.mobile.sidebar .sidebar-toggle.mobile
46
+ svg g
47
+ fill: currentColor
48
+ fill-opacity: 0.3
49
+ path#sep
50
+ transform: translateX(2px)
37
51
 
38
52
 
39
53
  .l_body.mobile.sidebar
40
- .float-panel
41
- box-shadow: $boxshadow-float
42
- transform: translateY(-2px)
43
54
  .sidebar-toggle.mobile
44
55
  background: var(--card)
45
56
  color: $color-hover
@@ -5,6 +5,7 @@ html
5
5
  font-size: $fs-root
6
6
  -webkit-text-size-adjust: 100%
7
7
  -ms-text-size-adjust: 100%
8
+ scroll-padding-top: 8px
8
9
  if hexo-config('style.smooth_scroll')
9
10
  scroll-behavior: smooth
10
11
  body
@@ -5,6 +5,6 @@ input
5
5
  input.copy-area
6
6
  display: block
7
7
  font-family: $ff-code
8
- font-size: $fs-12
8
+ font-size: $fs-13
9
9
  font-weight: 700
10
10
  color: var(--text-p3)
@@ -1,29 +1,31 @@
1
1
  h1,.h1
2
- font-size: $fs-h1
2
+ font-size: var(--fsh2)
3
3
  font-weight: 700
4
4
  @media screen and (max-width: $device-mobile)
5
- font-size: $fs-h1
5
+ font-size: var(--fsh2)
6
6
  h2,.h2
7
- font-size: $fs-h2
7
+ font-size: var(--fsh2)
8
+ margin-top: 1.5em
8
9
  h3,.h3
9
- font-size: $fs-h3
10
+ font-size: var(--fsh3)
10
11
  h4,.h4
11
- font-size: $fs-h4
12
+ font-size: var(--fsh4)
12
13
  h5
13
- font-size: $fs-h5
14
+ font-size: 'calc(%s + 1px)' % var(--fsp)
14
15
  h6
15
- font-size: $fs-h6
16
+ font-size: 'calc(%s + 0px)' % var(--fsp)
16
17
 
17
18
  // 次级段落字号
19
+ .fs15
20
+ --fsp: $fs-15
21
+ font-size: var(--fsp)
18
22
  .fs14
19
- font-size: $fs-14
20
- p
21
- font-size: $fs-14 !important
22
- li
23
- font-size: $fs-14 !important
24
- // 脚标字号
25
- .fs12
26
- font-size: $fs-12
23
+ --fsp: $fs-14
24
+ font-size: var(--fsp)
25
+
26
+ .footnote
27
+ --fsp: $fs-13
28
+ font-size: var(--fsp)
27
29
 
28
30
  .widgets
29
31
  .post-title
@@ -20,6 +20,7 @@ div.toast
20
20
  visibility: visible
21
21
  -webkit-animation: fadein 0.5s, fadeout 0.5s 2s
22
22
  animation: fadein 0.5s, fadeout 0.5s 2s
23
+ animation-fill-mode: forwards
23
24
 
24
25
  @-webkit-keyframes fadein
25
26
  from {top: -64px; opacity: 0;}
@@ -44,16 +44,20 @@ $fs-14 = .875rem
44
44
  $fs-13 = .8125rem
45
45
  $fs-12 = .75rem
46
46
 
47
- $fs-h1 = 2rem // 32px
48
- $fs-h2 = 1.75rem // 28px
49
- $fs-h3 = 1.375rem // 22px
50
- $fs-h4 = 1.125rem // 18px
51
- $fs-h5 = $fs-15
52
- $fs-h6 = $fs-12
53
47
  $fs-body = convert(hexo-config('style.font-size.body'))
54
48
  $fs-code = convert(hexo-config('style.font-size.code'))
55
49
  $fs-codeblock = convert(hexo-config('style.font-size.codeblock'))
56
50
 
51
+ $fsh1 = 'calc(%s + 11px)' % $fs-body
52
+ $fsh2 = 'calc(%s + 11px)' % $fs-body
53
+ $fsh3 = 'calc(%s + 7px)' % $fs-body
54
+ $fsh4 = 'calc(%s + 4px)' % $fs-body
55
+ $fsh5 = 'calc(%s + 2px)' % $fs-body
56
+
57
+ $fsp0 = 'calc(%s - 0px)' % $fs-body
58
+ $fsp1 = 'calc(%s - 1px)' % $fs-body
59
+ $fsp2 = 'calc(%s - 2px)' % $fs-body
60
+ $fsp3 = 'calc(%s - 3px)' % $fs-body
57
61
 
58
62
  $border-card = convert(hexo-config('style.border-radius.card'))
59
63
  $border-block = convert(hexo-config('style.border-radius.block'))
@@ -65,10 +69,14 @@ $border-button = 4px
65
69
  :root
66
70
  --width-left: 288px
67
71
  --width-main: 720px
68
- --fs-p: $fs-body
72
+ --fsp: $fs-body
73
+ --fsh2: 'calc(%s + 11px)' % var(--fsp)
74
+ --fsh3: 'calc(%s + 7px)' % var(--fsp)
75
+ --fsh4: 'calc(%s + 4px)' % var(--fsp)
76
+
69
77
  --gap-l: 16px
70
- --gap-p: 1rem // gap for paragraph
71
- --gap-p-compact: 0.75rem
78
+ --gap-p: 'calc(%s + 4px)' % $fs-body // gap for paragraph
79
+ --gap-p-compact: 'calc(%s * 0.75)' % $fs-body
72
80
  // desktop 2k or larger
73
81
  @media screen and (min-width: $device-2k)
74
82
  --gap-l: 32px
@@ -87,7 +95,7 @@ $border-button = 4px
87
95
 
88
96
  // 文章布局风格
89
97
  .l_body.story
90
- --fs-p: 'calc(%s + 2px)' % $fs-body
98
+ --fsp: 'calc(%s + 2px)' % $fs-body
91
99
  --gap-p: 1.5rem
92
100
  .tag-plugin,p>img
93
101
  margin-top: 2.4rem
@@ -42,7 +42,8 @@ $color-google-red = #E8453C
42
42
 
43
43
  $c-red = #F44336
44
44
  $c-orange = #FA6400
45
- $c-yellow = #FFBD2B
45
+ $c-amber = #FFBD2B
46
+ $c-yellow = #f2e03d
46
47
  $c-green = #3DC550
47
48
  $c-cyan = #1BCDFC
48
49
  $c-blue = #2196f3
@@ -15,7 +15,7 @@ $color-text-s = saturation($color-text)
15
15
  $color-text-l = lightness($color-text)
16
16
 
17
17
  set_text_dark()
18
- --text-p0: hsl($color-text-h, $color-text-s, 0)
18
+ --text: hsl($color-text-h, $color-text-s, 0)
19
19
  --text-p1: hsl($color-text-h, $color-text-s, $color-text-l)
20
20
  --text-p2: hsl($color-text-h, $color-text-s, $color-text-l / 0.5 * 0.75)
21
21
  --text-p3: hsl($color-text-h, $color-text-s, $color-text-l / 0.5 * 1.25)
@@ -24,7 +24,7 @@ set_text_dark()
24
24
  --text-code: hsl($color-code-h, $color-code-s, $color-code-l)
25
25
 
26
26
  set_text_light()
27
- --text-p0: hsl($color-text-h, $color-text-s, 100)
27
+ --text: hsl($color-text-h, $color-text-s, 100)
28
28
  --text-p1: hsl($color-text-h, $color-text-s, 100 - $color-text-l / 0.5 * 0.5)
29
29
  --text-p2: hsl($color-text-h, $color-text-s, 100 - $color-text-l / 0.5 * 0.75)
30
30
  --text-p3: hsl($color-text-h, $color-text-s, 100 - $color-text-l / 0.5 * 1.2)
@@ -38,8 +38,9 @@ set_text_light()
38
38
  --alpha20: rgba(white, 0.2)
39
39
  --alpha50: rgba(white, 0.5)
40
40
  --alpha60: rgba(white, 0.6)
41
+ --alpha75: rgba(white, 0.75)
41
42
  --alpha100: white
42
- --sidebar-bg: rgba(white, 0.5)
43
+ --sidebar-bg: hsl($color-block-h, $color-block-s, 90)
43
44
  --block: hsl($color-block-h, $color-block-s, 95)
44
45
  --block-border: hsl($color-block-h, $color-block-s, 90)
45
46
  --block-hover: hsl($color-block-h, $color-block-s, 92)
@@ -56,8 +57,9 @@ set_darkmode()
56
57
  --alpha20: rgba(black, 0.2)
57
58
  --alpha50: rgba(black, 0.5)
58
59
  --alpha60: rgba(black, 0.6)
60
+ --alpha75: rgba(black, 0.75)
59
61
  --alpha100: black
60
- --sidebar-bg: rgba(black, 0.64)
62
+ --sidebar-bg: hsl($color-block-h, $color-block-s, 24)
61
63
  set_text_light()
62
64
  @media screen and (max-width: $device-mobile-max)
63
65
  --site-bg: black
@@ -3,6 +3,7 @@
3
3
  margin: auto
4
4
  padding: 0 var(--gap-l)
5
5
  justify-content: center
6
+ font-size: var(--fsp)
6
7
 
7
8
  .l_body .l_left
8
9
  z-index: 8
@@ -27,7 +28,7 @@
27
28
  left: 0
28
29
  width: 100%
29
30
  height: 100%
30
- background: rgba(black, 0.5)
31
+ background: rgba(black, 0.2)
31
32
  z-index: 9
32
33
  opacity 0
33
34
  trans1 opacity
@@ -47,7 +48,7 @@
47
48
  max-width: 100%
48
49
  .l_body.mobile
49
50
  .l_left
50
- transition: transform .3s ease-out
51
+ transition: transform .38s ease-out
51
52
  .l_body.mobile.sidebar
52
53
  .l_left
53
54
  transform: translateX(0px)
@@ -9,12 +9,12 @@
9
9
  font-weight: 500
10
10
  margin: 1.25rem 0 .75rem 0
11
11
  line-height: 1.2
12
- font-size: $fs-h3
12
+ font-size: $fsh4
13
13
  border-bottom: none
14
- color: var(--text-p0)
14
+ color: var(--text)
15
15
  trans1 color
16
16
  @media screen and (max-width: $device-mobile)
17
- font-size: $fs-h4
17
+ font-size: $fsh5
18
18
  margin: 0.5rem 0
19
19
  .wiki .post-title
20
20
  margin-top: 0.5rem
@@ -24,11 +24,17 @@
24
24
  display: block
25
25
  margin: 1rem 0
26
26
  border-radius: $border-card
27
- box-shadow: 0 2px 8px 0px rgba(0, 0, 0, 0.02)
27
+ background: var(--card)
28
+ @media (prefers-color-scheme: dark)
29
+ &:hover
30
+ box-shadow: 0 0 4px -2px $color-theme, 0 0 24px -8px $color-theme
31
+ @media (prefers-color-scheme: light)
32
+ box-shadow: $boxshadow-card
33
+ hover-float()
28
34
  trans1 all
29
35
  overflow: hidden
30
36
  z-index: 0
31
- background: var(--card)
37
+
32
38
  position: relative
33
39
  .excerpt
34
40
  margin: 1rem 0
@@ -40,27 +46,31 @@
40
46
  margin: 0.5rem 0
41
47
  line-height: 1.5
42
48
  .meta.cap
43
- display: flex
49
+ &,span
50
+ display: flex
51
+ align-items: center
44
52
  flex-wrap: wrap
45
- align-items: center
46
- margin: 0.25rem 0
47
- line-height: 1.5
48
- span+span
49
- margin-left: 0.5rem
50
- span.pin
53
+ margin: 0
54
+ line-height: 2
55
+ --fsp: $fsp1
56
+ font-size: var(--fsp)
57
+ svg
58
+ height: 1em
59
+ width: auto
51
60
  line-height: 0
61
+ transform: scale(1.2)
62
+ margin-right: 8px
63
+ >span+span
64
+ margin-left: 1.5rem
65
+ span.pin
52
66
  img
53
67
  object-fit: contain
54
- height: 1.5em
55
68
  svg
56
- height: 1.5rem
57
69
  color: $c-red
58
70
 
59
- .post-list .post-card:hover
60
- img
61
- transform: scale(1.02)
62
- filter: brightness(80%)
63
-
71
+ .post-list.post .post-card:hover
72
+ img
73
+ filter: brightness(50%)
64
74
 
65
75
  // common article
66
76
  .post-list .md-text
@@ -102,7 +112,8 @@
102
112
  position: absolute
103
113
  line-height: 1.2
104
114
  width: 'calc(100% - %s * 2)' % 1rem
105
- color: var(--text-p0)
115
+ --text-banner: white
116
+ color: var(--text-banner)
106
117
  &[position=top]
107
118
  top: 0
108
119
  background-image: linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0))
@@ -116,18 +127,18 @@
116
127
  color: unset
117
128
  .title
118
129
  font-weight: 500
119
- font-size: $fs-h3
130
+ font-size: $fsh3
120
131
  @media screen and (max-width: $device-mobile)
121
132
  padding: 1rem
122
133
  div+div
123
134
  margin-top: 2px
124
135
  .title
125
- font-size: $fs-h4
136
+ font-size: $fsh4
126
137
  .cap
127
138
  font-size: $fs-12
128
139
  h2
129
140
  margin: .25rem 0
130
- font-size: $fs-h4
141
+ font-size: $fsh4
131
142
 
132
143
 
133
144
  // wiki
@@ -6,8 +6,6 @@
6
6
  margin-right: "calc(2 * %s + %s / 2)" % (var(--gap-l) var(--width-left))
7
7
  @media screen and (min-width: $device-mobile-max)
8
8
  padding-top: 8px
9
- @media screen and (max-width: $device-mobile-max)
10
- padding-top: 1rem
11
9
  header
12
10
  margin: 2rem 1rem 1rem
13
11
  .logo-wrap
@@ -16,4 +14,22 @@
16
14
  .l_body.index
17
15
  .l_main
18
16
  @media screen and (max-width: $device-mobile-max)
19
- padding-top: 0
17
+ padding-top: 0
18
+
19
+ body>.sitebg
20
+ position fixed
21
+ top: 0
22
+ left: 0
23
+ right: 0
24
+ bottom: 0
25
+ background-size: cover
26
+ if hexo-config('style.site') && hexo-config('style.site.background-image')
27
+ background-image: convert(hexo-config('style.site.background-image'))
28
+ .siteblur
29
+ width: 100%
30
+ height: 100%
31
+ blur-effect()
32
+ if hexo-config('style.site') && hexo-config('style.site.blur-px')
33
+ --blur-px: convert(hexo-config('style.site.blur-px'))
34
+ if hexo-config('style.site') && hexo-config('style.site.blur-bg')
35
+ --blur-bg: convert(hexo-config('style.site.blur-bg'))