hexo-theme-stellar 1.20.0 → 1.21.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 (54) hide show
  1. package/README.md +3 -3
  2. package/_config.yml +18 -15
  3. package/languages/zh-CN.yml +1 -1
  4. package/languages/zh-TW.yml +1 -1
  5. package/layout/404.ejs +1 -1
  6. package/layout/_partial/cover/wiki_cover.ejs +9 -15
  7. package/layout/_partial/head.ejs +1 -1
  8. package/layout/_partial/main/article/article_footer.ejs +11 -16
  9. package/layout/_partial/main/navbar/breadcrumb.ejs +4 -4
  10. package/layout/_partial/main/post_list/post_card.ejs +1 -1
  11. package/layout/_partial/main/post_list/wiki_card.ejs +6 -11
  12. package/layout/_partial/sidebar/index.ejs +1 -1
  13. package/layout/_partial/widgets/ghuser.ejs +1 -1
  14. package/layout/_partial/widgets/related.ejs +12 -21
  15. package/layout/_partial/widgets/toc.ejs +5 -2
  16. package/layout/index.ejs +6 -7
  17. package/layout/post.ejs +1 -1
  18. package/layout/wiki.ejs +1 -1
  19. package/package.json +1 -1
  20. package/scripts/events/lib/doc_tree.js +24 -10
  21. package/scripts/helpers/category_color.js +18 -5
  22. package/scripts/tags/index.js +3 -1
  23. package/scripts/tags/lib/banner.js +68 -0
  24. package/scripts/tags/lib/{ablock.js → box.js} +3 -3
  25. package/scripts/tags/lib/gallery.js +51 -0
  26. package/scripts/tags/lib/navbar.js +15 -34
  27. package/scripts/tags/lib/swiper.js +1 -1
  28. package/scripts/tags/lib/timeline.js +3 -3
  29. package/source/css/_common/highlight.styl +1 -0
  30. package/source/css/_layout/list.styl +12 -4
  31. package/source/css/_layout/md.styl +1 -1
  32. package/source/css/_layout/partial/cover.styl +2 -0
  33. package/source/css/_layout/partial/paginator.styl +2 -2
  34. package/source/css/_layout/tag-plugins/banner.styl +106 -0
  35. package/source/css/_layout/tag-plugins/common.styl +5 -2
  36. package/source/css/_layout/tag-plugins/frame.styl +1 -1
  37. package/source/css/_layout/tag-plugins/gallery.styl +46 -0
  38. package/source/css/_layout/tag-plugins/grid.styl +0 -9
  39. package/source/css/_layout/tag-plugins/note.styl +1 -0
  40. package/source/css/_layout/tag-plugins/timeline.styl +14 -1
  41. package/source/css/_layout/widgets/ghuser.styl +5 -6
  42. package/source/css/_plugins/copycode.styl +17 -6
  43. package/source/css/_plugins/fancybox.styl +4 -0
  44. package/source/css/_plugins/index.styl +2 -0
  45. package/source/css/{_layout/partial/ai_abstract.styl → _plugins/tianli_gpt.styl} +2 -2
  46. package/source/js/main.js +24 -2
  47. package/source/js/plugins/copycode.js +0 -4
  48. package/source/js/plugins/fcircle.js +3 -3
  49. package/source/js/plugins/friends.js +3 -3
  50. package/source/js/plugins/memos.js +133 -0
  51. package/source/js/plugins/sites.js +4 -4
  52. package/source/js/plugins/timeline.js +3 -3
  53. package/source/js/plugins/weibo.js +3 -3
  54. /package/layout/_partial/{main/article/ai_abstract.ejs → plugins/ai/tianli_gpt.ejs} +0 -0
@@ -0,0 +1,68 @@
1
+ /**
2
+ * banner.js v1.0 | https://github.com/xaoxuu/hexo-theme-stellar/
3
+ * 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
4
+ *
5
+ * {% banner title [subtitle] [bg:src] [avatar:src] [link] %}
6
+ * {% navbar xxx %}
7
+ * {% endbanner %}
8
+ */
9
+
10
+ 'use strict';
11
+
12
+ module.exports = ctx => function(args, content) {
13
+ const url_for = require('hexo-util').url_for.bind(ctx)
14
+ args = ctx.args.map(args, ['bg', 'avatar', 'link'], ['title', 'subtitle'])
15
+ var el = ''
16
+ el += `<div class="tag-plugin banner">`
17
+ // bg
18
+ el += `<img class="bg" src="${args.bg ? args.bg : ctx.theme.config.default.banner}">`
19
+ // content
20
+ el += `<div class="content">`
21
+ // content.top
22
+ el += `<div class="top">`
23
+ // content.top.back
24
+ if (args.link?.length > 0) {
25
+ el += `<div></div>`
26
+ } else {
27
+ el += `
28
+ <button class="back cap" onclick="window.history.back()">
29
+ <svg aria-hidden="true" viewBox="0 0 16 16" fill="currentColor"><path fill-rule="evenodd" d="M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"></path></svg>
30
+ </button>
31
+ `
32
+ }
33
+
34
+ // content.top.menus
35
+ const rows = content.split('\n').filter(item => item.trim().length > 0)
36
+ for (let row of rows) {
37
+ if (row.includes('tag-plugin navbar')) {
38
+ el += row
39
+ break
40
+ }
41
+ }
42
+ el += `</div>`
43
+ // content.bottom
44
+ el += `<div class="bottom">`
45
+ // content.bottom.avatar
46
+ if (args.avatar?.length > 0) {
47
+ el += `<img class="avatar" src="${args.avatar}">`
48
+ }
49
+ // content.bottom.text-area
50
+ if (args.title?.length > 0 || args.subtitle?.length > 0) {
51
+ el += `<div class="text-area">`
52
+ if (args.title?.length > 0) {
53
+ el += `<div class="text title">${args.title}</div>`
54
+ }
55
+ if (args.subtitle?.length > 0) {
56
+ el += `<div class="text subtitle">${args.subtitle}</div>`
57
+ }
58
+ el += `</div>`
59
+ }
60
+ el += `</div>`
61
+ el += `</div>`
62
+ // link
63
+ if (args.link?.length > 0) {
64
+ el += `<a class="banner-link" href="${args.link}"></a>`
65
+ }
66
+ el += `</div>`
67
+ return el
68
+ }
@@ -1,10 +1,10 @@
1
1
  /**
2
- * ablock.js v1.0 | https://github.com/xaoxuu/hexo-theme-stellar/
2
+ * box.js v1.0 | https://github.com/xaoxuu/hexo-theme-stellar/
3
3
  * 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
4
4
  *
5
- * {% ablock [color:color] [child:codeblock/tabs] title %}
5
+ * {% box [color:color] [child:codeblock/tabs] title %}
6
6
  * body
7
- * {% endablock %}
7
+ * {% endbox %}
8
8
  */
9
9
 
10
10
  'use strict';
@@ -0,0 +1,51 @@
1
+ /**
2
+ * gallery.js v1.0 | https://github.com/xaoxuu/hexo-theme-stellar/
3
+ * 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
4
+ *
5
+ * {% gallery size:small/medium/large %}
6
+ * /xxx.png
7
+ * /xxx.png
8
+ * /xxx.png
9
+ * /xxx.png
10
+ * {% endgallery %}
11
+ */
12
+
13
+ 'use strict'
14
+
15
+ function img(src, alt) {
16
+ let img = ''
17
+ img += `<img src="${src}"`
18
+ if (alt?.length > 0) {
19
+ img += ` alt="${alt}"`
20
+ }
21
+ img += `/>`
22
+ // cap
23
+ img += `<div class="image-meta">`
24
+ if (alt?.length > 0) {
25
+ img += `<span class="image-caption">${alt}</span>`
26
+ }
27
+ img += `</div>`
28
+ return img
29
+ }
30
+
31
+ module.exports = ctx => function(args, content) {
32
+ args = ctx.args.map(args, ['size'])
33
+ var el = ''
34
+ el += '<div class="tag-plugin gallery"'
35
+ el += ' ' + ctx.args.joinTags(args, ['size']).join(' ')
36
+ el += '>'
37
+ const rows = content.split(/<!--\s*row(.*?)\s*-->/g).filter(item => item.trim().length > 0)
38
+ for (let row of rows) {
39
+ const img_mds = row.split('\n').filter(item => item.trim().length > 0)
40
+ for (let md of img_mds) {
41
+ const matches = md.match(/\!\[(.*?)\]\((.*?)\)/i)
42
+ if (matches?.length > 2) {
43
+ let alt = matches[1]
44
+ let src = matches[2]
45
+ el += `<div class="cell">${img(src, alt)}</div>`
46
+ }
47
+ }
48
+ }
49
+ el += '</div>'
50
+ return el
51
+ }
@@ -1,11 +1,11 @@
1
1
  /**
2
- * navbar.js v1 | https://github.com/xaoxuu/hexo-theme-stellar/
2
+ * navbar.js v2 | https://github.com/xaoxuu/hexo-theme-stellar/
3
3
  * 格式与官方标签插件一致使用空格分隔,中括号内的是可选参数(中括号不需要写出来)
4
4
  *
5
- * {% navbar [markdown link] ... %}
5
+ * {% navbar [active:url] [markdown-link] ... %}
6
6
  *
7
7
  * example:
8
- * {% navbar active:1 [Home](/) [About](/about/) [Comments](#comments) %}
8
+ * {% navbar active:/about/ [Home](/) [About](/about/) [Comments](#comments) %}
9
9
  */
10
10
 
11
11
  'use strict'
@@ -18,40 +18,21 @@ module.exports = ctx => function(args) {
18
18
  if (args.links) {
19
19
  args.links = args.links.split(' ')
20
20
  }
21
- var el = '<div class="tag-plugin navbar"><nav class="cap">'
22
- function layoutItem(a, i) {
23
- var text = ''
24
- var href = ''
25
- var el = '<a'
26
- if ((i+1).toString() === args.active) {
27
- el += ' class="active"'
28
- }
29
- if (a.includes('](')) {
30
- // markdown
31
- let tmp = a.split('](')
32
- if (tmp.length > 1) {
33
- text = tmp[0]
34
- if (text.length > 1) {
35
- text = text.substring(1, text.length)
36
- }
37
- href = tmp[1]
38
- if (href.length > 1) {
39
- href = href.substring(0, href.length-1)
40
- }
41
- el += ' href="' + href + '"'
21
+ var el = `<div class="tag-plugin navbar"><nav class="cap">`
22
+ for (let link of args.links) {
23
+ const matches = link.match(/\[(.*?)\]\((.*?)\)/i)
24
+ if (matches?.length > 2) {
25
+ let text = matches[1]
26
+ let href = matches[2]
27
+ if (href == args.active) {
28
+ el += `<a class="link blur active" href="${href}">${text}</a>`
29
+ } else {
30
+ el += `<a class="link" href="${href}">${text}</a>`
42
31
  }
43
32
  } else {
44
- el += ' href="#' + a + '"'
45
- text = a
33
+ el += `<a class="link" href="#${link}">${link}</a>`
46
34
  }
47
- el += '>'
48
- el += text
49
- el += '</a>'
50
- return el
51
35
  }
52
- (args.links || []).forEach((item, i) => {
53
- el += layoutItem(item, i)
54
- })
55
- el += '</nav></div>'
36
+ el += `</nav></div>`
56
37
  return el
57
38
  }
@@ -22,7 +22,7 @@ module.exports = ctx => function(args, content) {
22
22
  })
23
23
  }
24
24
  }
25
- el += '<div class="tag-plugin gallery swiper" id="swiper-api"'
25
+ el += '<div class="tag-plugin swiper" id="swiper-api"'
26
26
  el += ' ' + ctx.args.joinTags(args, ['width', 'effect']).join(' ')
27
27
  el += '>'
28
28
  el += '<div class="swiper-wrapper">'
@@ -1,5 +1,5 @@
1
1
  /**
2
- * timeline.js v2 | https://github.com/xaoxuu/hexo-theme-stellar/
2
+ * timeline.js v2.1 | https://github.com/xaoxuu/hexo-theme-stellar/
3
3
  *
4
4
  * {% timeline %}
5
5
  *
@@ -35,14 +35,14 @@ function layoutNodeContent(ctx, content) {
35
35
  }
36
36
 
37
37
  module.exports = ctx => function(args, content = '') {
38
- args = ctx.args.map(args, ['api', 'user', 'type', 'limit', 'hide'])
38
+ args = ctx.args.map(args, ['api', 'user', 'type', 'limit', 'hide', 'avatar'])
39
39
  var el = ''
40
40
  if (!args.type) {
41
41
  args.type = 'timeline'
42
42
  }
43
43
  if (args.api && args.api.length > 0) {
44
44
  el += '<div class="tag-plugin timeline stellar-' + args.type + '-api"'
45
- el += ' ' + ctx.args.joinTags(args, ['api', 'user', 'limit', 'hide']).join(' ')
45
+ el += ' ' + ctx.args.joinTags(args, ['api', 'user', 'limit', 'hide', 'avatar']).join(' ')
46
46
  el += '>'
47
47
  } else {
48
48
  el += '<div class="tag-plugin timeline">'
@@ -78,6 +78,7 @@ p>code:not([class]),li>code:not([class])
78
78
  .gist-file
79
79
  border: 1px solid var(--block-border)
80
80
  border-radius: $border-block
81
+ overflow: hidden
81
82
  .gist-data
82
83
  border-bottom: 1px solid var(--block-border)
83
84
  .highlight
@@ -145,12 +145,11 @@
145
145
 
146
146
  .post-list .post-card.wiki article .preview
147
147
  display: flex
148
- width: 200px
149
- margin: 1rem .5rem
150
- @media screen and (min-width: 950px)
151
- margin: 1rem
148
+ margin: 1rem 3rem
152
149
  align-items: center
153
150
  img
151
+ width: 96px
152
+ max-height: 96px
154
153
  object-fit: contain
155
154
  &:not(.lazy)
156
155
  trans1: transform 0.75s
@@ -162,5 +161,14 @@
162
161
  flex: 1
163
162
  overflow: hidden
164
163
  word-wrap: break-word
164
+ .caps
165
+ line-height: 1
166
+ margin-bottom: 0.75rem
167
+ .cap
168
+ background: var(--theme-block)
169
+ padding: 2px 4px
170
+ border-radius: 2px
165
171
  p:last-child
166
172
  margin-bottom: 0
173
+ .cap+.cap
174
+ margin-left: 4px
@@ -35,7 +35,7 @@ h1.article-title
35
35
  >:first-child:not(h1)
36
36
  margin-top: 0
37
37
  h1:not(:first-child)
38
- margin-top: 2em
38
+ margin-top: 1em
39
39
  h2
40
40
  margin-bottom: 1rem
41
41
  h3,h4,h5,h6
@@ -63,6 +63,8 @@
63
63
  margin-bottom: 2rem
64
64
  img
65
65
  object-fit: contain
66
+ min-width: 96px
67
+ min-height: 96px
66
68
  max-height: 35vh
67
69
  max-width: 100%
68
70
  @media screen and (max-width: $device-mobile)
@@ -28,10 +28,10 @@
28
28
  background-clip: content-box
29
29
  &.next
30
30
  border-left: 1px dashed var(--block-border)
31
- background-image: url('https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.4/arrow/064b95430caf4.svg')
31
+ background-image: url('https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.9/arrow/064b95430caf4.svg')
32
32
  &.prev
33
33
  border-right: 1px dashed var(--block-border)
34
- background-image: url('https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.4/arrow/f049bbd4e88ec.svg')
34
+ background-image: url('https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.9/arrow/f049bbd4e88ec.svg')
35
35
  .current
36
36
  font-family: $ff-code
37
37
  background: var(--block)
@@ -0,0 +1,106 @@
1
+ .tag-plugin.banner
2
+ border-radius: $border-card
3
+ position: relative
4
+ overflow: hidden
5
+ display: flex
6
+ flex-direction: column
7
+ justify-content: flex-end
8
+ align-items: flex-start
9
+ color: white
10
+ height: 240px
11
+ @media screen and (max-width: $device-mobile-max)
12
+ height: 200px
13
+ .bg
14
+ z-index: 0
15
+ .content
16
+ z-index: 1
17
+ width: 100%
18
+ height: 100%
19
+ display: flex
20
+ flex-direction: column
21
+ justify-content: space-between
22
+ .top
23
+ display: flex
24
+ justify-content: space-between
25
+ align-items: center
26
+ line-height: 1
27
+ margin: 1rem
28
+ .navbar
29
+ margin: 0
30
+ nav.cap
31
+ border-radius: 6px
32
+ background: rgba(black, 0.2)
33
+ .link
34
+ color: rgba(white, 0.8)
35
+ padding: 2px 6px
36
+ border-radius: 4px
37
+ background: none
38
+ line-height: 1.5
39
+ font-size: $fs-15
40
+ &:hover
41
+ color: white
42
+ background: rgba(black, 0.5)
43
+ &.active
44
+ color: white
45
+ background: rgba(white, 0.25)
46
+ .back
47
+ background: none
48
+ padding: 0
49
+ line-height: 0
50
+ visibility: hidden
51
+ @media screen and (max-width: $device-mobile-max)
52
+ visibility: visible
53
+ svg
54
+ width: 20px
55
+ height: 20px
56
+ fill: white
57
+ .banner-link
58
+ position: absolute
59
+ top: 0
60
+ bottom: 0
61
+ left: 0
62
+ right: 0
63
+ opacity: 0
64
+ z-index: 2
65
+ img
66
+ object-fit: cover
67
+ disable-select()
68
+ margin: 0
69
+ height: 100%
70
+ width: 100%
71
+ img.bg
72
+ position absolute
73
+ top: 0
74
+ bottom: 0
75
+ left: 0
76
+ right: 0
77
+ img.avatar
78
+ border-radius: 50%
79
+ width: 48px
80
+ height: 48px
81
+ border: 2px solid white
82
+ .bottom
83
+ display: flex
84
+ padding: 1rem
85
+ width: 100%
86
+ box-sizing: border-box
87
+ background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.2))
88
+ text-shadow: 0 0 1px rgba(0,0,0,0.12)
89
+ .title
90
+ font-size: 1.5rem
91
+ font-weight: 600
92
+ .avatar+.text-area
93
+ margin-left: 0.75rem
94
+ .text-area .text
95
+ line-height: 1.2
96
+ margin-top: 0.25rem
97
+ margin-bottom: 0.25rem
98
+ .avatar+.text-area .title
99
+ font-size: 1.2rem
100
+ .subtitle
101
+ font-size: $fs-14
102
+
103
+ .tag-plugin.banner:hover
104
+ img.bg
105
+ transform: scale(1.01)
106
+ trans1(transform, 2s)
@@ -13,8 +13,9 @@ set_text_black()
13
13
 
14
14
  set_dynamic_color($theme)
15
15
  --theme: $theme
16
- --theme-block: hsl(hue($theme), 90, 92)
17
16
  --theme-border: hsl(hue($theme), 50, 80)
17
+ --theme-block: hsl(hue($theme), 90, 92)
18
+ --theme-codeblock: hsl(hue($theme), 50, 95)
18
19
  --text-p0: hsl(hue($theme), 55, 16)
19
20
  --text-p1: hsl(hue($theme), 55, 20)
20
21
  --text-p2: hsl(hue($theme), 90, 24)
@@ -23,6 +24,7 @@ set_dynamic_color($theme)
23
24
  --theme: var(--text-p1)
24
25
  --theme-border: var(--block-border)
25
26
  --theme-block: var(--block)
27
+ --theme-codeblock: var(--block)
26
28
 
27
29
  .colorful[color='red']
28
30
  set_dynamic_color($c-red)
@@ -63,8 +65,9 @@ set_dynamic_color($theme)
63
65
  set_darkmode_tags()
64
66
  set_dynamic_color($theme)
65
67
  --theme: $theme
66
- --theme-block: hsl(hue($theme), 16, 16)
67
68
  --theme-border: hsl(hue($theme), 50, 24)
69
+ --theme-block: hsl(hue($theme), 16, 16)
70
+ --theme-codeblock: hsl(hue($theme), 12, 18)
68
71
  --text-p0: hsl(hue($theme), 100, 85)
69
72
  --text-p1: hsl(hue($theme), 50, 75)
70
73
  --text-p2: hsl(hue($theme), 80, 72)
@@ -27,7 +27,7 @@
27
27
  margin-top: 19px
28
28
  margin-bottom: 20px
29
29
  .frame
30
- background-image: url(https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.4/frame/iphone11.svg);
30
+ background-image: url(https://gcore.jsdelivr.net/gh/cdn-x/placeholder@1.0.9/frame/iphone11.svg);
31
31
  width: 329px
32
32
  height: 658px
33
33
  &[focus='top']
@@ -0,0 +1,46 @@
1
+ .tag-plugin.gallery
2
+ border-radius: 8px
3
+ column-count: 4
4
+ column-gap: 0
5
+ margin-left: -4px
6
+ margin-right: -4px
7
+ .cell
8
+ display: block
9
+ padding: 4px
10
+ overflow hidden
11
+ z-index 0
12
+ position: relative
13
+ &:hover
14
+ .image-meta
15
+ background: rgba(black, 0.5)
16
+ .image-caption
17
+ color: white
18
+ img
19
+ object-fit: cover
20
+ max-height: 100%
21
+ overflow: hidden
22
+ display: block
23
+ .image-meta
24
+ position: absolute
25
+ z-index: 1
26
+ margin: 4px
27
+ top: 0
28
+ left: 0
29
+ right: 0
30
+ bottom: 0
31
+ pointer-events: none
32
+ background: transparent
33
+ border-radius: 8px
34
+ trans1(background)
35
+ display: flex
36
+ flex-direction: column
37
+ justify-content: flex-end
38
+ .image-caption
39
+ display: block
40
+ font-size: $fs-13
41
+ color: transparent
42
+ line-height: 1.2
43
+ margin: 4px
44
+ trans1(color)
45
+ &:empty
46
+ display: none
@@ -3,7 +3,6 @@
3
3
  grid-gap: 16px
4
4
  grid-template-columns: repeat(auto-fill, "calc((100% - 1 * %s) / 2)" % 16px)
5
5
  >.cell
6
- margin: 1rem 0
7
6
  p:first-child>strong:only-child
8
7
  font-size: 1rem
9
8
  >.cell>
@@ -18,14 +17,6 @@
18
17
  p:last-child
19
18
  margin-bottom: -0.25em
20
19
 
21
- .md-text .tag-plugin.grid
22
- margin-top: -0.5rem
23
- margin-bottom: -0.5rem
24
-
25
- .tag-plugin.grid
26
- @media screen and (max-width: $device-tablet)
27
- display: block
28
-
29
20
  .tag-plugin.grid
30
21
  &[bg]>.cell
31
22
  padding: 1rem
@@ -31,6 +31,7 @@
31
31
  background: var(--block-hover)
32
32
  .md-text .tag-plugin.note[child=codeblock]
33
33
  padding: 0
34
+ background: var(--theme-codeblock)
34
35
  >.title, >.body:only-child
35
36
  margin-top: 0
36
37
  >.body
@@ -206,4 +206,17 @@
206
206
  h5,h6
207
207
  font-size: $fs-15
208
208
  margin: 0.5rem 0
209
- line-height: 1.2
209
+ line-height: 1.2
210
+
211
+ .tag-plugin.timeline.stellar-memos-api .body
212
+ p:first-child
213
+ margin-top: 2px
214
+ p:last-child
215
+ margin-bottom: 2px
216
+ img
217
+ margin: 0
218
+ max-height: 128px
219
+ .tag-plugin.image
220
+ display: flex
221
+ .image-bg+.image-bg
222
+ margin-left: 4px
@@ -8,7 +8,7 @@
8
8
  padding: 1rem
9
9
  box-shadow: $boxshadow-card
10
10
 
11
- .widget-wrapper.ghuser
11
+ .widgets .widget-wrapper.ghuser
12
12
  .avatar
13
13
  display: block
14
14
  border-radius: 100%
@@ -20,15 +20,14 @@
20
20
  @media screen and (max-width: $device-tablet)
21
21
  max-width: 50%
22
22
 
23
- .username
23
+ p.username
24
24
  font-weight: 900
25
25
  font-size: $fs-h2
26
26
  color: var(--text-p0)
27
- margin: 0.5rem 0
28
-
29
- .bio
27
+ margin: 0
28
+ p.bio
30
29
  font-size: $fs-13
31
- margin: 0.5rem 0
30
+ margin: 0
32
31
 
33
32
  .follow
34
33
  font-weight: 500
@@ -8,15 +8,22 @@
8
8
  padding: 4px 0.5rem
9
9
  opacity: 0
10
10
  font-weight: 700
11
- color: var(--theme)
11
+ color: var(--text-p2)
12
+ border-bottom-left-radius: $border-bar
13
+ border-bottom-right-radius: $border-bar
14
+ background: var(--block-hover)
15
+ display: block
12
16
  cursor: pointer
17
+ margin-right: 0.5rem
13
18
 
14
- .highlight:hover .copy-btn
15
- opacity 0.25
19
+ .highlight:hover
20
+ .code:before
21
+ opacity: 0
22
+ .copy-btn
23
+ opacity: 0.75
16
24
 
17
25
  .highlight .code .copy-btn:hover
18
- color: var(--theme)
19
- opacity: 0.75
26
+ opacity: 1
20
27
 
21
28
  .highlight .code .copy-btn.success
22
29
  color: $c-green
@@ -24,4 +31,8 @@
24
31
 
25
32
  .highlight .code .copy-btn.warning
26
33
  color: $c-orange
27
- opacity: 0.75
34
+ opacity: 0.75
35
+
36
+ .md-text .tag-plugin[child=codeblock]
37
+ .highlight .code .copy-btn
38
+ border-radius: $border-bar
@@ -3,3 +3,7 @@ img[fancybox='true']
3
3
 
4
4
  .swiper-slide
5
5
  cursor: zoom-in
6
+
7
+ .tag-plugin.gallery
8
+ img
9
+ cursor: zoom-in
@@ -13,6 +13,8 @@ if hexo-config('plugins.mermaid.enable')
13
13
  @import 'mermaid'
14
14
  if hexo-config('plugins.copycode.enable')
15
15
  @import 'copycode'
16
+ if hexo-config('plugins.tianli_gpt.enable')
17
+ @import 'tianli_gpt'
16
18
 
17
19
 
18
20
  // 评论
@@ -1,4 +1,4 @@
1
- :root
1
+ .post-TianliGPT
2
2
  --heo-none: #00000000
3
3
  --heo-theme = var(--theme-link)
4
4
  --heo-main: var(--theme-link)
@@ -7,7 +7,7 @@
7
7
  --heo-background: var(--site-bg)
8
8
  --heo-hovertext: var(--text-code)
9
9
  --heo-secondtext: var(--text-p0)
10
- --heo-scrollbar: rgba(60, 60, 67, 0.4)
10
+ --heo-scrollbar: var(--block-border)
11
11
  --heo-secondbg: var(--block)
12
12
  --heo-card-bg: var(--block)
13
13
  --heo-card-bg-none: rgba(255, 255, 255, 0)