hexo-theme-solitude 1.11.3 → 1.12.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 (46) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +3 -4
  3. package/README_en-US.md +11 -11
  4. package/README_zh-Hant.md +10 -10
  5. package/SECURITY.md +1 -1
  6. package/_config.yml +48 -36
  7. package/languages/default.yml +1 -0
  8. package/languages/en.yml +1 -0
  9. package/languages/zh-CN.yml +1 -0
  10. package/languages/zh-TW.yml +1 -0
  11. package/layout/includes/console.pug +4 -3
  12. package/layout/includes/inject/body.pug +0 -3
  13. package/layout/includes/inject/head.pug +2 -2
  14. package/layout/includes/widgets/aside/asideNewstComments.pug +9 -0
  15. package/layout/includes/widgets/aside/asideSwitch.pug +2 -0
  16. package/layout/includes/widgets/third-party/comments/comment.pug +3 -1
  17. package/layout/includes/widgets/third-party/comments/giscus.pug +60 -0
  18. package/layout/includes/widgets/third-party/comments/js.pug +3 -1
  19. package/layout/includes/widgets/third-party/news-comment/artalk.pug +10 -12
  20. package/layout/includes/widgets/third-party/news-comment/newest-comment.pug +6 -5
  21. package/layout/includes/widgets/third-party/news-comment/twikoo.pug +9 -9
  22. package/layout/includes/widgets/third-party/news-comment/valine.pug +8 -7
  23. package/layout/includes/widgets/third-party/news-comment/waline.pug +8 -7
  24. package/package.json +3 -3
  25. package/scripts/event/merge_config.js +17 -16
  26. package/scripts/event/welcome.js +1 -1
  27. package/scripts/filter/default.js +2 -2
  28. package/source/css/_highlight/index.styl +1 -1
  29. package/source/css/_layout/aside.styl +52 -5
  30. package/source/css/_layout/console.styl +3 -78
  31. package/source/css/_page/message.styl +2 -1
  32. package/source/css/_post/meta.styl +4 -14
  33. package/source/css/_post/tools.styl +7 -2
  34. package/source/img/404.avif +0 -0
  35. package/source/img/avatar.avif +0 -0
  36. package/source/img/default.avif +0 -0
  37. package/source/img/error_load.avif +0 -0
  38. package/source/img/happy-sticker.avif +0 -0
  39. package/source/img/loading.avif +0 -0
  40. package/source/img/recent_c.avif +0 -0
  41. package/source/img/404.webp +0 -0
  42. package/source/img/avatar.png +0 -0
  43. package/source/img/default.png +0 -0
  44. package/source/img/error_load.webp +0 -0
  45. package/source/img/happy-sticker.png +0 -0
  46. package/source/img/loading.gif +0 -0
package/CONTRIBUTING.md CHANGED
@@ -33,7 +33,7 @@ $ git push
33
33
  * 定期使用项目仓库内容更新自己仓库内容。
34
34
 
35
35
  ```bash
36
- $ git remote add upstream https://github.com/valor-x/Hexo-theme-solitude
36
+ $ git remote add upstream https://github.com/everfu/hexo-theme-solitude
37
37
  $ git fetch upstream
38
38
  $ git checkout dev
39
39
  $ git rebase upstream/dev
package/README.md CHANGED
@@ -13,9 +13,8 @@
13
13
  ![npm package](https://img.shields.io/npm/v/hexo-theme-solitude?logo=npm)
14
14
  ![release](https://img.shields.io/github/package-json/v/valor-x/hexo-theme-solitude/master?color=%231ab1ad&label=release)
15
15
  ![license](https://img.shields.io/github/license/valor-x/hexo-theme-solitude?color=FF5531)
16
- [![Stars](https://img.shields.io/github/stars/valor-x/hexo-theme-solitude)](https://github.com/valor-x/hexo-theme-solitude/stargazers)
16
+ [![Stars](https://img.shields.io/github/stars/everfu/hexo-theme-solitude)](https://github.com/everfu/hexo-theme-solitude/stargazers)
17
17
  [![NPM all downloads](https://img.shields.io/npm/dy/hexo-theme-solitude?color=white)](https://www.npmjs.com/package/hexo-theme-solitude)
18
- [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fvalor-x%2Fhexo-theme-solitude.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fvalor-x%2Fhexo-theme-solitude?ref=badge_shield)
19
18
 
20
19
  ![hexo version](https://img.shields.io/badge/hexo-7.0.0+-blue?logo=hexo&logoColor=white)
21
20
  ![node version](https://img.shields.io/badge/node-14.0.0-white?logo=node.js&logoColor=white)
@@ -48,7 +47,7 @@
48
47
  ## 特性
49
48
 
50
49
  - 页面懒加载(Pjax)、图片懒加载(LazyLoad)、离线应用(PWA)
51
- - 评论(Twikoo、Waline、Valine、Artalk),支持双评论
50
+ - 评论(Twikoo、Waline、Valine、Artalk、Giscus),支持双评论
52
51
  - 昼夜切换(ColorMode)
53
52
  - 灯箱(medium-zoom、fancybox)
54
53
  - 数学公式(Latex)
@@ -63,7 +62,7 @@
63
62
  - [x] 弹幕留言页
64
63
  - [x] 首页顶部新样式
65
64
 
66
- > 如有问题请提 [issue](https://github.com/valor-x/hexo-theme-solitude/issues)
65
+ > 如有问题请提 [issue](https://github.com/everfu/hexo-theme-solitude/issues)
67
66
 
68
67
  ## 应用
69
68
 
package/README_en-US.md CHANGED
@@ -13,7 +13,7 @@
13
13
  ![npm package](https://img.shields.io/npm/v/hexo-theme-solitude?color=blue&logo=npm)
14
14
  ![release](https://img.shields.io/github/package-json/v/valor-x/hexo-theme-solitude/master?color=%231ab1ad&label=release)
15
15
  ![license](https://img.shields.io/github/license/valor-x/hexo-theme-solitude?color=FF5531)
16
- [![Stars](https://img.shields.io/github/stars/valor-x/hexo-theme-solitude)](https://github.com/valor-x/hexo-theme-solitude/stargazers)
16
+ [![Stars](https://img.shields.io/github/stars/valor-x/hexo-theme-solitude)](https://github.com/everfu/hexo-theme-solitude/stargazers)
17
17
  [![NPM all downloads](https://img.shields.io/npm/dy/hexo-theme-solitude?color=white)](https://www.npmjs.com/package/hexo-theme-solitude)
18
18
 
19
19
  ![hexo version](https://img.shields.io/badge/hexo-7.0.0+-blue?logo=hexo&logoColor=white)
@@ -46,13 +46,13 @@
46
46
 
47
47
  ## Features
48
48
 
49
- - Pjax、LazyLoad、PWA
50
- - Comments(Twikoo、Waline、Valine、Artalk), Can double comment
51
- - ColorMode
52
- - Lightbox(medium-zoom、fancybox)
53
- - Mathematical formulas(Latex)
54
- - Featured pages: Instant Short Article, My Equipment, Online Tools, Music Gallery, Friend Chain Fish Pond, Photo Album Page, Douban Page, Barrage message page
55
- - Article features: AI summary, code highlighting
49
+ - Pjax、LazyLoad、PWA.
50
+ - Comments(Twikoo、Waline、Valine、Artalk、Giscus), Can double comment.
51
+ - ColorMode.
52
+ - Lightbox(medium-zoom、fancybox).
53
+ - Mathematical formulas(Latex).
54
+ - Featured pages: Instant Short Article, My Equipment, Online Tools, Music Gallery, Friend Chain Fish Pond, Photo Album Page, Douban Page, Barrage message page.
55
+ - Article features: AI summary, code highlighting.
56
56
 
57
57
  ## Todo
58
58
 
@@ -60,9 +60,9 @@
60
60
  - [x] Use double comment
61
61
  - [x] Album
62
62
  - [x] Barrage message page
63
- - [ ] New style at the top of the home page
63
+ - [x] New style at the top of the home page
64
64
 
65
- > If you have any questions, please issue an [issue](https://github.com/valor-x/hexo-theme-solitude/issues)
65
+ > If you have any questions, please issue an [issue](https://github.com/everfu/hexo-theme-solitude/issues)
66
66
 
67
67
  ## Setup
68
68
 
@@ -87,4 +87,4 @@ Check out the [Documentation](https://solitude.js.org/) for more information.
87
87
 
88
88
  ## License
89
89
 
90
- [MIT](./LICENSE) License © 2023-PRESENT [EverFu](https://github.com/efuo)
90
+ [MIT](./LICENSE) License © 2023-PRESENT [Ever Fu](https://github.com/everfu)
package/README_zh-Hant.md CHANGED
@@ -13,7 +13,7 @@
13
13
  ![npm package](https://img.shields.io/npm/v/hexo-theme-solitude?color=blue&logo=npm)
14
14
  ![release](https://img.shields.io/github/package-json/v/valor-x/hexo-theme-solitude/master?color=%231ab1ad&label=release)
15
15
  ![license](https://img.shields.io/github/license/valor-x/hexo-theme-solitude?color=FF5531)
16
- [![Stars](https://img.shields.io/github/stars/valor-x/hexo-theme-solitude)](https://github.com/valor-x/hexo-theme-solitude/stargazers)
16
+ [![Stars](https://img.shields.io/github/stars/valor-x/hexo-theme-solitude)](https://github.com/everfu/hexo-theme-solitude/stargazers)
17
17
  [![NPM all downloads](https://img.shields.io/npm/dy/hexo-theme-solitude?color=white)](https://www.npmjs.com/package/hexo-theme-solitude)
18
18
 
19
19
  ![hexo version](https://img.shields.io/badge/hexo-7.0.0+-blue?logo=hexo&logoColor=white)
@@ -46,13 +46,13 @@
46
46
 
47
47
  ## 特性
48
48
 
49
- - 頁面懶載入(Pjax)、圖片懶載入(LazyLoad)、離線應用(PWA)
50
- - 評論(Twikoo、Waline、Valine、Artalk),支援雙評論
51
- - 晝夜切換(ColorMode)
52
- - 燈箱(medium-zoom、fancybox)
53
- - 數學公式(Latex)
54
- - 特色頁面:即刻短文、我的裝備、在線工具、音樂館、友鏈魚塘、相冊頁、豆瓣頁、留言彈幕頁
55
- - 文章功能:AI 摘要、代碼高亮
49
+ - 頁面懶載入(Pjax)、圖片懶載入(LazyLoad)、離線應用(PWA)
50
+ - 評論(Twikoo、Waline、Valine、Artalk、Giscus),支援雙評論。
51
+ - 晝夜切換(ColorMode)
52
+ - 燈箱(medium-zoom、fancybox)
53
+ - 數學公式(Latex)
54
+ - 特色頁面:即刻短文、我的裝備、在線工具、音樂館、友鏈魚塘、相冊頁、豆瓣頁、留言彈幕頁。
55
+ - 文章功能:AI 摘要、代碼高亮。
56
56
 
57
57
  ## Todo
58
58
 
@@ -60,7 +60,7 @@
60
60
  - [x] 雙評論
61
61
  - [x] 相冊
62
62
  - [x] 留言彈幕頁
63
- - [ ] 首頁頂部新樣式
63
+ - [x] 首頁頂部新樣式
64
64
 
65
65
  ## 應用
66
66
 
@@ -85,4 +85,4 @@
85
85
 
86
86
  ## 版權
87
87
 
88
- [MIT](./LICENSE) License © 2023-至今 [Efu](https://github.com/efuo)
88
+ [MIT](./LICENSE) License © 2023-至今 [Efu](https://github.com/everfu)
package/SECURITY.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Report a vulnerability
4
4
 
5
- To report a vulnerability, please [report privately via security tab](https://github.com/valor-x/hexo-theme-solitude/security/advisories/new) on the correct GitHub repository (see [Document](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability)). If you are unable to report, please feel free to email us at o@efu.me.
5
+ To report a vulnerability, please [report privately via security tab](https://github.com/everfu/hexo-theme-solitude/security/advisories/new) on the correct GitHub repository (see [Document](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability)). If you are unable to report, please feel free to email us at o@efu.me.
6
6
 
7
7
  All security vulnerabilities will be verified and resolved in a timely manner.
8
8
 
package/_config.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  #---------------------------
2
2
  # Hexo Theme Solitude
3
- # Author: Valor Team
4
- # Github: https://github.com/valor-x/hexo-theme-solitude
3
+ # Author: EverFu
4
+ # Github: https://github.com/everfu/hexo-theme-solitude
5
5
  #
6
6
  # 配置指南: https://solitude.js.org/
7
7
  # 你可以从指南中获得更详细的说明
@@ -9,8 +9,8 @@
9
9
  # Guide: https://solitude.js.org/
10
10
  # You can get more detailed help from the guide
11
11
  #
12
- # 赞助:https://afdian.net/a/efu0u0
13
- # sponsor: https://afdian.net/a/efu0u0
12
+ # 赞助:https://afdian.net/a/everfu
13
+ # sponsor: https://github.com/sponsors/everfu
14
14
  #---------------------------
15
15
 
16
16
  # 站点设置
@@ -38,7 +38,7 @@ nav:
38
38
  # logo group
39
39
  group:
40
40
  # 项目: # 分类名称
41
- # Solitude: https://github.com/valor-x/hexo-theme-solitude || /img/pwa/favicon.ico # 子菜单名称(submenu name): 链接地址(address) || 图标(icon)
41
+ # Solitude: https://github.com/everfu/hexo-theme-solitude || /img/pwa/favicon.ico # 子菜单名称(submenu name): 链接地址(address) || 图标(icon)
42
42
 
43
43
  # 中心菜单
44
44
  # center menu
@@ -133,7 +133,7 @@ hometop:
133
133
  url: https://solitude.js.org/
134
134
  # 显示背景图片
135
135
  # Display background image
136
- img: /img/default.png
136
+ img: /img/default.avif
137
137
  # 阴影颜色
138
138
  # Shadow color
139
139
  color: "none"
@@ -180,7 +180,7 @@ aside:
180
180
  author:
181
181
  # 头像
182
182
  # Avatar
183
- img: /img/avatar.png
183
+ img: /img/avatar.avif
184
184
  # 表情图片链接
185
185
  # Emoticon image link
186
186
  # tip: 26x26 size
@@ -210,19 +210,19 @@ aside:
210
210
  # 个人信息卡片顶部按钮的切换文字
211
211
  # Switching text of the button at the top of the personal information card
212
212
  sayhello2: # 样式为2时无效
213
- # - 🤖️ 数码科技爱好者
214
- # - 🔍 分享与热心帮助
215
- # - 🏠 智能家居小能手
216
- # - 🔨 设计开发一条龙
217
- # - 🤝 专修交互与设计
218
- # - 🏃 脚踏实地行动派
219
- # - 🧱 团队小组发动机
220
- # - 💢 壮汉人狠话不多
221
- # - 🎮 电竞游戏爱好者
213
+ # - 🤖️ 数码科技爱好者
214
+ # - 🔍 分享与热心帮助
215
+ # - 🏠 智能家居小能手
216
+ # - 🔨 设计开发一条龙
217
+ # - 🤝 专修交互与设计
218
+ # - 🏃 脚踏实地行动派
219
+ # - 🧱 团队小组发动机
220
+ # - 💢 壮汉人狠话不多
221
+ # - 🎮 电竞游戏爱好者
222
222
  # 个人信息卡片底部的小图标,按照例子填写
223
223
  information: # 样式为1时请不要超过4个
224
- # Github: https://github.com/efuo || st-github-line # 名称:链接 || 图标 / Name: link || icon
225
- # Bilibili: https://space.bilibili.com/1329819902 || st-bilibili-line
224
+ # Github: https://github.com/efuo || st-github-line # 名称:链接 || 图标 / Name: link || icon
225
+ # Bilibili: https://space.bilibili.com/1329819902 || st-bilibili-line
226
226
 
227
227
  # 二维码
228
228
  # Official account QR code
@@ -369,13 +369,13 @@ post:
369
369
  share:
370
370
  enable: false
371
371
  list:
372
- # - qq
373
- # - weibo
374
- # - twitter
375
- # - facebook
376
- # - telegram
377
- # - whatsapp
378
- # - linkedin
372
+ # - qq
373
+ # - weibo
374
+ # - twitter
375
+ # - facebook
376
+ # - telegram
377
+ # - whatsapp
378
+ # - linkedin
379
379
  # 版权中订阅按钮跳转链接,填写地址后开启
380
380
  # Subscription button jump link in copyright
381
381
  rss: # /atom.xml
@@ -443,11 +443,11 @@ footer:
443
443
  information:
444
444
  author: false # 是否显示 site_icon / enable site_icon in footer
445
445
  left: # 左侧显示图标
446
- # Github: https://github.com/efuo || st-github-line # 名称:链接 || 图标 / Name: link || icon
447
- # Mail: mailto:o@efu.me || st-mail-line
446
+ # Github: https://github.com/efuo || st-github-line # 名称:链接 || 图标 / Name: link || icon
447
+ # Mail: mailto:o@efu.me || st-mail-line
448
448
  right: # 右侧显示图标
449
- # Bilibili: https://space.bilibili.com/1329819902 || st-bilibili-line
450
- # 抖音: https://v.douyin.com/iJsLc8jt/ || st-douyin-fill
449
+ # Bilibili: https://space.bilibili.com/1329819902 || st-bilibili-line
450
+ # 抖音: https://v.douyin.com/iJsLc8jt/ || st-douyin-fill
451
451
 
452
452
  # 底部导航栏
453
453
  # Bottom navigation bar
@@ -483,7 +483,7 @@ footer:
483
483
  # 为了主题能够得到更多的支持,建议保留主题链接
484
484
  # In order for the theme to get more support, it is recommended to keep the theme link
485
485
  - name: 主题
486
- url: https://github.com/valor-x/hexo-theme-solitude
486
+ url: https://github.com/everfu/hexo-theme-solitude
487
487
  # - name: 订阅
488
488
  # url: /atom.xml
489
489
 
@@ -491,7 +491,7 @@ footer:
491
491
  errorpage:
492
492
  # 图片
493
493
  # image
494
- img: /img/404.webp
494
+ img: /img/404.avif
495
495
  # 文字
496
496
  # text
497
497
  text: =awa= 页面走丢了
@@ -620,10 +620,10 @@ lazyload:
620
620
  field: site # post, site
621
621
  # 加载中显示图片
622
622
  # Loading display image
623
- placeholder: /img/loading.gif
623
+ placeholder: /img/loading.avif
624
624
  # 加载失败显示图片
625
625
  # Loading failed display image
626
- errorimg: /img/error_load.webp
626
+ errorimg: /img/error_load.avif
627
627
 
628
628
  # 加载动画
629
629
  # loading animation
@@ -784,7 +784,7 @@ twikoo: # https://twikoo.js.org/
784
784
  # waline 配置信息
785
785
  # waline settings
786
786
  waline: # https://waline.js.org/
787
- envId: # url: https://waline.wzsco.top
787
+ envId: # url: https://waline.wzsco.top
788
788
  pageview: false # 是否开启页面访问量统计 / Whether to enable page access statistics
789
789
  option: # waline配置项 / waline configuration item
790
790
 
@@ -806,6 +806,18 @@ artalk:
806
806
  site: # site name / 站点名
807
807
  option: # options
808
808
 
809
+ # giscus 配置信息
810
+ # giscus settings
811
+ # docs: https://giscus.app/
812
+ giscus:
813
+ repo: # GitHub repository name
814
+ repo_id: # GitHub repository id
815
+ category_id: # GitHub repository category id
816
+ theme:
817
+ light: light
818
+ dark: dark
819
+ option: # options
820
+
809
821
  # 中控台扩展 : 最新评论 + 标签 + 文章
810
822
  console_plus: false
811
823
 
@@ -832,8 +844,8 @@ css_prefix: false
832
844
  font:
833
845
  font-size: 16px
834
846
  code-font-size: 16px
835
- font-family: 'PingFang SC,Hiragino Sans GB,Microsoft YaHei'
836
- code-font-family: 'monospace, monospace'
847
+ font-family: "PingFang SC,Hiragino Sans GB,Microsoft YaHei"
848
+ code-font-family: "monospace, monospace"
837
849
 
838
850
  # 插入代码到头部 </head> 之前 和 底部 </body> 之前
839
851
  # Insert code before </head> and before </body>
@@ -98,6 +98,7 @@ aside:
98
98
  back: Welcome back again,
99
99
  sticker: Mood sticker
100
100
  newpost: New posts
101
+ newcomment: New comments
101
102
  card:
102
103
  posts: 'Posts:'
103
104
  tags: 'Tags:'
package/languages/en.yml CHANGED
@@ -98,6 +98,7 @@ aside:
98
98
  back: Welcome back again,
99
99
  sticker: Mood sticker
100
100
  newpost: New posts
101
+ newcomment: New comments
101
102
  card:
102
103
  posts: 'Posts:'
103
104
  tags: 'Tags:'
@@ -100,6 +100,7 @@ aside:
100
100
  back: 欢迎再次回来,
101
101
  sticker: 心情贴纸
102
102
  newpost: 最近发布
103
+ newcomment: 最新评论
103
104
  card:
104
105
  posts: '累计文章数:'
105
106
  tags: '标签总数:'
@@ -100,6 +100,7 @@ aside:
100
100
  back: 歡迎再次回來,
101
101
  sticker: 心情贴纸
102
102
  newpost: 最近发布
103
+ newcomment: 最新评论
103
104
  card:
104
105
  posts: '累計文章數:'
105
106
  tags: '標籤總數:'
@@ -3,17 +3,18 @@ div#console
3
3
  i.solitude.st-close-fill
4
4
  if theme.console_plus
5
5
  div.console-card-group
6
- if theme.console_plus && theme.comment.newest_comment.enable
6
+ if theme.recent_comments.enable && theme.recent_comments.img
7
7
  div.console-card-group-left
8
8
  div.console-card#card-newest-comments(onclick="sco.hideConsole()")
9
9
  div.card-content
10
10
  div.author-content-item-tips= _p('console.comment_tip')
11
11
  div.author-content-item-title
12
12
  | #{_p('console.comment_title')}
13
- if theme.recent_comments.enable && theme.recent_comments.console
13
+ if theme.recent_comments.enable
14
14
  a.recent-comment-more(href=url_for(theme.recent_comments.page) title=_p('console.recent_comment_more'))
15
15
  i.solitude.st-right-btn-fill
16
- div.aside-list
16
+ a.recent-comment-image(href=url_for(theme.recent_comments.page))
17
+ img(src=theme.recent_comments.img)
17
18
 
18
19
  div.console-card-group-right
19
20
  div.console-card.tags(onclick="sco.hideConsole()")
@@ -105,9 +105,6 @@ div
105
105
  if theme.footer.randomlink
106
106
  include ../widgets/randomlink.pug
107
107
 
108
- // newest comment
109
- include ../widgets/third-party/news-comment/newest-comment.pug
110
-
111
108
  // pjax
112
109
  != partial("includes/widgets/third-party/pjax", {}, {cache: true})
113
110
 
@@ -27,7 +27,7 @@ include ../head/pwa.pug
27
27
 
28
28
  script.
29
29
  console.log(
30
- "%c Program: Hexo %c Theme: Solitude %c Version: v1.11.3",
30
+ "%c Program: Hexo %c Theme: Solitude %c Version: v1.12.0",
31
31
  "border-radius:5px 0 0 5px;padding: 5px 10px;color:white;background:#ff3842;",
32
32
  "padding: 5px 10px;color:white;background:#3e9f50;",
33
33
  "padding: 5px 10px;color:white;background:#0084ff;border-radius:0 5px 5px 0",
@@ -39,7 +39,7 @@ if theme.memorial.enable
39
39
  mdate = (mdate.split(","));
40
40
  let ndate = new Date();
41
41
  for (let i of mdate) {
42
- if (i == (ndate.getMonth()+1) + "-" + (ndate.getDate())) {
42
+ if (i === (ndate.getMonth()+1) + "-" + (ndate.getDate())) {
43
43
  document.documentElement.classList.add('memorial');
44
44
  }
45
45
  }
@@ -0,0 +1,9 @@
1
+ .card-widget.card-recent-comment
2
+ .item-headline
3
+ i.solitude.st-chat-fill
4
+ span= _p('aside.newcomment')
5
+ if theme.recent_comments.enable
6
+ a.recent-comment-more(href=url_for(theme.recent_comments.page) title=_p('console.recent_comment_more'))
7
+ i.solitude.st-right-btn-fill
8
+ .aside-list
9
+ include ../third-party/news-comment/newest-comment.pug
@@ -9,6 +9,8 @@ case item
9
9
  include ./asideAllInfo.pug
10
10
  when 'ads'
11
11
  include ./asideAdsense.pug
12
+ when 'newest_comment'
13
+ include ./asideNewstComments.pug
12
14
  default
13
15
  - const custom = site.data?.aside?.find((i) => i.name === item)
14
16
  if custom
@@ -39,4 +39,6 @@
39
39
  when 'Waline'
40
40
  #waline-wrap
41
41
  when 'Artalk'
42
- #artalk-wrap
42
+ #artalk-wrap
43
+ when 'Giscus'
44
+ #giscus-wrap
@@ -0,0 +1,60 @@
1
+ - const { repo, repo_id, category_id, theme:themes, option } = theme.giscus
2
+ - const giscusUrl = theme.cdn.giscus || 'https://giscus.app/client.js'
3
+ - const giscusOriginUrl = new URL(giscusUrl).origin
4
+ - const { use, lazyload } = theme.comment
5
+
6
+ script.
7
+ (()=>{
8
+ const getGiscusTheme = theme => {
9
+ return theme === 'dark' ? '!{themes.dark}' : '!{themes.light}'
10
+ }
11
+
12
+ const loadGiscus = () => {
13
+ const config = Object.assign({
14
+ src: '!{giscusUrl}',
15
+ 'data-repo': '!{repo}',
16
+ 'data-repo-id': '!{repo_id}',
17
+ 'data-category-id': '!{category_id}',
18
+ 'data-mapping': 'pathname',
19
+ 'data-theme': getGiscusTheme(document.documentElement.getAttribute('data-theme')),
20
+ 'data-reactions-enabled': '1',
21
+ crossorigin: 'anonymous',
22
+ async: true
23
+ },!{JSON.stringify(option)})
24
+
25
+ const ele = document.createElement('script')
26
+ for (let key in config) {
27
+ ele.setAttribute(key, config[key])
28
+ }
29
+ document.getElementById('giscus-wrap').appendChild(ele)
30
+ }
31
+
32
+ const changeGiscusTheme = theme => {
33
+ const sendMessage = message => {
34
+ const iframe = document.querySelector('iframe.giscus-frame')
35
+ if (!iframe) return
36
+ iframe.contentWindow.postMessage({ giscus: message }, '!{giscusOriginUrl}')
37
+ }
38
+
39
+ sendMessage({
40
+ setConfig: {
41
+ theme: getGiscusTheme(theme)
42
+ }
43
+ });
44
+ }
45
+
46
+ utils.addGlobalFn('themeChange', changeGiscusTheme, 'giscus')
47
+
48
+ if ('!{use[0]}' === 'Giscus' || !!{lazyload}) {
49
+ if (!{lazyload}) {
50
+ const giscusWrap = document.getElementById('giscus-wrap')
51
+ if (giscusWrap) {
52
+ utils.loadComment(giscusWrap, loadGiscus)
53
+ }
54
+ } else {
55
+ loadGiscus()
56
+ }
57
+ } else {
58
+ window.loadOtherComment = loadGiscus
59
+ }
60
+ })()
@@ -9,4 +9,6 @@ each name in use
9
9
  when 'Valine'
10
10
  !=partial('includes/widgets/third-party/comments/valine', {}, {cache: true})
11
11
  when 'Artalk'
12
- !=partial('includes/widgets/third-party/comments/artalk', {}, {cache: true})
12
+ !=partial('includes/widgets/third-party/comments/artalk', {}, {cache: true})
13
+ when 'Giscus'
14
+ !=partial('includes/widgets/third-party/comments/giscus', {}, {cache: true})
@@ -1,8 +1,8 @@
1
1
  - const { server, site, option } = theme.artalk
2
2
  - const avatarCdn = theme.comment.avatar
3
3
 
4
- script.
5
- window.addEventListener('load', () => {
4
+ script(pjax).
5
+ (() => {
6
6
  const changeContent = content => {
7
7
  if (content === '') return content;
8
8
  const replacements = [
@@ -24,15 +24,14 @@ script.
24
24
  }
25
25
  ];
26
26
  content = replacements.reduce((str, {regex, replacement}) => str.replace(regex, replacement), content);
27
- return content.length > 150 ? content.substring(0, 150) + '...' : content;
27
+ return content.length > 150 ? content.substring(0, 100) + '...' : content;
28
28
  };
29
29
 
30
30
  const generateHtml = (array, asideList) => {
31
31
  asideList.innerHTML = array.length ? array.map(item => `
32
32
  <div class='aside-list-item'>
33
- <div onclick='pjax.loadUrl("${item.url}")' class='thumbnail'>
33
+ <div class='thumbnail'>
34
34
  <img src='${item.avatar}' alt='${item.nick}'>
35
- <div class='name'><span>${item.nick}</span></div>
36
35
  </div>
37
36
  <div class='content'>
38
37
  <div class='comment' onclick='pjax.loadUrl("${item.url}")'>${item.content}</div>
@@ -68,7 +67,7 @@ script.
68
67
  nick: e.nick,
69
68
  url: e.page_key + `#atk-comment-${e.id}`,
70
69
  date: e.date,
71
- })).slice(0, 6);
70
+ })).slice(0, !{limit});
72
71
  utils.saveToLocal.set('artalk-newest-comments', artalk, !{theme.comment.newest_comment.storage});
73
72
  generateHtml(artalk, asideList);
74
73
  }).catch(error => {
@@ -78,6 +77,7 @@ script.
78
77
  };
79
78
 
80
79
  const newestCommentInit = (asideList) => {
80
+ if (!asideList) return;
81
81
  const data = utils.saveToLocal.get('artalk-newest-comments');
82
82
  if (data) {
83
83
  generateHtml(data, asideList);
@@ -86,9 +86,7 @@ script.
86
86
  }
87
87
  };
88
88
 
89
- const $asideList = document.querySelector('#card-newest-comments .aside-list');
90
- if ($asideList) {
91
- newestCommentInit($asideList);
92
- utils.addGlobalFn('pjaxComplete', () => newestCommentInit($asideList), 'artalk_newestComment');
93
- }
94
- });
89
+ const $asideList = document.querySelector('.card-recent-comment .aside-list');
90
+ window.addEventListener('DOMContentLoaded', () => newestCommentInit($asideList), false)
91
+ window.addEventListener('pjax:complete', () => newestCommentInit(document.querySelector('.card-recent-comment .aside-list')), false);
92
+ })();
@@ -1,10 +1,11 @@
1
- if theme.comment.use && theme.console_plus && theme.comment.newest_comment.enable
1
+ - var limit = theme.aside.newest_comment.limit ? theme.aside.newest_comment.limit : 5
2
+ if theme.comment.use
2
3
  case theme.comment.use[0]
3
4
  when 'Twikoo'
4
- !=partial('includes/widgets/third-party/news-comment/twikoo', {}, {cache: true})
5
+ !=partial('includes/widgets/third-party/news-comment/twikoo', {limit}, {cache: true})
5
6
  when 'Waline'
6
- !=partial('includes/widgets/third-party/news-comment/waline', {}, {cache: true})
7
+ !=partial('includes/widgets/third-party/news-comment/waline', {limit}, {cache: true})
7
8
  when 'Valine'
8
- !=partial('includes/widgets/third-party/news-comment/valine', {}, {cache: true})
9
+ !=partial('includes/widgets/third-party/news-comment/valine', {limit}, {cache: true})
9
10
  when 'Artalk'
10
- !=partial('includes/widgets/third-party/news-comment/artalk', {}, {cache: true})
11
+ !=partial('includes/widgets/third-party/news-comment/artalk', {limit}, {cache: true})
@@ -1,5 +1,5 @@
1
1
  script.
2
- window.addEventListener('load', () => {
2
+ (() => {
3
3
  const changeContent = (content) => {
4
4
  if (!content) return '';
5
5
  const replacements = [
@@ -12,14 +12,13 @@ script.
12
12
  {regex: /<[^>]+>/g, replacement: ''}
13
13
  ]
14
14
  content = replacements.reduce((str, {regex, replacement}) => str.replace(regex, replacement), content)
15
- return content.length > 150 ? `${content.substring(0, 150)}...` : content
15
+ return content.length > 150 ? `${content.substring(0, 100)}...` : content
16
16
  }
17
17
  const generateHtml = (array) => {
18
18
  const html = array.map(item => `
19
19
  <div class='aside-list-item'>
20
- <div onclick='pjax.loadUrl("${item.url}")' class='thumbnail'>
20
+ <div class='thumbnail'>
21
21
  <img src='${item.avatar}' alt='${item.nick}'>
22
- <div class='name'><span>${item.nick}</span></div>
23
22
  </div>
24
23
  <div class='content'>
25
24
  <div class='comment' onclick='pjax.loadUrl("${item.url}")'>${item.content}</div>
@@ -27,7 +26,7 @@ script.
27
26
  </div>
28
27
  </div>
29
28
  `).join('')
30
- document.querySelector('#card-newest-comments .aside-list').innerHTML = array.length ? html : "!{_p('newest_comment.zero')}"
29
+ document.querySelector('.card-recent-comment .aside-list').innerHTML = array.length ? html : "!{_p('newest_comment.zero')}"
31
30
  window.lazyLoadInstance?.update()
32
31
  window.pjax?.refresh()
33
32
  sco?.changeTimeFormat(document.querySelectorAll('.aside-list-item time'))
@@ -37,7 +36,7 @@ script.
37
36
  twikoo.getRecentComments({
38
37
  envId: '!{theme.twikoo.envId}',
39
38
  region: '',
40
- pageSize: 6,
39
+ pageSize: !{limit},
41
40
  includeReply: true
42
41
  }).then(res => {
43
42
  const twikooArray = res.map(e => ({
@@ -51,7 +50,7 @@ script.
51
50
  generateHtml(twikooArray)
52
51
  }).catch((err) => {
53
52
  console.error(err);
54
- document.querySelector('#card-newest-comments .aside-list').textContent = "!{_p('newest_comment.error')}"
53
+ document.querySelector('.card-recent-comment .aside-list').textContent = "!{_p('newest_comment.error')}"
55
54
  })
56
55
  }
57
56
  if (typeof twikoo === 'object') {
@@ -64,5 +63,6 @@ script.
64
63
  const data = utils.saveToLocal.get('twikoo-newest-comment')
65
64
  data ? generateHtml(data) : getComment()
66
65
  }
67
- newestCommentInit()
68
- })
66
+ window.addEventListener('DOMContentLoaded', newestCommentInit, false)
67
+ window.addEventListener('pjax:complete', newestCommentInit, false);
68
+ })()
@@ -1,5 +1,5 @@
1
1
  script.
2
- window.addEventListener('load', () => {
2
+ (() => {
3
3
  const emojiReg = /:[a-z0-9_\u4e00-\u9fa5]+:/g
4
4
  const changeContent = (content) => {
5
5
  if (content === '') return content;
@@ -16,10 +16,10 @@ script.
16
16
 
17
17
  content = replacements.reduce((str, {regex, replacement}) => str.replace(regex, replacement), content);
18
18
 
19
- return content.length > 150 ? content.substring(0, 150) + '...' : content;
19
+ return content.length > 150 ? content.substring(0, 100) + '...' : content;
20
20
  }
21
21
 
22
- const $asideList = document.querySelector('#card-newest-comments .aside-list')
22
+ const $asideList = document.querySelector('.card-recent-comment .aside-list')
23
23
  const newestCommentInit = () => {
24
24
  const data = utils.saveToLocal.get('valine-newest-comment')
25
25
  if (data) {
@@ -42,7 +42,7 @@ script.
42
42
  await fetch('!{theme.valine.serverURLs}/1.1/classes/Comment?limit=8&order=-createdAt', settings).then(res => res.json())
43
43
  .then(async result => {
44
44
  let ls = []
45
- for (const i of result.results.slice(0, 6)) {
45
+ for (const i of result.results.slice(0, !{limit})) {
46
46
  if (emojiReg.test(i.comment)) continue
47
47
  ls.push({
48
48
  content: changeContent(i.comment),
@@ -61,7 +61,7 @@ script.
61
61
  }
62
62
 
63
63
  const generateHtml = array => {
64
- const $dom = document.querySelector('#card-newest-comments .aside-list')
64
+ const $dom = document.querySelector('.card-recent-comment .aside-list')
65
65
  $dom.innerHTML = array.length ? array.map(item => `
66
66
  <div class='aside-list-item'>
67
67
  <div onclick='pjax.loadUrl(\"${item.url}\")' class='thumbnail'>
@@ -79,5 +79,6 @@ script.
79
79
  sco?.changeTimeFormat(document.querySelectorAll('.aside-list-item time'))
80
80
  }
81
81
 
82
- newestCommentInit()
83
- })
82
+ window.addEventListener('DOMContentLoaded', newestCommentInit, false)
83
+ window.addEventListener('pjax:complete', newestCommentInit, false);
84
+ })()
@@ -1,5 +1,5 @@
1
1
  script.
2
- window.addEventListener('load', () => {
2
+ (() => {
3
3
  const changeContent = (content) => {
4
4
  if (content === '') return content;
5
5
 
@@ -15,10 +15,10 @@ script.
15
15
 
16
16
  content = replacements.reduce((str, {regex, replacement}) => str.replace(regex, replacement), content);
17
17
 
18
- return content.length > 150 ? content.substring(0, 150) + '...' : content;
18
+ return content.length > 150 ? content.substring(0, 100) + '...' : content;
19
19
  }
20
20
 
21
- const $asideList = document.querySelector('#card-newest-comments .aside-list')
21
+ const $asideList = document.querySelector('.card-recent-comment .aside-list')
22
22
  const newestCommentInit = () => {
23
23
  const data = utils.saveToLocal.get('waline-newest-comment')
24
24
  if (data) {
@@ -29,7 +29,7 @@ script.
29
29
  }
30
30
 
31
31
  const getComment = async () => {
32
- await fetch('!{theme.waline.envId}/api/comment?type=recent&count=6', {method: 'GET'}).then(async res => {
32
+ await fetch('!{theme.waline.envId}/api/comment?type=recent&count=!{limit}', {method: 'GET'}).then(async res => {
33
33
  const result = await res.json()
34
34
  const walineArray = result.data.map(e => {
35
35
  return {
@@ -49,7 +49,7 @@ script.
49
49
  }
50
50
 
51
51
  const generateHtml = array => {
52
- const $dom = document.querySelector('#card-newest-comments .aside-list')
52
+ const $dom = document.querySelector('.card-recent-comment .aside-list')
53
53
  $dom.innerHTML = array.length ? array.map(item => `
54
54
  <div class='aside-list-item'>
55
55
  <div onclick='pjax.loadUrl("${item.url}")' class='thumbnail'>
@@ -67,5 +67,6 @@ script.
67
67
  sco?.changeTimeFormat(document.querySelectorAll('.aside-list-item time'))
68
68
  }
69
69
 
70
- newestCommentInit()
71
- })
70
+ window.addEventListener('DOMContentLoaded', newestCommentInit, false)
71
+ window.addEventListener('pjax:complete', newestCommentInit, false);
72
+ })()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "1.11.3",
3
+ "version": "1.12.0",
4
4
  "description": "A beautiful, powerful, and efficient Hexo theme developed by EverFu.",
5
5
  "main": "package.json",
6
6
  "scripts": {
@@ -16,14 +16,14 @@
16
16
  ],
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "https://github.com/valor-x/hexo-theme-solitude.git"
19
+ "url": "https://github.com/everfu/hexo-theme-solitude"
20
20
  },
21
21
  "dependencies": {
22
22
  "hexo-renderer-stylus": "^3.0.0",
23
23
  "hexo-renderer-pug": "^3.0.0"
24
24
  },
25
25
  "bugs": {
26
- "url": "https://github.com/valor-x/hexo-theme-solitude/issues",
26
+ "url": "https://github.com/everfu/hexo-theme-solitude/issues",
27
27
  "email": "o@efu.me"
28
28
  },
29
29
  "homepage": "https://www.efu.me/",
@@ -29,7 +29,7 @@ hexo.extend.filter.register('before_generate', () => {
29
29
  sup: 'Recommend',
30
30
  title: 'Solitude Docs',
31
31
  url: 'https://solitude.js.org/',
32
- img: '/img/default.png',
32
+ img: '/img/default.avif',
33
33
  color: 'none',
34
34
  }
35
35
  },
@@ -50,7 +50,7 @@ hexo.extend.filter.register('before_generate', () => {
50
50
  style: 0,
51
51
  author: {
52
52
  img: '/img/logo.png',
53
- sticker: '/img/happy-sticker.png',
53
+ sticker: '/img/happy-sticker.avif',
54
54
  },
55
55
  url: '/about/',
56
56
  background: null,
@@ -72,6 +72,11 @@ hexo.extend.filter.register('before_generate', () => {
72
72
  backface: '',
73
73
  backcolor: 'var(--efu-blue)'
74
74
  },
75
+ newest_comment: {
76
+ enable: false,
77
+ storage: .5,
78
+ limit: 5
79
+ },
75
80
  toc: {
76
81
  post: true,
77
82
  page: false,
@@ -108,12 +113,12 @@ hexo.extend.filter.register('before_generate', () => {
108
113
  tags: true,
109
114
  categories: true,
110
115
  default: {
111
- cover: ['/img/default.png'],
116
+ cover: ['/img/default.avif'],
112
117
  }
113
118
  },
114
119
  post: {
115
120
  default: {
116
- cover: ['/img/default.png'],
121
+ cover: ['/img/default.avif'],
117
122
  locate: 'China, Changsha',
118
123
  copyright: {
119
124
  enable: true,
@@ -186,7 +191,7 @@ hexo.extend.filter.register('before_generate', () => {
186
191
  license: null,
187
192
  links: [{
188
193
  name: 'Solitude',
189
- url: 'https://github.com/valor-x/hexo-theme-solitude',
194
+ url: 'https://github.com/everfu/hexo-theme-solitude',
190
195
  }]
191
196
  },
192
197
  errorpage: {
@@ -236,8 +241,8 @@ hexo.extend.filter.register('before_generate', () => {
236
241
  lazyload: {
237
242
  enable: false,
238
243
  field: 'site',
239
- placeholder: '/img/loading.gif',
240
- errorimg: '/img/error_load.webp'
244
+ placeholder: '/img/loading.avif',
245
+ errorimg: '/img/error_load.avif'
241
246
  },
242
247
  loading: {
243
248
  fullpage: false,
@@ -300,10 +305,6 @@ hexo.extend.filter.register('before_generate', () => {
300
305
  lazyload: false,
301
306
  count: false,
302
307
  avatar: 'https://cravatar.cn',
303
- newest_comment: {
304
- enable: false,
305
- storage: .2
306
- }
307
308
  },
308
309
  twikoo: {
309
310
  envId: 'your envId',
@@ -347,11 +348,11 @@ hexo.extend.filter.register('before_generate', () => {
347
348
  enable: false,
348
349
  manifest: '/manifest.json',
349
350
  theme_color: "#006a73",
350
- mask_icon: '/img/logo.png',
351
- apple_touch_icon: '/img/logo.png',
352
- bookmark_icon: '/img/logo.png',
353
- favicon_32_32: '/img/logo.png',
354
- favicon_16_16: '/img/logo.png'
351
+ mask_icon: '/img/pwa/favicon.ico',
352
+ apple_touch_icon: '/img/pwa/favicon.ico',
353
+ bookmark_icon: '/img/pwa/favicon.ico',
354
+ favicon_32_32: '/img/pwa/favicon_32.ico',
355
+ favicon_16_16: '/img/pwa/favicon_16.ico'
355
356
  },
356
357
  google_adsense: {
357
358
  enable: false,
@@ -9,6 +9,6 @@ hexo.on('ready', () => {
9
9
  ###### #### ##### ##### # ### ###### ######
10
10
  ${version}
11
11
  ===================================================================
12
- GitHub: https://github.com/valor-x/hexo-theme-solitude
12
+ GitHub: https://github.com/everfu/hexo-theme-solitude
13
13
  `)
14
14
  })
@@ -5,7 +5,7 @@ hexo.extend.filter.register('after_post_render', function (data) {
5
5
  const {config} = hexo.theme;
6
6
  if (data.layout === 'post') {
7
7
  let {copyright, locate, cover} = hexo.theme.config.post.default
8
- cover = cover !== null ? cover : ['/img/default.png']
8
+ cover = cover !== null ? cover : ['/img/default.avif']
9
9
  data.locate = data.locate || locate
10
10
  data.cc = data.cc || copyright
11
11
  data.cover = data.cover || cover[getRandomInt(0, cover?.length)]
@@ -15,7 +15,7 @@ hexo.extend.filter.register('after_post_render', function (data) {
15
15
  }
16
16
  if (data.layout === 'page') {
17
17
  let {cover} = hexo.theme.config.page.default
18
- cover = cover !== null ? cover : ['/img/default.png']
18
+ cover = cover !== null ? cover : ['/img/default.avif']
19
19
  data.cover = data.cover || cover[getRandomInt(0, cover?.length)]
20
20
  data.excerpt = data.title
21
21
  data.toc = !!(config.aside.toc.page && data.toc !== false && data.aside);
@@ -86,7 +86,7 @@ figure
86
86
  border-top var(--style-border-always)
87
87
  position absolute
88
88
  bottom 0
89
- z-index 10
89
+ z-index 1
90
90
  width 100%
91
91
  text-align center
92
92
  font-size 16px
@@ -631,9 +631,9 @@ if hexo-config('aside.card.style') == 2
631
631
  gap .5rem
632
632
  z-index 1
633
633
  if hexo-config('aside.position') == 0
634
- right 1rem
635
- else
636
- left 1rem
634
+ right 1rem
635
+ else
636
+ left 1rem
637
637
 
638
638
  .headline
639
639
  color var(--efu-gray)
@@ -777,7 +777,7 @@ if hexo-config('aside.card.style') == 2
777
777
  hr
778
778
  display flex
779
779
  position relative
780
- margin 1rem 0
780
+ margin .5rem 0
781
781
  border 1px dashed var(--efu-theme-op)
782
782
 
783
783
  .item-headline
@@ -1047,4 +1047,51 @@ backcolor = convert(hexo-config('aside.flip.backcolor'))
1047
1047
  background-size 100%
1048
1048
 
1049
1049
  .card-widget.card-adsense
1050
- padding 0
1050
+ padding 0
1051
+
1052
+ if hexo-config('aside.newest_comment.enable')
1053
+ .card-recent-comment
1054
+ .recent-comment-more
1055
+ margin-left auto
1056
+ margin-right .5rem
1057
+ &:hover
1058
+ color var(--efu-lighttext)
1059
+ transition .3s
1060
+ .aside-list-item
1061
+ padding: .5rem
1062
+ width: 100%
1063
+ display: flex
1064
+ flex-direction: row
1065
+ height: 80px
1066
+ transition: .3s
1067
+ position: relative
1068
+ &:not(:last-child)
1069
+ border-bottom 1px dashed rgba(255, 255, 255, .1)
1070
+
1071
+ .thumbnail img
1072
+ width: 60px
1073
+ height: 60px
1074
+ margin-right: 8px
1075
+ border-radius: 12px
1076
+
1077
+ .content
1078
+ max-width: calc(100% - 68px)
1079
+ line-height 1.5
1080
+
1081
+ .comment
1082
+ overflow hidden
1083
+ text-overflow ellipsis
1084
+ display -webkit-box
1085
+ font-size 14px
1086
+ -webkit-line-clamp 2
1087
+ transition .3s
1088
+ -webkit-box-orient vertical
1089
+ cursor pointer
1090
+ &:hover
1091
+ color var(--efu-lighttext)
1092
+ transition .3s
1093
+
1094
+ .datetime
1095
+ font-size 12px
1096
+ color var(--efu-secondtext)
1097
+ margin-top auto
@@ -116,50 +116,6 @@
116
116
  display flex
117
117
  align-items center
118
118
 
119
- .aside-list-item
120
- .thumbnail
121
- display flex
122
- align-items center
123
-
124
- &:hover
125
- .thumbnail
126
- color var(--efu-white)
127
-
128
- .content
129
- display flex
130
- flex-direction column
131
- height 100%
132
- margin-top .5rem
133
-
134
- .comment
135
- -webkit-line-clamp 2
136
- display -webkit-box
137
- overflow hidden
138
- -webkit-box-orient vertical
139
- line-height 24px
140
- font-size 14px
141
-
142
- &::before
143
- content ''
144
- width 100%
145
- height 100%
146
- position absolute
147
- top 0
148
- left 0
149
-
150
- &:hover
151
- .comment
152
- color var(--efu-white)
153
-
154
- time
155
- font-size 12px
156
- color var(--efu-secondtext)
157
- margin-top auto
158
-
159
- &:hover
160
- time
161
- color var(--efu-white)
162
-
163
119
  .aside-list
164
120
  display flex
165
121
  flex-wrap wrap
@@ -183,8 +139,10 @@
183
139
  [data-theme="dark"] &
184
140
  background var(--efu-orange)
185
141
  color var(--efu-white)
142
+
186
143
  .button-group
187
144
  gap .5rem
145
+
188
146
  .console-btn-item
189
147
  &:hover
190
148
  span
@@ -349,37 +307,4 @@
349
307
 
350
308
  #consoleHideAside
351
309
  +maxWidth768()
352
- display none
353
-
354
- #card-newest-comments
355
- .aside-list-item
356
- background: var(--efu-card-bg)
357
- border-radius: 12px
358
- border: var(--style-border)
359
- padding: 12px 16px
360
- width: 49%
361
- display: flex
362
- flex-direction: column
363
- height: 150px
364
- transition: .3s
365
- position: relative
366
- cursor pointer
367
-
368
- &:hover
369
- background: var(--efu-main)
370
- color: var(--efu-white)
371
-
372
- &:not(:last-child)
373
- margin-bottom: .5rem
374
-
375
- .thumbnail img
376
- width: 20px
377
- height: 20px
378
- margin-right: 8px
379
- border-radius: 20px
380
-
381
- .name
382
- text-overflow: ellipsis
383
- overflow: hidden
384
- white-space: nowrap
385
- font-weight: 700
310
+ display none
@@ -59,5 +59,6 @@
59
59
  overflow hidden
60
60
  text-overflow ellipsis
61
61
 
62
- .hide
62
+ #barrage.hide
63
+ z-index -1
63
64
  opacity 0
@@ -248,35 +248,25 @@
248
248
  display: flex
249
249
  align-items center
250
250
  line-height 1
251
+ margin 0 .5rem
251
252
 
252
253
  +maxWidth768()
253
254
  line-height 1.5
254
255
 
255
256
  > span:first-child
256
- margin-right .8rem
257
+ margin-left 0
258
+
257
259
 
258
260
  .post-meta-date
259
- margin-right .8rem
260
261
  opacity .6
261
262
 
262
263
  .post-meta-wordcount
263
264
  opacity .6
264
- margin-right 20px
265
-
266
- +maxWidth768()
267
- margin-left 0
268
-
269
- > span.word-count
270
- font-weight 800
271
-
272
- > span:nth-child(7)
273
- font-weight 800
274
265
 
275
266
  .post-meta-separator
276
- margin 0 10px
267
+ margin 0 1rem 0 0
277
268
 
278
269
  .post-meta-position
279
- margin-right 12px
280
270
  opacity .6
281
271
 
282
272
  .post-meta-pv
@@ -236,6 +236,11 @@
236
236
  box-shadow var(--efu-shadow-main)
237
237
  color var(--efu-white)
238
238
 
239
+ span.tagsPageCount
240
+ color var(--efu-lighttext)
241
+ background var(--efu-maskbgdeep)
242
+ transition all .2s ease-in-out 0s
243
+
239
244
  span.tags-punctuation
240
245
  font-size 12px
241
246
  margin-right 1px
@@ -244,14 +249,14 @@
244
249
 
245
250
  .tagsPageCount, / #tag-page-tags .tagsPageCount
246
251
  padding 2px
247
- background var(--efu-card-bg)
252
+ background var(--efu-fontcolor)
248
253
  border var(--style-border-always)
249
254
  min-width 22.5px
250
255
  display inline-block
251
256
  border-radius 4px
252
257
  text-align center
253
258
  font-size .6rem
254
- color var(--efu-fontcolor)
259
+ color var(--efu-card-bg)
255
260
  margin-left 4px
256
261
  if hexo-config('post.share.enable')
257
262
  /.social-share *
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file