hexo-theme-stellar 1.26.5 → 1.26.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/_config.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  ######## Stellar info ########
2
2
  stellar:
3
- version: '1.26.5'
3
+ version: '1.26.6'
4
4
  homepage: 'https://xaoxuu.com/wiki/stellar/'
5
5
  repo: 'https://github.com/xaoxuu/hexo-theme-stellar'
6
6
  main_css: /css/main.css
@@ -488,10 +488,10 @@ style:
488
488
  prefix:
489
489
  h2: https://api.iconify.design/ci:heading-h2.svg
490
490
  border-radius:
491
- card: 12px
492
- block: 12px
493
- bar: 8px
494
- image: 6px
491
+ card-l: 16px # 侧边栏、文章横幅位置的圆角
492
+ card: 12px # 文章内大部分卡片的圆角
493
+ bar: 8px # 横条类元素的圆角
494
+ image: 12px # 图片圆角
495
495
  color:
496
496
  # 动态颜色(会根据明暗主题重设明度值,只用关心色相和饱和度即可)
497
497
  background: 'hsl(212 16% 98%)' # 浅色背景颜色
@@ -1,6 +1,13 @@
1
1
  <%
2
2
 
3
- var banner_url = page.banner || ''
3
+ var banner_url
4
+ if (page.banner) {
5
+ banner_url = page.banner
6
+ } else if (theme.topic.tree[page.topic]?.banner != null) {
7
+ banner_url = theme.topic.tree[page.topic]?.banner
8
+ } else if (theme.wiki.tree[page.wiki]?.banner != null) {
9
+ banner_url = theme.wiki.tree[page.wiki]?.banner
10
+ }
4
11
 
5
12
  function layoutTitle() {
6
13
  const title = page.h1 != null ? page.h1 : page.title
@@ -35,7 +42,7 @@ function layoutDiv() {
35
42
  var style = ``
36
43
  var el = ``
37
44
  el += `<div class="article banner top">`
38
- if (banner_url.length > 0) {
45
+ if (banner_url?.length > 0) {
39
46
  el += `<img class="bg" src="${banner_url}">`
40
47
  if (page.poster?.color) {
41
48
  style += ' style="--text-banner:' + page.poster?.color + '"'
package/layout/layout.ejs CHANGED
@@ -10,6 +10,10 @@ if (['post', 'page', 'wiki', null].includes(page.layout)) {
10
10
  var article_type = theme.article.type
11
11
  if (page.type?.length > 0) {
12
12
  article_type = page.type
13
+ } else if (theme.topic.tree[page.topic]?.type != null) {
14
+ article_type = theme.topic.tree[page.topic]?.type
15
+ } else if (theme.wiki.tree[page.wiki]?.type != null) {
16
+ article_type = theme.wiki.tree[page.wiki]?.type
13
17
  }
14
18
  // 是否缩进
15
19
  var indent = false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-stellar",
3
- "version": "1.26.5",
3
+ "version": "1.26.6",
4
4
  "description": "Elegant and powerful theme for Hexo.",
5
5
  "main": "package.json",
6
6
  "scripts": {
@@ -33,6 +33,7 @@ hexo.extend.tag.register('icon', require('./lib/icon')(hexo))
33
33
  hexo.extend.tag.register('frame', require('./lib/frame')(hexo))
34
34
  hexo.extend.tag.register('image', require('./lib/image')(hexo))
35
35
  hexo.extend.tag.register('link', require('./lib/link')(hexo))
36
+ hexo.extend.tag.register('button', require('./lib/button')(hexo))
36
37
  hexo.extend.tag.register('mark', require('./lib/mark')(hexo))
37
38
  hexo.extend.tag.register('navbar', require('./lib/navbar')(hexo))
38
39
  hexo.extend.tag.register('note', require('./lib/note')(hexo))
@@ -0,0 +1,39 @@
1
+ /**
2
+ * button.js v1.0 | https://github.com/xaoxuu/hexo-theme-stellar/
3
+ * 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
4
+ *
5
+ * {% button [color:color] text url [icon:key/src] [size:xs] %}
6
+ *
7
+ */
8
+
9
+ 'use strict'
10
+
11
+ module.exports = ctx => function(args) {
12
+ args = ctx.args.map(args, ['color', 'icon', 'size'], ['text', 'url'])
13
+ if (!args.text) {
14
+ return ''
15
+ }
16
+ if (!args.url) {
17
+ return ''
18
+ }
19
+ if (args.url.includes(' ')) {
20
+ var arr = args.url.split(' ')
21
+ args.url = arr.pop()
22
+ args.text = `${args.text} ${arr.join(' ')}`
23
+ }
24
+ if (args.color == null) {
25
+ args.color = 'theme'
26
+ }
27
+ var el = ''
28
+ el += '<a class="tag-plugin colorful button"'
29
+ el += ' ' + ctx.args.joinTags(args, ['color', 'size']).join(' ')
30
+ el += ` title="${args.text}"`
31
+ el += ` href="${args.url}"`
32
+ el += '>'
33
+ if (args.icon) {
34
+ el += ctx.utils.icon(args.icon)
35
+ }
36
+ el += `<span>${args.text}</span>`
37
+ el += '</a>'
38
+ return el
39
+ }
@@ -56,7 +56,7 @@ function generateKRList(ctx, contentArray) {
56
56
  function layoutItem(ctx, type, index, title, note, color, label, percent) {
57
57
  const percentStr = (percent * 100).toString().replace(/\.\d*/, '')
58
58
  return `
59
- <div class="okr-item ${type}">
59
+ <div class="okr-item ${type}" id="okr-${index.toLowerCase()}">
60
60
  <div class="okr-left">
61
61
  <span class="title">${index.toUpperCase()}</span>
62
62
  </div>
@@ -6,5 +6,5 @@ blockquote
6
6
  background: var(--block)
7
7
  $bd-left = 4px
8
8
  border-left: $bd-left solid var(--text-meta)
9
- border-radius: $bd-left $border-bar $border-bar $bd-left
9
+ border-radius: $bd-left $border-card $border-card $bd-left
10
10
  color: var(--text-p2)
@@ -12,7 +12,7 @@ p>code:not([class]),li>code:not([class])
12
12
 
13
13
  .md-text .highlight, pre:not([class]):has(>code)
14
14
  margin: var(--gap-p) 0
15
- border-radius: $border-block
15
+ border-radius: $border-card
16
16
  overflow: hidden
17
17
  background: var(--block)
18
18
  line-height: 1.5
@@ -78,7 +78,7 @@ p>code:not([class]),li>code:not([class])
78
78
  --fgColor-default: var(--text-p1)
79
79
  .gist-file
80
80
  border: 1px solid var(--block-border)
81
- border-radius: $border-block
81
+ border-radius: $border-card
82
82
  overflow: hidden
83
83
  .gist-data
84
84
  border-bottom: 1px solid var(--block-border)
@@ -102,7 +102,7 @@ table:not([class])
102
102
  color: var(--text-p3)
103
103
  >.hljs
104
104
  padding: 1rem
105
- border-radius: $border-block
105
+ border-radius: $border-card
106
106
  line-height: 1.5
107
107
  box-sizing: border-box
108
108
 
@@ -59,8 +59,8 @@ $fsp1 = 'calc(%s - 1px)' % $fs-body
59
59
  $fsp2 = 'calc(%s - 2px)' % $fs-body
60
60
  $fsp3 = 'calc(%s - 3px)' % $fs-body
61
61
 
62
+ $border-card-l = convert(hexo-config('style.border-radius.card-l'))
62
63
  $border-card = convert(hexo-config('style.border-radius.card'))
63
- $border-block = convert(hexo-config('style.border-radius.block'))
64
64
  $border-bar = convert(hexo-config('style.border-radius.bar'))
65
65
  $border-image = convert(hexo-config('style.border-radius.image'))
66
66
  $border-button = 4px
@@ -95,9 +95,8 @@ $border-button = 4px
95
95
 
96
96
  // 文章布局风格
97
97
  .l_body.story
98
- --fsp: 'calc(%s + 2px)' % $fs-body
99
- --gap-p: 1.5rem
100
- .tag-plugin,p>img
98
+ --gap-p: 2rem
99
+ div.tag-plugin,p>img
101
100
  margin-top: 2.4rem
102
101
  margin-bottom: 2.4rem
103
102
 
@@ -18,7 +18,7 @@
18
18
  font-size: $fsh1
19
19
  color: var(--text-banner)
20
20
  .bottom
21
- padding: 1.5rem 1rem
21
+ padding: 2rem 1rem
22
22
  h1
23
23
  line-height: 1.2
24
24
  margin: 0
@@ -2,7 +2,7 @@
2
2
  margin-top: 4rem
3
3
  padding: 1rem
4
4
  background: var(--block)
5
- border-radius: $border-block
5
+ border-radius: $border-card
6
6
  border: 1px solid var(--block-border)
7
7
  &:empty
8
8
  display: none
@@ -1,7 +1,7 @@
1
1
  .l_left
2
2
  margin: 8px 8px 8px 0
3
3
  height: 'calc(%s - 16px)' % 100vh
4
- border-radius: $border-card
4
+ border-radius: $border-card-l
5
5
  overflow: hidden
6
6
  .header
7
7
  margin: var(--gap-l) var(--gap-l) 0
@@ -1,5 +1,7 @@
1
1
  .banner
2
2
  border-radius: $border-card
3
+ &.top
4
+ border-radius: $border-card-l
3
5
  position: relative
4
6
  overflow: hidden
5
7
  display: flex
@@ -0,0 +1,36 @@
1
+ a.tag-plugin.button
2
+ background: var(--theme)
3
+ color: var(--alpha100)
4
+ display: inline-flex
5
+ align-items: center
6
+ justify-content: center
7
+ padding: 0 4px
8
+ trans1 background
9
+ margin-top: 8px
10
+ margin-bottom: 8px
11
+ svg,img
12
+ height: 24px
13
+ width: auto
14
+ margin: 0 -0.5em 0 1em
15
+ flex-shrink: 0
16
+ span
17
+ text-indent: 0
18
+ line-height: 24px
19
+ margin: 8px 1em
20
+
21
+
22
+ a.tag-plugin.button[size='xs']
23
+ margin: 0
24
+ border-radius: 2px
25
+ svg,img
26
+ margin: 0 2px 0 0
27
+ height: 1em
28
+ span
29
+ margin: 0
30
+
31
+ a.tag-plugin.button:hover
32
+ --theme: $color-hover
33
+
34
+ .tag-plugin.grid a.tag-plugin.button
35
+ width: 100%
36
+ box-sizing: border-box
@@ -2,7 +2,7 @@ details.folding
2
2
  display: block
3
3
  padding: 1rem
4
4
  margin: 1rem 0
5
- border-radius: $border-block
5
+ border-radius: $border-card
6
6
  background: var(--theme-block)
7
7
  border: 1px solid var(--theme-border)
8
8
  summary
@@ -19,7 +19,7 @@
19
19
  font-size: 1.125rem
20
20
  padding: 6px
21
21
  line-height: 0
22
- border-radius: 4px
22
+ border-radius: 40px
23
23
  trans3: color opacity background
24
24
  color: var(--text-p1)
25
25
  &:hover
@@ -12,7 +12,7 @@
12
12
  width: 300px
13
13
  max-width: 100%
14
14
  box-shadow: $boxshadow-card
15
- border-radius: $border-bar
15
+ border-radius: $border-card
16
16
  hover-float()
17
17
 
18
18
  .md-text .link-card.plain
@@ -1,7 +1,7 @@
1
1
  .md-text .tag-plugin.note
2
2
  position: relative
3
3
  padding: 0.25rem 1rem
4
- border-radius: $border-block
4
+ border-radius: $border-card
5
5
  background: var(--theme-block)
6
6
  overflow: hidden
7
7
  if hexo-config('tag_plugins.note.border') == true
@@ -1,6 +1,6 @@
1
1
  .md-text .tag-plugin.okr
2
2
  position: relative
3
- border-radius: $border-block
3
+ border-radius: $border-card
4
4
  background: var(--theme-block)
5
5
  if hexo-config('tag_plugins.okr.border') == true
6
6
  border: 1px solid var(--theme-border)
@@ -62,6 +62,7 @@
62
62
  justify-content: space-between
63
63
  align-items: flex-start
64
64
  position relative
65
+ flex-wrap: wrap
65
66
  .label
66
67
  background: var(--theme-block)
67
68
  color: var(--text-p1)
@@ -102,4 +103,12 @@
102
103
  background: var(--theme)
103
104
 
104
105
 
105
-
106
+ @media screen and (max-width: $device-mobile-max)
107
+ .tag-plugin.okr .okr-item
108
+ grid-template-columns: 2.8rem auto 50px
109
+ grid-column-gap: 0.5rem
110
+ padding: 0.5rem
111
+ .okr-left .title
112
+ padding: 0 0.25rem
113
+ .label
114
+ txt-ellipsis()
@@ -4,7 +4,7 @@
4
4
  padding: 0.75rem 0.5rem
5
5
  color: var(--text-p2)
6
6
  background: var(--card)
7
- border-radius: $border-block
7
+ border-radius: $border-card
8
8
  box-shadow: $boxshadow-card
9
9
  >div+div
10
10
  margin-top: 0.5rem
@@ -1,3 +1,3 @@
1
1
  .md-text
2
2
  .aplayer
3
- border-radius: $border-block
3
+ border-radius: $border-card
@@ -1,4 +1,4 @@
1
1
  .cmt-body.artalk .artalk
2
2
  --at-color-main: $color-theme
3
3
  .atk-main-editor
4
- border-radius: $border-block
4
+ border-radius: $border-card
@@ -58,7 +58,7 @@
58
58
  width: auto
59
59
  border: none
60
60
  padding: 6px 2rem
61
- border-radius: $border-block
61
+ border-radius: $border-card
62
62
  background: var(--block)
63
63
  color: var(--text-p1)
64
64
  line-height: 2
@@ -74,7 +74,7 @@
74
74
  margin-bottom: 1rem
75
75
  border: 1px dashed var(--block-border);
76
76
  padding: 1rem;
77
- border-radius: $border-block;
77
+ border-radius: $border-card;
78
78
  background: var(--card);
79
79
 
80
80
  &:hover
@@ -86,7 +86,7 @@
86
86
 
87
87
  .tk-submit
88
88
  padding: 1rem 1rem 0 1rem;
89
- border-radius: $border-block;
89
+ border-radius: $border-card;
90
90
  background: var(--card);
91
91
 
92
92
  .tk-tag
@@ -15,7 +15,7 @@
15
15
  cursor: pointer
16
16
  margin-right: 4px
17
17
  margin-top: 4px
18
- border-radius: 'calc(%s - 4px)' % $border-block
18
+ border-radius: 'calc(%s - 4px)' % $border-card
19
19
 
20
20
  .highlight:hover
21
21
  .code:before
@@ -18,7 +18,7 @@
18
18
 
19
19
  .post-TianliGPT
20
20
  background: var(--block)
21
- border-radius: $border-block
21
+ border-radius: $border-card
22
22
  padding: 12px
23
23
  line-height: 1.3
24
24
  border: var(--style-border-always)
@@ -44,7 +44,7 @@
44
44
  margin-top: 12px
45
45
  padding: 8px 12px
46
46
  background: var(--card)
47
- border-radius: $border-block
47
+ border-radius: $border-card
48
48
  border: var(--style-border-always)
49
49
  font-size: 15px
50
50
  line-height: 1.4