hexo-theme-stellar 1.26.8 → 1.28.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 (154) hide show
  1. package/_config.yml +139 -95
  2. package/_data/icons.yml +8 -1
  3. package/_data/widgets.yml +19 -7
  4. package/languages/en.yml +5 -2
  5. package/languages/zh-CN.yml +4 -1
  6. package/languages/zh-TW.yml +5 -2
  7. package/layout/404.ejs +1 -1
  8. package/layout/_partial/{plugins/comments → comments}/artalk/script.ejs +2 -2
  9. package/layout/_partial/{plugins/comments/utterances → comments/giscus}/layout.ejs +5 -2
  10. package/layout/_partial/{plugins/comments → comments}/giscus/script.ejs +1 -4
  11. package/layout/_partial/{plugins/comments → comments}/layout.ejs +14 -9
  12. package/layout/_partial/{plugins/comments → comments}/twikoo/script.ejs +1 -1
  13. package/layout/_partial/comments/waline/script.ejs +43 -0
  14. package/layout/_partial/head.ejs +2 -2
  15. package/layout/_partial/main/article/article_footer.ejs +1 -1
  16. package/layout/_partial/main/footer.ejs +1 -1
  17. package/layout/_partial/main/navbar/article_banner.ejs +81 -17
  18. package/layout/_partial/main/navbar/ghinfo.ejs +1 -1
  19. package/layout/_partial/main/post_list/post_card.ejs +1 -1
  20. package/layout/_partial/menubtn.ejs +6 -3
  21. package/layout/_partial/scripts/defines.ejs +31 -0
  22. package/layout/_partial/scripts/services.ejs +29 -0
  23. package/layout/_partial/scripts/sidebar.ejs +25 -0
  24. package/layout/_partial/scripts/utils.ejs +158 -0
  25. package/layout/_partial/scripts.ejs +32 -0
  26. package/layout/_partial/sidebar/{index.ejs → index_leftbar.ejs} +22 -20
  27. package/layout/_partial/sidebar/index_rightbar.ejs +84 -0
  28. package/layout/_partial/sidebar/logo.ejs +1 -1
  29. package/layout/_partial/widgets/author.ejs +37 -0
  30. package/layout/_partial/widgets/components/edit.ejs +24 -0
  31. package/layout/_partial/widgets/ghissues.ejs +1 -1
  32. package/layout/_partial/widgets/ghrepo.ejs +2 -2
  33. package/layout/_partial/widgets/ghuser.ejs +2 -2
  34. package/layout/_partial/widgets/markdown.ejs +1 -1
  35. package/layout/_partial/widgets/recent.ejs +1 -5
  36. package/layout/_partial/widgets/related.ejs +1 -1
  37. package/layout/_partial/widgets/timeline.ejs +1 -1
  38. package/layout/_partial/widgets/toc.ejs +38 -85
  39. package/layout/_partial/widgets/tree.ejs +71 -0
  40. package/layout/_plugins/copycode.ejs +13 -0
  41. package/layout/_plugins/fancybox.ejs +32 -0
  42. package/layout/_plugins/heti.ejs +21 -0
  43. package/layout/_plugins/index.ejs +24 -0
  44. package/layout/_plugins/lazyload.ejs +21 -0
  45. package/layout/{_partial/plugins/parser/mathjax/script.ejs → _plugins/mathjax.ejs} +1 -1
  46. package/layout/_plugins/mermaid.ejs +29 -0
  47. package/layout/_plugins/preload.ejs +9 -0
  48. package/layout/_plugins/scrollreveal.ejs +15 -0
  49. package/layout/_plugins/search/algolia_search.ejs +13 -0
  50. package/layout/_plugins/search/local_search.ejs +8 -0
  51. package/layout/_plugins/swiper.ejs +26 -0
  52. package/layout/_plugins/tianli_gpt.ejs +14 -0
  53. package/layout/archive.ejs +9 -2
  54. package/layout/layout.ejs +9 -6
  55. package/layout/page.ejs +2 -10
  56. package/package.json +1 -1
  57. package/scripts/events/lib/doc_tree.js +8 -8
  58. package/scripts/events/lib/topic_tree.js +3 -0
  59. package/scripts/generators/author.js +3 -2
  60. package/scripts/helpers/parse_config.js +6 -5
  61. package/scripts/tags/lib/albums.js +2 -2
  62. package/scripts/tags/lib/button.js +1 -1
  63. package/scripts/tags/lib/emoji.js +1 -1
  64. package/scripts/tags/lib/friends.js +1 -1
  65. package/scripts/tags/lib/icon.js +10 -5
  66. package/scripts/tags/lib/link.js +2 -2
  67. package/scripts/tags/lib/md.js +1 -1
  68. package/scripts/tags/lib/posters.js +2 -2
  69. package/scripts/tags/lib/sites.js +1 -1
  70. package/scripts/tags/lib/timeline.js +2 -2
  71. package/source/css/_common/button.styl +8 -2
  72. package/source/css/_common/device.styl +39 -12
  73. package/source/css/_custom.styl +15 -16
  74. package/source/css/_defines/const.styl +1 -1
  75. package/source/css/_defines/func.styl +14 -4
  76. package/source/css/_defines/theme.styl +38 -27
  77. package/source/css/_layout/layout.styl +62 -27
  78. package/source/css/_layout/list.styl +1 -1
  79. package/source/css/_layout/main.styl +1 -4
  80. package/source/css/_layout/md.styl +16 -2
  81. package/source/css/_layout/pages/archives.styl +4 -0
  82. package/source/css/_layout/partial/article-banner.styl +14 -15
  83. package/source/css/_layout/partial/article-footer.styl +0 -5
  84. package/source/css/_layout/partial/footer.styl +9 -6
  85. package/source/css/_layout/partial/related.styl +4 -0
  86. package/source/css/_layout/sidebar/footer.styl +3 -1
  87. package/source/css/_layout/sidebar/logo.styl +3 -1
  88. package/source/css/_layout/sidebar/menu.styl +1 -1
  89. package/source/css/_layout/sidebar/nav-area.styl +1 -1
  90. package/source/css/_layout/sidebar/sidebar.styl +25 -16
  91. package/source/css/_layout/tag-plugins/banner.styl +1 -8
  92. package/source/css/_layout/tag-plugins/common.styl +10 -5
  93. package/source/css/_layout/tag-plugins/emoji.styl +1 -0
  94. package/source/css/_layout/tag-plugins/icon.styl +6 -0
  95. package/source/css/_layout/tag-plugins/image.styl +1 -1
  96. package/source/css/_layout/tag-plugins/quot.styl +1 -1
  97. package/source/css/_layout/tag-plugins/timeline.styl +26 -27
  98. package/source/css/_layout/widgets/ghrepo.styl +1 -1
  99. package/source/css/_layout/widgets/ghuser.styl +9 -5
  100. package/source/css/_layout/widgets/list.styl +4 -3
  101. package/source/css/_layout/widgets/related.styl +0 -1
  102. package/source/css/_layout/widgets/timeline.styl +27 -21
  103. package/source/css/_layout/widgets/toc.styl +182 -0
  104. package/source/css/_layout/widgets/tree.styl +0 -0
  105. package/source/css/_layout/widgets/widgets.styl +26 -7
  106. package/source/css/_plugins/comments/twikoo.styl +103 -59
  107. package/source/css/_plugins/comments/waline.styl +13 -10
  108. package/source/css/_plugins/index.styl +2 -0
  109. package/source/css/_plugins/katex.styl +5 -0
  110. package/source/css/_plugins/mermaid.styl +49 -59
  111. package/source/css/_plugins/tianli_gpt.styl +208 -151
  112. package/source/js/main.js +52 -251
  113. package/source/js/plugins/copycode.js +28 -41
  114. package/source/js/search/algolia-search.js +75 -0
  115. package/source/js/search/local-search.js +32 -0
  116. package/source/js/services/fcircle.js +36 -0
  117. package/source/js/services/friends.js +27 -0
  118. package/source/js/services/ghinfo.js +33 -0
  119. package/source/js/services/mdrender.js +10 -0
  120. package/source/js/services/memos.js +73 -0
  121. package/source/js/services/siteinfo.js +38 -0
  122. package/source/js/services/sites.js +30 -0
  123. package/source/js/services/timeline.js +106 -0
  124. package/source/js/services/weibo.js +60 -0
  125. package/layout/_partial/main/navbar/article_top_area.ejs +0 -35
  126. package/layout/_partial/main/navbar/author_banner.ejs +0 -29
  127. package/layout/_partial/plugins/ai/tianli_gpt.ejs +0 -9
  128. package/layout/_partial/plugins/comments/waline/script.ejs +0 -39
  129. package/layout/_partial/plugins/parser/head.ejs +0 -3
  130. package/layout/_partial/plugins/parser/katex/head.ejs +0 -3
  131. package/layout/_partial/plugins/parser/katex/script.ejs +0 -4
  132. package/layout/_partial/plugins/parser/mermaid/script.ejs +0 -29
  133. package/layout/_partial/plugins/parser/script.ejs +0 -9
  134. package/layout/_partial/scripts/index.ejs +0 -176
  135. package/source/css/_layout/widgets/toc_blog.styl +0 -3
  136. package/source/css/_layout/widgets/toc_common.styl +0 -92
  137. package/source/css/_layout/widgets/toc_wiki.styl +0 -62
  138. package/source/js/plugins/fcircle.js +0 -92
  139. package/source/js/plugins/friends.js +0 -84
  140. package/source/js/plugins/ghinfo.js +0 -85
  141. package/source/js/plugins/linkcard.js +0 -48
  142. package/source/js/plugins/marked.js +0 -50
  143. package/source/js/plugins/memos.js +0 -132
  144. package/source/js/plugins/sites.js +0 -87
  145. package/source/js/plugins/timeline.js +0 -162
  146. package/source/js/plugins/weibo.js +0 -116
  147. /package/layout/_partial/{plugins/comments → comments}/artalk/layout.ejs +0 -0
  148. /package/layout/_partial/{plugins/comments → comments}/beaudar/layout.ejs +0 -0
  149. /package/layout/_partial/{plugins/comments → comments}/beaudar/script.ejs +0 -0
  150. /package/layout/_partial/{plugins/comments → comments}/script.ejs +0 -0
  151. /package/layout/_partial/{plugins/comments → comments}/twikoo/layout.ejs +0 -0
  152. /package/layout/_partial/{plugins/comments/giscus → comments/utterances}/layout.ejs +0 -0
  153. /package/layout/_partial/{plugins/comments → comments}/utterances/script.ejs +0 -0
  154. /package/layout/_partial/{plugins/comments → comments}/waline/layout.ejs +0 -0
@@ -1,3 +1,6 @@
1
+ theme($t)
2
+ convert(hexo-config('style.prefers_theme')) == $t
3
+
1
4
  $color-background-h = hue($color-background)
2
5
  $color-background-s = saturation($color-background)
3
6
  $color-background-l = lightness($color-background)
@@ -14,7 +17,7 @@ $color-text-h = hue($color-text)
14
17
  $color-text-s = saturation($color-text)
15
18
  $color-text-l = lightness($color-text)
16
19
 
17
- set_text_dark()
20
+ _dark_text()
18
21
  --text: hsl($color-text-h, $color-text-s, 0)
19
22
  --text-p1: hsl($color-text-h, $color-text-s, $color-text-l)
20
23
  --text-p2: hsl($color-text-h, $color-text-s, $color-text-l / 0.5 * 0.75)
@@ -23,7 +26,7 @@ set_text_dark()
23
26
  --text-meta: hsl($color-text-h, $color-text-s, $color-text-l / 0.5 * 2)
24
27
  --text-code: hsl($color-code-h, $color-code-s, $color-code-l)
25
28
 
26
- set_text_light()
29
+ _light_text()
27
30
  --text: hsl($color-text-h, $color-text-s, 100)
28
31
  --text-p1: hsl($color-text-h, $color-text-s, 100 - $color-text-l / 0.5 * 0.5)
29
32
  --text-p2: hsl($color-text-h, $color-text-s, 100 - $color-text-l / 0.5 * 0.75)
@@ -32,44 +35,52 @@ set_text_light()
32
35
  --text-meta: hsl($color-text-h, $color-text-s, 100 - $color-text-l / 0.5 * 1.75)
33
36
  --text-code: hsl($color-code-h, $color-code-s, (100 - $color-code-l) * 1.2)
34
37
 
35
- :root
36
- --site-bg: hsl($color-background-h, $color-background-s, $color-background-l)
37
- --card: hsl($color-block-h, $color-block-s, 100)
38
- --alpha20: rgba(white, 0.2)
39
- --alpha50: rgba(white, 0.5)
40
- --alpha60: rgba(white, 0.6)
41
- --alpha75: rgba(white, 0.75)
42
- --alpha100: white
43
- --sidebar-bg: hsl($color-block-h, $color-block-s, 90)
44
- --block: hsl($color-block-h, $color-block-s, 95)
45
- --block-border: hsl($color-block-h, $color-block-s, 90)
46
- --block-hover: hsl($color-block-h, $color-block-s, 92)
47
- set_text_dark()
48
- --theme-link: $color-link
49
- --theme-link-opa: rgba($color-link, 0.2)
38
+ _common_root()
39
+ :root
40
+ --theme-link: $color-link
50
41
 
51
- set_darkmode()
42
+ _light_root()
43
+ :root
44
+ --site-bg: hsl($color-background-h, $color-background-s, $color-background-l)
45
+ --card: hsl($color-block-h, $color-block-s, 100)
46
+ --block: hsl($color-block-h, $color-block-s, 95)
47
+ --block-border: hsl($color-block-h, $color-block-s, 90)
48
+ --block-hover: hsl($color-block-h, $color-block-s, 92)
49
+ --theme-link-opa: rgba($color-link, 0.2)
50
+ --leftbar-bg: hsl($color-block-h, $color-block-s, 90)
51
+ --alpha20: rgba(white, 0.2)
52
+ --alpha50: rgba(white, 0.5)
53
+ --alpha60: rgba(white, 0.6)
54
+ --alpha75: rgba(white, 0.75)
55
+ --alpha100: white
56
+ _dark_text()
57
+
58
+ _dark_root()
52
59
  :root
53
60
  --site-bg: hsl($color-background-h, $color-background-s * 0.5, (100 - $color-background-l) * 2 + 8)
54
61
  --card: hsl($color-block-h, $color-block-s * 1.2, 24)
55
62
  --block: hsl($color-block-h, $color-block-s, 16)
56
63
  --block-border: hsl($color-block-h, $color-block-s, 24)
57
64
  --block-hover: hsl($color-block-h, $color-block-s, 20)
65
+ --theme-link-opa: rgba($color-link, 0.4)
66
+ --leftbar-bg: hsl($color-block-h, $color-block-s, 24)
58
67
  --alpha20: rgba(black, 0.2)
59
68
  --alpha50: rgba(black, 0.5)
60
69
  --alpha60: rgba(black, 0.6)
61
70
  --alpha75: rgba(black, 0.75)
62
71
  --alpha100: black
63
- --sidebar-bg: hsl($color-block-h, $color-block-s, 24)
64
- set_text_light()
72
+ _light_text()
65
73
  @media screen and (max-width: $device-mobile-max)
66
74
  --site-bg: black
67
75
 
68
- if hexo-config('style.darkmode') == 'auto'
69
- // 系统的dark模式
76
+ _common_root()
77
+ // 默认自动模式
78
+ if theme(light)
79
+ _light_root()
80
+ else if theme(dark)
81
+ _dark_root()
82
+ else
83
+ @media (prefers-color-scheme: light)
84
+ _light_root()
70
85
  @media (prefers-color-scheme: dark)
71
- set_darkmode()
72
-
73
-
74
- if hexo-config('style.darkmode') == 'always'
75
- set_darkmode()
86
+ _dark_root()
@@ -1,57 +1,92 @@
1
1
  .l_body
2
- display: flex
2
+ display: grid
3
+ grid-template-columns: 1fr minmax(200px,var(--width-main)) 1fr
4
+ grid-gap: var(--gap-margin)
3
5
  margin: auto
4
- padding: 0 var(--gap-l)
5
- justify-content: center
6
6
  font-size: var(--fsp)
7
7
 
8
- .l_body .l_left
8
+ .l_body aside
9
9
  z-index: 8
10
- width: var(--width-left)
11
10
  flex-shrink: 0
12
11
  position: sticky
13
12
  position: -webkit-sticky
14
- top: 8px
13
+ // 侧边栏容器宽度
14
+ --width-sidebar: calc(var(--gap-margin) * 2 + var(--gap-padding) * 2 + var(--side-content-width))
15
+ width: var(--width-sidebar)
15
16
 
16
- .l_body .l_main
17
- flex-shrink: 1
18
- flex-grow: 1
19
- width: 320px
20
- max-width: var(--width-main)
17
+ .l_body .l_left
18
+ justify-self: right
19
+ top: 8px
20
+ .l_body .l_right
21
+ justify-self: left
22
+ --gap-margin: 0px
23
+ max-height: calc(100% - 8px * 2)
24
+ .widgets
25
+ height: 100%
26
+ overflow visible
21
27
 
28
+ // 平板布局
29
+ @media screen and (max-width: $device-laptop)
30
+ .l_body .l_right
31
+ --gap-margin: 16px
32
+ .laptop-only
33
+ display: block !important
34
+ .l_body
35
+ .l_right
36
+ top: 8px
37
+ position: fixed
38
+ max-height: calc(100% - 8px * 2)
39
+ transform: translateX(320px)
40
+ transition: transform .38s ease-out
41
+ margin: 0
42
+ right: 8px
43
+ box-shadow: $boxshadow-card-float
44
+ z-index: 10
45
+ background: var(--site-bg)
46
+ overflow: auto
47
+ scrollbar(0, 0)
48
+ --blur-bg: var(--alpha60)
49
+ --blur-px: 50px
50
+ .l_body[rightbar]
51
+ .l_right
52
+ transform: translateX(0px)
53
+ .main-mask
54
+ // opacity 1
55
+ pointer-events: inherit
22
56
 
23
57
  // 手机布局
24
- .main-mask
25
- position: fixed
26
- pointer-events: none
27
- top: 0
28
- left: 0
29
- width: 100%
30
- height: 100%
31
- background: rgba(black, 0.2)
32
- z-index: 9
33
- opacity 0
34
- trans1 opacity
35
58
  @media screen and (max-width: $device-mobile-max)
36
59
  .mobile-only
37
60
  display: block !important
38
61
  .l_body
39
62
  padding: 0
63
+ display: block
40
64
  .l_left
41
65
  position: fixed
42
66
  transform: translateX(-320px)
67
+ transition: transform .38s ease-out
43
68
  margin: 0
44
69
  left: 8px
45
70
  box-shadow: $boxshadow-card-float
46
71
  z-index: 10
47
72
  .l_main
48
73
  max-width: 100%
49
- .l_body.mobile
50
- .l_left
51
- transition: transform .38s ease-out
52
- .l_body.mobile.sidebar
74
+ .l_body[leftbar]
53
75
  .l_left
54
76
  transform: translateX(0px)
55
77
  .main-mask
56
78
  opacity 1
57
- pointer-events: inherit
79
+ pointer-events: inherit
80
+
81
+
82
+ .main-mask
83
+ position: fixed
84
+ pointer-events: none
85
+ top: 0
86
+ left: 0
87
+ width: 100%
88
+ height: 100%
89
+ background: rgba(black, 0.1)
90
+ z-index: 9
91
+ opacity 0
92
+ trans1 opacity
@@ -7,7 +7,7 @@
7
7
  .l_main .post-list
8
8
  .post-title
9
9
  font-weight: 500
10
- margin: 1.25rem 0 .75rem 0
10
+ margin: 1.25rem auto .75rem 0
11
11
  line-height: 1.2
12
12
  font-size: $fsh4
13
13
  border-bottom: none
@@ -1,9 +1,6 @@
1
1
  .l_main
2
2
  position: relative
3
- padding-bottom: "calc(1 * %s)" % var(--gap-l)
4
- @media screen and (min-width: 1400px)
5
- margin-left: "calc(2 * %s)" % var(--gap-l)
6
- margin-right: "calc(2 * %s + %s / 2)" % (var(--gap-l) var(--width-left))
3
+ padding-bottom: var(--gap-max)
7
4
  @media screen and (min-width: $device-mobile-max)
8
5
  padding-top: 8px
9
6
  header
@@ -20,15 +20,25 @@
20
20
  overflow: hidden
21
21
 
22
22
  .l_body[text-indent] .md-text.content
23
- >p
23
+ // 应用缩进效果
24
+ p:not([class])
24
25
  text-indent: 'calc(%s * 2)' % var(--fsp)
25
26
  text-align: justify
27
+ a
28
+ text-indent: 0
29
+ ol,ul
30
+ margin-left: 0.5em
26
31
  h1,h2,h3,h4,h5,h6
27
32
  text-align: center
28
33
  a.headerlink
29
34
  display: none
30
35
  h2
31
36
  margin: 2em 0 1.5em
37
+ // 取消缩进效果
38
+ blockquote, .poetry, .okr, .timeline, li, .article-footer
39
+ p:not([class])
40
+ text-indent: 0
41
+ text-align: convert(hexo-config('style.text-align'))
32
42
 
33
43
  .md-text
34
44
  ul:not(:last-child),
@@ -108,14 +118,18 @@
108
118
  margin: auto
109
119
  display: block
110
120
 
111
- .md-text li:not([class]) a:not([class]), .md-text p:not([class]) a:not([class])
121
+ li:not([class]) a:not([class])
122
+ p:not([class]) a:not([class])
123
+ table a:not([class])
112
124
  position: relative
113
125
  text-decoration: none
114
126
  trans1 all
115
127
  padding: 0 2px
116
128
  border-radius: 0
129
+ color: inherit
117
130
  background: linear-gradient(0deg,var(--theme-link),var(--theme-link)) no-repeat left 100%/100% 1px
118
131
  &:hover
132
+ text-decoration: none
119
133
  color: var(--theme-link)
120
134
  border-radius: 4px
121
135
  background: linear-gradient(0deg,var(--theme-link-opa),var(--theme-link-opa)) no-repeat left 100%/100% 100%
@@ -100,3 +100,7 @@
100
100
  opacity: 1
101
101
  color: var(--text)
102
102
  background: var(--block-hover)
103
+
104
+ @media screen and (min-width: $device-mobile)
105
+ .post-list.author #archive
106
+ padding: 1rem 0
@@ -6,7 +6,7 @@
6
6
 
7
7
  .article.banner
8
8
  .bg+.content
9
- min-height: 240px
9
+ min-height: 224px
10
10
  --text-banner: white
11
11
  --button-hover-bg: rgba(white, 0.25)
12
12
 
@@ -17,13 +17,14 @@
17
17
  .title
18
18
  font-size: $fsh1
19
19
  color: var(--text-banner)
20
- .bottom
21
- padding: 2rem 1rem
22
20
  h1
23
21
  line-height: 1.2
24
- margin: 0
25
-
26
- .l_body[text-indent] .article.banner .content .bottom
22
+ margin: 0.25rem 0
23
+
24
+ .l_body .article.banner .content .bottom.only-title .title
25
+ padding: 0.75rem 0
26
+
27
+ .l_body[text-indent] .article.banner .content .bottom.only-title
27
28
  justify-content: center
28
29
 
29
30
 
@@ -31,7 +32,7 @@
31
32
  .article.banner
32
33
  .bg+.content
33
34
  trans1 all
34
- --blur-bg: rgba(black, 0.1)
35
+ --blur-bg: rgba(black, 0)
35
36
  --blur-px: 0px
36
37
  --blur-sat: 100%
37
38
  background: var(--blur-bg)
@@ -47,12 +48,10 @@
47
48
 
48
49
  .article.banner
49
50
  --button-hover-bg: rgba(black, 0.05)
50
- set_darkmode()
51
- .article.banner
51
+ ondark()
52
52
  --button-hover-bg: rgba(white, 0.15)
53
-
54
- if hexo-config('style.darkmode') == 'auto'
55
- @media (prefers-color-scheme: dark)
56
- set_darkmode()
57
- if hexo-config('style.darkmode') == 'always'
58
- set_darkmode()
53
+ if theme(dark)
54
+ ondark()
55
+ else if theme(auto)
56
+ @media (prefers-color-scheme: dark)
57
+ ondark()
@@ -30,11 +30,6 @@
30
30
  word-break: break-all
31
31
  p
32
32
  --fsp: $fsp2
33
- a
34
- text-decoration: none
35
- color: unset
36
- &:hover
37
- text-decoration: underline
38
33
  section+section
39
34
  margin-top: 1rem
40
35
  padding-top: 1rem
@@ -3,15 +3,20 @@
3
3
  color: var(--text-p2)
4
4
  a
5
5
  color: var(--text-p2)
6
+ border-radius: 4px
7
+ transition: background 0.2s ease-out
6
8
  &:hover
7
- color: $color-hover
9
+ color: var(--text)
10
+ background: var(--block-hover)
8
11
 
9
12
  .page-footer .sitemap
10
- margin: .5rem 0 2rem
13
+ margin: .5rem -4px 2rem
11
14
  display: grid
12
15
  scrollbar-width: none
13
16
  grid-gap: 1rem 1rem
14
17
  grid-auto-flow: column dense
18
+ // grid-template-columns: repeat(auto-fill, minmax(80px, 1fr))
19
+ grid-template-columns: repeat(4, 1fr)
15
20
  overflow: scroll
16
21
  scrollbar(0, 0)
17
22
 
@@ -23,12 +28,11 @@
23
28
  >span,>a
24
29
  text-decoration: none
25
30
  txt-ellipsis()
31
+ padding: 4px
26
32
  >span
27
- margin: .5rem 0
28
33
  font-weight: 500
29
34
  color: var(--text-p1)
30
- >a
31
- margin: .2rem 0
35
+ margin: 4px 0
32
36
 
33
37
 
34
38
  .page-footer .text
@@ -36,5 +40,4 @@
36
40
  margin: 4px 0
37
41
  line-height: 1.5
38
42
  a:not([class])
39
- text-decoration: underline
40
43
  font-weight: 500
@@ -101,3 +101,7 @@ article.md-text.content+.related-wrap
101
101
  position: relative
102
102
  svg.loading
103
103
  top: 60px
104
+ iframe
105
+ border-radius: $border-card
106
+ border: none
107
+ width: 100%
@@ -1,5 +1,5 @@
1
1
  .l_left footer.footer
2
- margin: 0.5rem var(--gap-l) 1rem
2
+ margin: 0.5rem var(--gap-max) 1rem
3
3
 
4
4
  .social-wrap
5
5
  display: grid
@@ -19,3 +19,5 @@
19
19
  z-index: 1
20
20
  filter: unset
21
21
  background: var(--alpha100)
22
+ img
23
+ border-radius: 2px
@@ -3,8 +3,10 @@
3
3
  align-items: center
4
4
  overflow: hidden
5
5
  min-height: 48px
6
- img
6
+ img.avatar
7
7
  object-fit: cover
8
+ img.icon
9
+ object-fit: contain
8
10
  .icon
9
11
  width: 48px
10
12
  height: 48px
@@ -49,5 +49,5 @@
49
49
  transform: translateX(-50%)
50
50
  border-radius: 2px
51
51
  bottom: 2px
52
- background: var(--text-p1)
52
+ background: currentColor
53
53
 
@@ -1,2 +1,2 @@
1
1
  .nav-area
2
- margin: 32px var(--gap-l) 0
2
+ margin: 32px var(--gap-margin) 0
@@ -1,32 +1,41 @@
1
1
  .l_left
2
- margin: 8px 8px 8px 0
2
+ margin: 8px
3
3
  height: 'calc(%s - 16px)' % 100vh
4
4
  border-radius: $border-card-l
5
5
  overflow: hidden
6
+ overflow: clip
7
+ overflow-clip-margin: .5px
6
8
  .header
7
- margin: var(--gap-l) var(--gap-l) 0
8
- margin-top: "calc(2 * %s)" % var(--gap-l)
9
- @media screen and (min-width: $device-mobile-max)
10
- >.widgets:first-child>.widget-wrapper:first-child
11
- margin-top: "calc(2 * %s)" % var(--gap-l)
12
-
9
+ margin: var(--gap-max) var(--gap-margin) 0
10
+
11
+ .l_right
12
+ margin: 8px
13
+ border-radius: $border-card-l
14
+ @media screen and (min-width: $device-2k)
15
+ .l_left
16
+ margin-left: auto
17
+ margin-right: calc(2 * var(--gap-max))
18
+ .l_right
19
+ margin-left: var(--gap-max)
20
+ margin-right: auto
21
+
13
22
  .l_left
14
23
  background-size: cover
15
- if hexo-config('style.sidebar') && hexo-config('style.sidebar.background-image')
16
- background-image: convert(hexo-config('style.sidebar.background-image'))
17
- else if hexo-config('style.sidebar') && hexo-config('style.sidebar.background')
18
- background: convert(hexo-config('style.sidebar.background'))
19
- .sidebar-container
24
+ if hexo-config('style.leftbar') && hexo-config('style.leftbar.background-image')
25
+ background-image: convert(hexo-config('style.leftbar.background-image'))
26
+ else if hexo-config('style.leftbar') && hexo-config('style.leftbar.background')
27
+ background: convert(hexo-config('style.leftbar.background'))
28
+ .leftbar-container
20
29
  height: 100%
21
30
  display: flex
22
31
  flex-direction: column
23
32
  word-break: break-all
24
33
  text-align: justify
25
- if hexo-config('style.sidebar') && hexo-config('style.sidebar.blur-px')
26
- --blur-px: convert(hexo-config('style.sidebar.blur-px'))
34
+ if hexo-config('style.leftbar') && hexo-config('style.leftbar.blur-px')
35
+ --blur-px: convert(hexo-config('style.leftbar.blur-px'))
27
36
  @supports ((-webkit-backdrop-filter:blur(var(--blur-px))) or (backdrop-filter:blur(var(--blur-px))))
28
37
  background: var(--blur-bg)
29
38
  backdrop-filter: saturate(240%) blur(var(--blur-px))
30
39
  -webkit-backdrop-filter: saturate(240%) blur(var(--blur-px))
31
- if hexo-config('style.sidebar') && hexo-config('style.sidebar.blur-bg')
32
- --blur-bg: convert(hexo-config('style.sidebar.blur-bg'))
40
+ if hexo-config('style.leftbar') && hexo-config('style.leftbar.blur-bg')
41
+ --blur-bg: convert(hexo-config('style.leftbar.blur-bg'))
@@ -127,13 +127,6 @@
127
127
  .tag-plugin.banner .navbar a.active
128
128
  blur-effect()
129
129
 
130
- @media screen and (min-width: $device-mobile-max)
131
- .banner.author.top
132
- margin-left: var(--gap-l)
133
- margin-right: var(--gap-l)
134
-
135
130
  @media screen and (max-width: $device-mobile-max)
136
131
  .banner.top
137
- border-radius: 0
138
- .md-text.content:first-child .tag-plugin.banner:first-child
139
- margin-top: 1rem
132
+ border-radius: 0
@@ -30,6 +30,8 @@ set_dynamic_color($theme)
30
30
  set_dynamic_color($c-red)
31
31
  .colorful[color='orange']
32
32
  set_dynamic_color($c-orange)
33
+ .colorful[color='amber']
34
+ set_dynamic_color($c-amber)
33
35
  .colorful[color='yellow']
34
36
  set_dynamic_color($c-yellow)
35
37
  .colorful[color='green']
@@ -66,7 +68,7 @@ set_dynamic_color($theme)
66
68
  --theme-link: #ffe659
67
69
  set_text_white()
68
70
 
69
- set_darkmode_tags()
71
+ _dark_tags()
70
72
  set_dynamic_color($theme)
71
73
  --theme: $theme
72
74
  --theme-border: hsl(hue($theme), 50, 24)
@@ -81,6 +83,8 @@ set_darkmode_tags()
81
83
  set_dynamic_color($c-red)
82
84
  .colorful[color='orange']
83
85
  set_dynamic_color($c-orange)
86
+ .colorful[color='amber']
87
+ set_dynamic_color($c-amber)
84
88
  .colorful[color='yellow']
85
89
  set_dynamic_color($c-yellow)
86
90
  .colorful[color='green']
@@ -104,9 +108,10 @@ set_darkmode_tags()
104
108
  .colorful[color='warning'],.colorful[color='light']
105
109
  set_text_black()
106
110
 
107
- if hexo-config('style.darkmode') == 'auto'
111
+
112
+ if theme(dark)
113
+ _dark_tags()
114
+ else if theme(auto)
108
115
  @media (prefers-color-scheme: dark)
109
- set_darkmode_tags()
116
+ _dark_tags()
110
117
 
111
- if hexo-config('style.darkmode') == 'always'
112
- set_darkmode_tags()
@@ -6,3 +6,4 @@
6
6
  display: block
7
7
  object-fit: contain
8
8
  height: 1.75em
9
+ border-radius: 0
@@ -10,3 +10,9 @@ span.tag-plugin.icon
10
10
  color: var(--theme)
11
11
  img
12
12
  object-fit: contain
13
+
14
+ p>strong>span.tag-plugin.icon
15
+ margin: -4px 4px 0 0
16
+
17
+ .tag-plugin.icon-wrap span.tag-plugin.icon
18
+ margin-right: 4px
@@ -24,7 +24,7 @@
24
24
  color: var(--text-p1)
25
25
  &:hover
26
26
  background: var(--card) !important
27
- color: $color-hover
27
+ color: $color-theme
28
28
  .image-meta
29
29
  display: flex
30
30
  justify-content: center
@@ -30,7 +30,7 @@
30
30
  h3,h4,h5,h6
31
31
  font-size: $fsh3
32
32
  p
33
- --fsp: $fsh4
33
+ font-size: calc(var(--fsp) + 2px)
34
34
  color: var(--text)
35
35
 
36
36
  // type=text