hexo-theme-stellar 1.42.1 → 1.43.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 (117) hide show
  1. package/.claude/skills/stellar-theme-dev/SKILL.md +1 -0
  2. package/CHANGELOG.md +31 -0
  3. package/THIRD-PARTY-NOTICES.md +28 -0
  4. package/_config.yml +17 -7
  5. package/_data/icons.yml +10 -9
  6. package/languages/en.yml +11 -0
  7. package/languages/zh-CN.yml +11 -0
  8. package/languages/zh-TW.yml +11 -0
  9. package/layout/_partial/comments/artalk/layout.ejs +1 -1
  10. package/layout/_partial/comments/beaudar/layout.ejs +1 -1
  11. package/layout/_partial/comments/giscus/layout.ejs +1 -1
  12. package/layout/_partial/comments/twikoo/layout.ejs +1 -1
  13. package/layout/_partial/comments/utterances/layout.ejs +1 -1
  14. package/layout/_partial/comments/waline/layout.ejs +1 -1
  15. package/layout/_partial/components/collection-item.ejs +44 -0
  16. package/layout/_partial/components/collection.ejs +26 -0
  17. package/layout/_partial/components/widget-frame.ejs +35 -0
  18. package/layout/_partial/cover/wiki_cover.ejs +82 -26
  19. package/layout/_partial/dropdown.ejs +62 -0
  20. package/layout/_partial/head.ejs +9 -0
  21. package/layout/_partial/main/navbar/breadcrumb/blog.ejs +1 -1
  22. package/layout/_partial/main/post_list/archive_item.ejs +12 -0
  23. package/layout/_partial/main/post_list/topic_card.ejs +21 -9
  24. package/layout/_partial/main/post_list/wiki_card.ejs +49 -10
  25. package/layout/_partial/scripts/defines.ejs +2 -8
  26. package/layout/_partial/scripts/lazyload.ejs +0 -3
  27. package/layout/_partial/scripts.ejs +1 -0
  28. package/layout/_partial/sidebar/index_leftbar.ejs +12 -2
  29. package/layout/_partial/sidebar/logo.ejs +1 -1
  30. package/layout/_partial/sidebar/menu.ejs +21 -23
  31. package/layout/_partial/widgets/components/linklist.ejs +23 -21
  32. package/layout/_partial/widgets/linklist.ejs +7 -12
  33. package/layout/_partial/widgets/recent.ejs +52 -41
  34. package/layout/_partial/widgets/related.ejs +47 -36
  35. package/layout/_partial/widgets/tagtree.ejs +70 -54
  36. package/layout/_partial/widgets/toc.ejs +37 -62
  37. package/layout/_partial/widgets/tree.ejs +38 -51
  38. package/layout/_plugins/mermaid.ejs +3 -4
  39. package/layout/archive.ejs +11 -20
  40. package/layout/collection-preview.ejs +60 -0
  41. package/layout/index_topic.ejs +12 -6
  42. package/layout/index_wiki.ejs +49 -3
  43. package/layout/layout.ejs +4 -3
  44. package/package.json +1 -1
  45. package/scripts/events/index.js +0 -2
  46. package/scripts/generators/stellar-icons.js +1 -1
  47. package/scripts/lib/subtitle.js +5 -1
  48. package/scripts/tags/index.js +1 -0
  49. package/scripts/tags/lib/about.js +1 -1
  50. package/scripts/tags/lib/albums.js +1 -1
  51. package/scripts/tags/lib/banner.js +1 -1
  52. package/scripts/tags/lib/dropdown.js +64 -0
  53. package/scripts/tags/lib/friends.js +1 -1
  54. package/scripts/tags/lib/gallery.js +3 -3
  55. package/scripts/tags/lib/image.js +1 -1
  56. package/scripts/tags/lib/posters.js +1 -1
  57. package/scripts/tags/lib/sites.js +8 -4
  58. package/source/css/_common/base.styl +4 -4
  59. package/source/css/_common/blockquote.styl +2 -2
  60. package/source/css/_common/dropdown.styl +132 -0
  61. package/source/css/_common/html.styl +1 -1
  62. package/source/css/_common/loading.styl +5 -2
  63. package/source/css/_common/title.styl +8 -8
  64. package/source/css/_components/collection.styl +188 -0
  65. package/source/css/_components/layout.styl +1 -1
  66. package/source/css/_components/list.styl +44 -46
  67. package/source/css/_components/md.styl +3 -3
  68. package/source/css/_components/page-transition.styl +22 -0
  69. package/source/css/_components/pages/archives.styl +19 -18
  70. package/source/css/_components/pages/article-indent.styl +2 -2
  71. package/source/css/_components/pages/article-story.styl +9 -5
  72. package/source/css/_components/pages/collection-preview.styl +68 -0
  73. package/source/css/_components/pages/notebook.styl +11 -9
  74. package/source/css/_components/partial/article-footer.styl +7 -4
  75. package/source/css/_components/partial/cover.styl +280 -1
  76. package/source/css/_components/partial/related.styl +10 -6
  77. package/source/css/_components/sidebar/footer.styl +65 -12
  78. package/source/css/_components/sidebar/nav-area.styl +6 -1
  79. package/source/css/_components/sidebar/search.styl +6 -2
  80. package/source/css/_components/tag-plugins/chat.styl +1 -1
  81. package/source/css/_components/tag-plugins/folders.styl +4 -4
  82. package/source/css/_components/tag-plugins/folding.styl +3 -3
  83. package/source/css/_components/tag-plugins/hashtag.styl +2 -3
  84. package/source/css/_components/tag-plugins/mdrender.styl +1 -1
  85. package/source/css/_components/tag-plugins/note.styl +4 -4
  86. package/source/css/_components/tag-plugins/poetry.styl +5 -5
  87. package/source/css/_components/tag-plugins/quot.styl +1 -2
  88. package/source/css/_components/tag-plugins/quote.styl +1 -1
  89. package/source/css/_components/tag-plugins/tabs.styl +2 -2
  90. package/source/css/_components/tag-plugins/timeline.styl +4 -4
  91. package/source/css/_components/widgets/markdown.styl +1 -14
  92. package/source/css/_components/widgets/timeline.styl +2 -2
  93. package/source/css/_components/widgets/toc.styl +22 -20
  94. package/source/css/_components/widgets/widgets.styl +13 -1
  95. package/source/css/_components/wiki-card.styl +209 -0
  96. package/source/css/_custom.styl +22 -20
  97. package/source/css/_plugins/lazyload.styl +8 -5
  98. package/source/css/comments/utterances.styl +2 -2
  99. package/source/css/plugins/mermaid.styl +31 -12
  100. package/source/js/icons.js +1 -1
  101. package/source/js/main.js +62 -6
  102. package/source/js/plugins/adaptive-text.js +46 -2
  103. package/source/js/plugins/dropdown.js +435 -0
  104. package/source/js/plugins/galaxy.js +423 -0
  105. package/source/js/search/algolia-search.js +1 -1
  106. package/source/js/search/local-search.js +1 -1
  107. package/source/js/services/ghinfo.js +31 -3
  108. package/source/js/services/siteinfo.js +26 -0
  109. package/source/js/services/sites.js +6 -2
  110. package/source/js/services.js +5 -2
  111. package/source/js/tagtree.js +7 -7
  112. package/source/js/utils.js +1 -1
  113. package/layout/_partial/widgets/components/link.ejs +0 -21
  114. package/source/css/_components/sidebar/menu.styl +0 -77
  115. package/source/css/_components/widgets/components.styl +0 -68
  116. package/source/css/_components/widgets/list.styl +0 -46
  117. package/source/css/_components/widgets/related.styl +0 -40
@@ -0,0 +1,188 @@
1
+ // 可移植的紧凑列表/网格只读取 surface 语义变量,不感知所在页面区域。
2
+ [data-ui-surface]
3
+ --ui-item-bg: transparent
4
+ --ui-item-bg-hover: var(--block)
5
+ --ui-item-bg-active: var(--block)
6
+ --ui-item-shadow-hover: none
7
+ --ui-item-shadow-active: none
8
+ --ui-item-title: var(--text-p1)
9
+ --ui-item-muted: var(--text-p3)
10
+ --ui-item-padding-x: var(--gap-base)
11
+ --ui-item-padding-y: 8px
12
+ --ui-item-min-height: 32px
13
+ --ui-collection-gap: 4px
14
+
15
+ [data-ui-surface='glass']
16
+ --ui-item-bg-hover: linear-gradient(180deg, rgba(white, .38), rgba(white, 0) 50%), var(--bg-a50)
17
+ --ui-item-bg-active: linear-gradient(180deg, rgba(white, .38), rgba(white, 0) 50%), var(--bg-a50)
18
+ --ui-item-shadow-hover: inset 0 1px 0 rgba(white, .45)
19
+ --ui-item-shadow-active: inset 0 1px 0 rgba(white, .45)
20
+ :root[data-theme='dark'] &
21
+ --ui-item-bg-hover: linear-gradient(180deg, rgba(white, .08), rgba(white, 0) 50%), var(--bg-a20)
22
+ --ui-item-bg-active: linear-gradient(180deg, rgba(white, .08), rgba(white, 0) 50%), var(--bg-a20)
23
+ --ui-item-shadow-hover: inset 0 1px 0 rgba(white, .08)
24
+ --ui-item-shadow-active: inset 0 1px 0 rgba(white, .08)
25
+ :root:not([data-theme]) &
26
+ @media screen and (prefers-color-scheme: dark)
27
+ --ui-item-bg-hover: linear-gradient(180deg, rgba(white, .08), rgba(white, 0) 50%), var(--bg-a20)
28
+ --ui-item-bg-active: linear-gradient(180deg, rgba(white, .08), rgba(white, 0) 50%), var(--bg-a20)
29
+ --ui-item-shadow-hover: inset 0 1px 0 rgba(white, .08)
30
+ --ui-item-shadow-active: inset 0 1px 0 rgba(white, .08)
31
+
32
+ .ui-collection
33
+ --ui-columns: 1
34
+ --ui-grid-min: 7rem
35
+ --ui-item-depth: 0
36
+ display: grid
37
+ gap: var(--ui-collection-gap)
38
+ min-width: 0
39
+
40
+ .ui-collection[data-layout='list']
41
+ grid-template-columns: minmax(0, 1fr)
42
+
43
+ .ui-collection[data-layout='grid']
44
+ grid-template-columns: unquote('repeat(auto-fit, minmax(min(100%, max(var(--ui-grid-min), calc((100% - (var(--ui-columns) - 1) * var(--ui-collection-gap)) / var(--ui-columns)))), 1fr))')
45
+
46
+ .ui-collection[data-density='compact']
47
+ --ui-item-padding-y: 4px
48
+ --ui-item-min-height: 30px
49
+ --ui-collection-gap: 2px
50
+
51
+ .ui-collection__item
52
+ --item-theme-light: x-theme-light()
53
+ box-sizing: border-box
54
+ min-width: 0
55
+ min-height: var(--ui-item-min-height)
56
+ padding: var(--ui-item-padding-y) var(--ui-item-padding-x)
57
+ padding-left: calc(var(--ui-item-padding-x) + var(--ui-item-depth) * var(--gap-base))
58
+ border-radius: $border-bar
59
+ color: var(--text-p2)
60
+ background: var(--ui-item-bg)
61
+ box-shadow: none
62
+ display: flex
63
+ align-items: center
64
+ gap: 12px
65
+ line-height: 1.2
66
+ position: relative
67
+ &:hover
68
+ color: var(--ui-item-title)
69
+ background: var(--ui-item-bg-hover)
70
+ box-shadow: var(--ui-item-shadow-hover)
71
+ &.is-active
72
+ color: var(--ui-item-title)
73
+ background: var(--ui-item-bg-active)
74
+ box-shadow: var(--ui-item-shadow-active)
75
+ &:focus-visible
76
+ outline: 2px solid var(--theme)
77
+ outline-offset: 2px
78
+
79
+ .ui-collection__leading
80
+ width: 1.5rem
81
+ height: 1.5rem
82
+ flex-shrink: 0
83
+ display: flex
84
+ align-items: center
85
+ justify-content: center
86
+ color: var(--text-p2)
87
+ img,svg
88
+ max-width: 100%
89
+ max-height: 100%
90
+ object-fit: contain
91
+ opacity: .5
92
+
93
+ .ui-collection__content
94
+ min-width: 0
95
+ flex: 1
96
+ display: flex
97
+ flex-direction: column
98
+ gap: 4px
99
+
100
+ .ui-collection[data-variant='nav'] .ui-collection__content
101
+ display: block
102
+ txt-ellipsis()
103
+ .ui-collection__prefix,
104
+ .ui-collection__title
105
+ display: inline
106
+
107
+ .ui-collection__prefix
108
+ color: var(--text-p2)
109
+ font-size: $fs-12
110
+ font-weight: 700
111
+ txt-ellipsis()
112
+ &:after
113
+ content: ''
114
+ display: inline-block
115
+ width: 4px
116
+ height: 4px
117
+ margin: 0 4px 2px
118
+ border-radius: 50%
119
+ background: currentColor
120
+ opacity: .35
121
+
122
+ .ui-collection__title
123
+ color: inherit
124
+ font-size: $fs-14
125
+ font-weight: 500
126
+ txt-ellipsis()
127
+
128
+ .ui-collection__description
129
+ color: var(--ui-item-muted)
130
+ font-size: $fs-12
131
+ line-height: 1.4
132
+ display: -webkit-box
133
+ -webkit-box-orient: vertical
134
+ -webkit-line-clamp: 2
135
+ overflow: hidden
136
+
137
+ .ui-collection__meta
138
+ color: var(--ui-item-muted)
139
+ font-size: $fs-12
140
+ txt-ellipsis()
141
+
142
+ .ui-collection__indicator
143
+ flex-shrink: 0
144
+ width: 8px
145
+ height: 8px
146
+ border-radius: 50%
147
+ corner-shape: round
148
+ background: x-theme-gradient()
149
+
150
+ .ui-collection__item:hover,
151
+ .ui-collection__item.is-active
152
+ .ui-collection__leading
153
+ color: var(--item-theme, var(--theme))
154
+ img,svg
155
+ opacity: 1
156
+ svg [fill='currentColor']
157
+ fill: var(--item-grad, currentColor)
158
+ svg [stroke='currentColor']
159
+ stroke: var(--item-grad, currentColor)
160
+
161
+ .ui-collection[data-layout='grid']
162
+ .ui-collection__indicator
163
+ display: none
164
+
165
+ .ui-collection[data-variant='icon']
166
+ --ui-grid-min: 3rem
167
+ .ui-collection__item
168
+ justify-content: center
169
+ text-align: center
170
+ padding-left: var(--ui-item-padding-x)
171
+ .ui-collection__content
172
+ flex: initial
173
+
174
+ .ui-collection[data-variant='summary'] .ui-collection__item
175
+ align-items: flex-start
176
+ border-radius: $border-card-s
177
+ padding-top: 8px
178
+ padding-bottom: 8px
179
+ .ui-collection__title
180
+ font-weight: 700
181
+ .ui-collection__content
182
+ display: flex
183
+
184
+ .ui-collection-adapter
185
+ --ui-adapter-bg-hover: var(--ui-item-bg-hover)
186
+ --ui-adapter-bg-active: var(--ui-item-bg-active)
187
+ --ui-adapter-shadow-hover: var(--ui-item-shadow-hover)
188
+ --ui-adapter-shadow-active: var(--ui-item-shadow-active)
@@ -3,7 +3,7 @@
3
3
  grid-template-columns: 1fr minmax(200px,var(--width-main)) 1fr
4
4
  grid-gap: calc(var(--gap-page) * 1)
5
5
  margin: auto
6
- font-size: var(--fsp)
6
+ font-size: var(--fs-content)
7
7
 
8
8
  .l_body aside
9
9
  z-index: 8
@@ -104,8 +104,8 @@
104
104
  flex-wrap: wrap
105
105
  margin: 0
106
106
  line-height: 2
107
- --fsp: $fsp1
108
- font-size: var(--fsp)
107
+ --fs-content: $fs-content-1
108
+ font-size: var(--fs-content)
109
109
  svg
110
110
  height: 1em
111
111
  width: auto
@@ -217,46 +217,6 @@
217
217
  font-size: $fsh4
218
218
 
219
219
 
220
- // wiki
221
- .post-list .post-card.wiki article
222
- display: flex
223
- flex-wrap: wrap
224
- trans1 box-shadow
225
- justify-content: center
226
- padding: 1rem .5rem
227
-
228
-
229
- .post-list .post-card.wiki article .preview
230
- display: flex
231
- margin: 1rem 3rem
232
- align-items: center
233
- img
234
- width: 96px
235
- max-height: 96px
236
- object-fit: contain
237
- trans1: all 0.75s
238
- .post-list .post-card.wiki article .excerpt
239
- margin: 1rem .5rem
240
- @media screen and (min-width: 950px)
241
- margin-right: 2rem
242
- min-width: 280px
243
- flex: 1
244
- overflow: hidden
245
- word-wrap: break-word
246
- .caps
247
- line-height: 1
248
- margin-bottom: 0.75rem
249
- .cap
250
- --theme-block: var(--block)
251
- background: var(--theme-block)
252
- padding: 2px 4px
253
- border-radius: 4px
254
- p:last-child
255
- margin-bottom: 0
256
- .cap+.cap
257
- margin-left: 4px
258
-
259
-
260
220
  // topic 专栏列表:平铺容器 + 上下布局(h2 专栏标题 → 最新文章卡片 → 文章链接列表)
261
221
  .post-list.topic
262
222
  .post-card-wrap
@@ -287,7 +247,7 @@
287
247
  color: var(--text-p2)
288
248
  font-size: $fs-14
289
249
  line-height: 1.5
290
- // 左右内边距与文章列表(.post-panel padding: 0 1rem)一致
250
+ // 左右内边距与下方归档式文章列表一致
291
251
  padding: 0 1rem
292
252
  margin: 0 0 1rem
293
253
  .cover
@@ -308,13 +268,51 @@
308
268
  img
309
269
  width: 100%
310
270
  height: 100%
311
- .post-panel
271
+ .topic-posts
312
272
  flex: none
313
273
  width: 100%
274
+ margin: 0
314
275
  // 左右内边距与文章封面文字区(.cover-info padding: 1rem)一致
315
276
  padding: 0 1rem
316
- .posts
317
- margin: 0
277
+ .topic-posts-more[open]
278
+ display: flex
279
+ flex-direction: column
280
+ .topic-posts-extra
281
+ order: 1
282
+ .topic-posts-toggle
283
+ order: 2
284
+ .topic-posts-toggle
285
+ display: flex
286
+ align-items: center
287
+ justify-content: center
288
+ gap: .35em
289
+ width: 100%
290
+ margin-top: .5rem
291
+ padding: .75rem 0
292
+ list-style: none
293
+ cursor: pointer
294
+ color: var(--text-p3)
295
+ font-size: $fs-13
296
+ font-weight: 500
297
+ trans1 color
298
+ &::-webkit-details-marker
299
+ display: none
300
+ .when-open
301
+ display: none
302
+ svg
303
+ width: 1em
304
+ height: 1em
305
+ transform: rotate(90deg)
306
+ trans1 transform
307
+ &:hover
308
+ color: var(--accent)
309
+ .topic-posts-more[open] .topic-posts-toggle
310
+ .when-closed
311
+ display: none
312
+ .when-open
313
+ display: inline
314
+ svg
315
+ transform: rotate(-90deg)
318
316
  // hover 放大覆盖(与 photo 卡片一致,见 .post-card.post.photo:hover 注释)
319
317
  .post-card.topic:hover
320
318
  .cover:before
@@ -27,8 +27,8 @@
27
27
  margin: 0 .25rem
28
28
  blockquote,ul,ol
29
29
  p,ul,ol
30
- --fsp: $fsp1
31
- font-size: var(--fsp)
30
+ --fs-content: $fs-content-1
31
+ font-size: var(--fs-content)
32
32
  line-height: 1.5
33
33
  code
34
34
  font-size: inherit
@@ -59,7 +59,7 @@
59
59
  margin-top: 0
60
60
 
61
61
  .md-text p
62
- font-size: var(--fsp)
62
+ font-size: var(--fs-content)
63
63
 
64
64
  .md-text pre
65
65
  -webkit-font-smoothing: auto
@@ -0,0 +1,22 @@
1
+ // 同源整页导航使用浏览器原生 View Transition 平滑衔接。
2
+ // 不支持该能力的浏览器会忽略这些规则,继续使用普通整页导航。
3
+ if hexo-config('style.page_transition.enable')
4
+ @view-transition
5
+ navigation: auto
6
+
7
+ // 左栏独立于根快照过渡,内容未变化时避免随整页一起闪烁。
8
+ .l_left
9
+ view-transition-name: leftbar
10
+
11
+ ::view-transition-group(root),
12
+ ::view-transition-old(root),
13
+ ::view-transition-new(root),
14
+ ::view-transition-group(leftbar),
15
+ ::view-transition-old(leftbar),
16
+ ::view-transition-new(leftbar)
17
+ animation-duration: 0.2s
18
+ animation-timing-function: ease-out
19
+
20
+ @media (prefers-reduced-motion: reduce)
21
+ @view-transition
22
+ navigation: none
@@ -19,24 +19,25 @@
19
19
  z-index: -1
20
20
  border-radius: 4px
21
21
  background: var(--theme)
22
- a.post
23
- display: inline-flex
24
- align-items: baseline
25
- margin: 0.25rem 0
26
- color: var(--text-p1)
27
- trans2 color border
28
- border-bottom: 1px dashed var(--text-meta)
22
+
23
+ .post-list .archive-list a.post
24
+ display: inline-flex
25
+ align-items: baseline
26
+ margin: 0.25rem 0
27
+ color: var(--text-p1)
28
+ trans2 color border
29
+ border-bottom: 1px dashed var(--text-meta)
30
+ time
31
+ font-family: $ff-code
32
+ margin-right: 1em
33
+ font-weight: 700
34
+ flex-shrink: 0
35
+ color: var(--text-p4)
36
+ &:hover
37
+ border-bottom: 1px solid var(--theme)
38
+ color: var(--text)
29
39
  time
30
- font-family: $ff-code
31
- margin-right: 1em
32
- font-weight: 700
33
- flex-shrink: 0
34
- color: var(--text-p4)
35
- &:hover
36
- border-bottom: 1px solid var(--theme)
37
- color: var(--text)
38
- time
39
- color: var(--theme)
40
+ color: var(--theme)
40
41
 
41
42
 
42
43
 
@@ -52,7 +53,7 @@
52
53
  align-items: center
53
54
  justify-content: space-between
54
55
  font-weight: 500
55
- font-size: $fsp2
56
+ font-size: $fs-content-2
56
57
  span
57
58
  display: flex
58
59
  align-items: center
@@ -1,6 +1,6 @@
1
1
  .l_body[text-indent] article.content
2
2
  p:not([class])
3
- text-indent: 'calc(%s * 2)' % var(--fsp)
3
+ text-indent: 'calc(%s * 2)' % var(--fs-content)
4
4
  text-align: justify
5
5
  a
6
- text-indent: 0
6
+ text-indent: 0
@@ -1,5 +1,9 @@
1
1
  .l_body[type=story] .md-text.content
2
- --fsp: 'calc(%s + 1px)' % $fs-body
2
+ --fs-content-base: 'calc(%s + 2px)' % var(--fs-root)
3
+ --fs-content: var(--fs-content-base)
4
+ --fsh2: 'calc(%s + 11px)' % var(--fs-content)
5
+ --fsh3: 'calc(%s + 7px)' % var(--fs-content)
6
+ --fsh4: 'calc(%s + 4px)' % var(--fs-content)
3
7
  --gap-p: 2rem
4
8
  >div.tag-plugin,>p>img
5
9
  margin-top: 2.4rem
@@ -67,7 +71,7 @@
67
71
  background: x-theme-alpha(1)
68
72
 
69
73
  ol,ul
70
- margin-left: 'calc(%s * 2)' % var(--fsp)
74
+ margin-left: 'calc(%s * 2)' % var(--fs-content)
71
75
  h1,h2,h3,h4,h5,h6
72
76
  text-align: center
73
77
  margin: 2em 0 1.5em
@@ -88,7 +92,7 @@
88
92
 
89
93
  .l_body[type=story] .md-text.content>blockquote, .md-text.content .tag-plugin.blockquote
90
94
  text-align: center
91
- --inset: calc(var(--fsp) * 2)
95
+ --inset: calc(var(--fs-content) * 2)
92
96
  margin-left: var(--inset)
93
97
  margin-right: var(--inset)
94
98
  background: var(--block)
@@ -112,7 +116,7 @@
112
116
  svg-mask-icon(var(--icon-quote-right))
113
117
  p:not([class])
114
118
  color: var(--text-p2)
115
- font-size: $fs-body
119
+ font-size: var(--fs-content)
116
120
  text-indent: 2em
117
121
  &:hover
118
122
  &:before,&:after
@@ -124,6 +128,6 @@
124
128
 
125
129
 
126
130
  .l_body[text-indent] .tag-plugin.tabs .tab-content .tab-pane>p:not([class])
127
- text-indent: 'calc(%s * 2)' % var(--fsp)
131
+ text-indent: 'calc(%s * 2)' % var(--fs-content)
128
132
  a
129
133
  text-indent: 0
@@ -0,0 +1,68 @@
1
+ .collection-preview
2
+ padding: 2rem 1rem
3
+ >h1, >p
4
+ max-width: 720px
5
+ margin-left: auto
6
+ margin-right: auto
7
+
8
+ .collection-preview__grid
9
+ display: grid
10
+ grid-template-columns: repeat(2, minmax(0, 1fr))
11
+ gap: var(--gap-page)
12
+ align-items: start
13
+ margin-top: 2rem
14
+ @media screen and (max-width: $device-tablet)
15
+ grid-template-columns: minmax(0, 1fr)
16
+
17
+ .collection-preview__theme
18
+ max-width: 720px
19
+ margin: 1rem auto 0
20
+ display: flex
21
+ align-items: center
22
+ justify-content: flex-end
23
+ gap: 8px
24
+ color: var(--text-p3)
25
+ font-size: $fs-12
26
+ button
27
+ border: 0
28
+ border-radius: $border-button
29
+ padding: 4px 8px
30
+ color: var(--text-p2)
31
+ background: var(--block)
32
+ cursor: pointer
33
+ &:focus-visible
34
+ outline: 2px solid var(--theme)
35
+ outline-offset: 2px
36
+
37
+ .collection-preview__surface
38
+ box-sizing: border-box
39
+ width: 100%
40
+ margin: 0 auto
41
+ padding: var(--gap-base)
42
+ border-radius: $border-card-l
43
+ background: var(--card)
44
+ box-shadow: $boxshadow-card
45
+ &[data-preview-width='240']
46
+ max-width: 240px
47
+ &[data-preview-width='320']
48
+ max-width: 320px
49
+ &[data-preview-width='720']
50
+ width: unquote('min(720px, calc(100vw - 2 * var(--gap-page)))')
51
+ max-width: none
52
+ grid-column: 1 / -1
53
+ &[data-ui-surface='glass']
54
+ background: linear-gradient(135deg, rgba(white, .42), rgba(white, .12)), url(https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.13/image/sidebar-bg1@small.jpg) center / cover
55
+ >header
56
+ display: flex
57
+ justify-content: space-between
58
+ gap: 8px
59
+ color: var(--text-p1)
60
+ padding: 0 var(--gap-base) var(--gap-base)
61
+ code
62
+ color: var(--text-p3)
63
+ background: none
64
+ padding: 0
65
+ .widget-wrapper
66
+ margin-top: 0
67
+ .widget-wrapper+.widget-wrapper
68
+ margin-top: 24px
@@ -33,16 +33,18 @@
33
33
  margin-right: 2px
34
34
  opacity: .4
35
35
 
36
- .widget-body.tag-tree .tag-subtree > a > .tag-switcher-wrapper
36
+ .tag-tree .tag-subtree > .tag-tree__link > .tag-switcher-wrapper
37
37
  width: 1.75rem
38
38
  height: 0.875rem
39
+ flex-shrink: 0
40
+ margin-left: auto
39
41
  display: flex
40
42
  justify-content: end
41
43
  align-items: center
42
44
  &:hover
43
45
  color: var(--theme)
44
46
 
45
- .widget-body.tag-tree .tag-subtree.parent-tag > a .tag-switcher
47
+ .tag-tree .tag-subtree.is-parent > .tag-tree__link .tag-switcher
46
48
  display: inline-block
47
49
  height: 0.5rem
48
50
  width: 0.5rem
@@ -50,16 +52,16 @@
50
52
  border-style: none solid solid none
51
53
  transform: translateX(-25%) rotate(-45deg)
52
54
 
53
- .widget-body.tag-tree .tag-subtree.parent-tag.expanded > a .tag-switcher
55
+ .tag-tree .tag-subtree.is-parent.is-expanded > .tag-tree__link .tag-switcher
54
56
  transform: translateY(-25%) rotate(45deg)
55
57
 
56
- .widget-body.tag-tree .tag-subtree.parent-tag > .tag-subtree
58
+ .tag-tree .tag-subtree.is-parent > .tag-subtree
57
59
  display: none
58
60
 
59
- .widget-body.tag-tree .tag-subtree.parent-tag.expanded > .tag-subtree
61
+ .tag-tree .tag-subtree.is-parent.is-expanded > .tag-subtree
60
62
  display: block
61
63
 
62
- .widget-body.tag-tree .tag-subtree .tagcon
63
- font-size: smaller
64
- opacity: 0.4
65
- margin-right: 0.25rem
64
+ .tag-tree .tag-subtree
65
+ min-width: 0
66
+ >.ui-collection__item
67
+ width: 100%
@@ -13,7 +13,7 @@
13
13
  font-weight: 500
14
14
  font-size: $fsh5
15
15
  .body
16
- --fsp: $fsp2
16
+ --fs-content: $fs-content-2
17
17
  >.link
18
18
  margin: 0
19
19
  height: 0
@@ -28,13 +28,13 @@
28
28
  overflow: hidden
29
29
  padding-left: 1rem
30
30
  li
31
- font-size: var(--fsp)
31
+ font-size: var(--fs-content)
32
32
  .post-title
33
33
  margin: 0
34
34
  line-height: 1.2
35
35
  word-break: break-all
36
36
  p
37
- --fsp: $fsp2
37
+ --fs-content: $fs-content-2
38
38
  section+section
39
39
  margin-top: 1rem
40
40
  padding-top: 1rem
@@ -91,11 +91,14 @@
91
91
  .article-footer .social-wrap
92
92
  grid-gap: 0.5rem 2rem
93
93
  margin: 1rem 0 0.5rem
94
- grid-template-columns: repeat(auto-fill, 20px);
95
94
  a.social
96
95
  background: none
97
96
  border-radius: 4px
98
97
  padding: 0
98
+ img
99
+ display: block
100
+ height: 24px
101
+ width 24px
99
102
 
100
103
  .article-footer .qrcode
101
104
  width: 128px