hexo-theme-solitude 1.5.3 → 1.5.5

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 (59) hide show
  1. package/.github/FUNDING.yml +1 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.yml +7 -6
  3. package/.github/ISSUE_TEMPLATE/feature_request.yml +1 -1
  4. package/.github/logo.svg +13 -0
  5. package/CODE_OF_CONDUCT.md +128 -0
  6. package/README.md +4 -3
  7. package/README_EN.md +3 -2
  8. package/README_zh-tw.md +2 -1
  9. package/_config.yml +0 -12
  10. package/languages/en.yml +9 -6
  11. package/languages/zh-CN.yml +9 -6
  12. package/languages/zh-TW.yml +9 -6
  13. package/layout/includes/head/config.pug +9 -6
  14. package/layout/includes/inject/body.pug +7 -0
  15. package/layout/includes/inject/head.pug +1 -1
  16. package/layout/includes/widgets/post/copyright.pug +0 -2
  17. package/layout/page.pug +0 -4
  18. package/package.json +1 -1
  19. package/plugins.yml +0 -4
  20. package/scripts/event/cdn.js +6 -1
  21. package/scripts/filter/default.js +2 -2
  22. package/scripts/tags/button.js +1 -1
  23. package/scripts/tags/bvideo.js +2 -2
  24. package/scripts/tags/gallery.js +54 -0
  25. package/scripts/tags/image.js +1 -1
  26. package/scripts/tags/link.js +6 -3
  27. package/scripts/tags/note.js +6 -0
  28. package/source/css/_page/_gallery/index.styl +0 -66
  29. package/source/css/_page/share.styl +2 -2
  30. package/source/css/_widgets/_post/content.styl +7 -0
  31. package/source/css/_widgets/_post/copyright.styl +0 -18
  32. package/source/css/_widgets/_tags/button.styl +29 -49
  33. package/source/css/_widgets/_tags/checkbox.styl +176 -57
  34. package/source/css/_widgets/_tags/fold.styl +65 -79
  35. package/source/css/_widgets/_tags/gallery.styl +67 -0
  36. package/source/css/_widgets/_tags/index.styl +32 -30
  37. package/source/css/_widgets/_tags/label.styl +4 -3
  38. package/source/css/_widgets/_tags/link.styl +48 -77
  39. package/source/css/_widgets/_tags/media.styl +57 -0
  40. package/source/css/_widgets/_tags/mermaid.styl +1 -2
  41. package/source/css/_widgets/_tags/note.styl +1 -7
  42. package/source/css/_widgets/_tags/span.styl +24 -51
  43. package/source/css/_widgets/_tags/tabs.styl +3 -1
  44. package/source/css/_widgets/index.styl +1 -1
  45. package/source/js/covercolor/api.js +16 -16
  46. package/source/js/covercolor/local.js +16 -16
  47. package/source/js/lately.min.js +6 -0
  48. package/source/js/main.js +2 -32
  49. package/source/js/utils.js +6 -0
  50. package/.github/logo.png +0 -0
  51. package/layout/includes/page/album.pug +0 -38
  52. package/layout/includes/page/gallery.pug +0 -11
  53. package/scripts/generator/gallery.js +0 -49
  54. package/scripts/tags/card.js +0 -9
  55. package/scripts/tags/u.js +0 -7
  56. package/source/css/_widgets/_tags/bvideo.styl +0 -8
  57. package/source/css/_widgets/_tags/card.styl +0 -52
  58. package/source/css/_widgets/_tags/image.styl +0 -10
  59. package/source/css/_widgets/_tags/inline-image.styl +0 -6
@@ -10,4 +10,4 @@ liberapay: # Replace with a single Liberapay username
10
10
  issuehunt: # Replace with a single IssueHunt username
11
11
  otechie: # Replace with a single Otechie username
12
12
  lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13
- custom: ['https://afdian.net/a/efu0u0'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13
+ custom: ['https://afdian.net/a/efu0u0','https://7.isyangs.cn/34/65f2e5814db1a-34.png','https://7.isyangs.cn/34/65ed434e0b8d7-34.png'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -1,6 +1,7 @@
1
1
  name: Bug 报告 🐛
2
2
  description: 本项目仅对最新版本进行维护,使用老版本出现问题的,请先升级到最新版本或使用dev版本,升级完后如果发现bug依然存在,请继续填写此issue。
3
3
  labels: ['status: needs check']
4
+ title: "[Bug]: "
4
5
  body:
5
6
  - type: markdown
6
7
  attributes:
@@ -10,18 +11,18 @@ body:
10
11
  2. 查询主题使用文档的相关内容和正确配置
11
12
  3. 使用的是Solitude主题最新版本
12
13
  4. 执行`npm ls -dept 0`检查是否已安装对应插件
13
- 5. [FAQS](https://docs.wzsco.top/FAQ.html) 中无类似问题
14
+ 5. [FAQS](https://solitude-docs.efu.me/faq) 中无类似问题
14
15
  - type: checkboxes
15
16
  attributes:
16
17
  label: 前置确认
17
18
  options:
18
- - label: 我确认我运行的是最新版本的主题,并且安装了所需的依赖,在[FAQS](https://docs.wzsco.top/FAQ.html)中也未找到类似问题。
19
+ - label: 我确认我运行的是最新版本的主题,并且安装了所需的依赖,在[FAQS](https://solitude-docs.efu.me/faq)中也未找到类似问题。
19
20
  required: true
20
21
  - type: checkboxes
21
22
  attributes:
22
23
  label: ⚠️ 搜索issues中是否已存在类似问题
23
24
  description: >
24
- 请在 [历史issue](https://github.com/DuoSco/Hexo-theme-solitude/issues) 中清空输入框,搜索你的问题
25
+ 请在 [历史issue](https://github.com/valor-x/hexo-theme-solitude/issues) 中清空输入框,搜索你的问题
25
26
  或相关日志的关键词来查找是否存在类似问题。
26
27
  options:
27
28
  - label: 我已经搜索过issues和disscussions,没有跟我遇到的问题相关的issue
@@ -37,7 +38,7 @@ body:
37
38
  请选择你运行程序的操作系统类型。
38
39
  options:
39
40
  - Windows
40
- - MacOS
41
+ - Mac/Linux
41
42
  validations:
42
43
  required: true
43
44
  - type: dropdown
@@ -67,6 +68,7 @@ body:
67
68
  attributes:
68
69
  label: 问题描述 😯
69
70
  description: 详细描述出现的问题,或提供有关截图。
71
+ placeholder: "e.g., 我在...出现..."
70
72
  - type: textarea
71
73
  attributes:
72
74
  label: 终端日志 📒
@@ -103,5 +105,4 @@ body:
103
105
  at Array.reduce (<anonymous>)
104
106
  INFO Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.
105
107
  </details>
106
- value: |
107
- <此处粘贴终端日志>
108
+ placeholder: "e.g., <此处粘贴终端日志>"
@@ -1,6 +1,6 @@
1
1
  name: 功能新增✨
2
2
  description: 为这个项目提出一个想法
3
- title: "[想法]: "
3
+ title: "[Feature]: "
4
4
  labels: ["增强"]
5
5
  body:
6
6
  - type: markdown
@@ -0,0 +1,13 @@
1
+ <svg width="230.246382px" height="528.14px" viewBox="0 0 230.246382 528.14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <g transform="translate(-226, -116)" fill="#ffffff">
3
+ <g transform="translate(226, 116)">
4
+ <path d="M57.45,507.17 C87.47,434.44 230.61,428.18 164.36,316.39 C212.12,434.18 9.66,435.54 36.6,528.14 C17.62,500.02 25.38,462.49 52.37,442.85 C75.91,424.74 107.39,421.7 130.58,402.53 C171.31,374.92 166.56,325.05 133.62,293.12 C132.68,292.18 131.28,291.3 130.01,291.17 C119.53,290.08 109.04,289.05 98.53,288.24 C79.12,286.75 60.28,288.9 42.67,297.89 C37.86,300.34 33.03,302.08 27.6,300.14 C33.72,298.92 39.79,297.68 44.87,293.88 C44.79,293.56 44.72,293.24 44.64,292.92 C41.32,293.46 38.49,294.75 34.98,294.61 C52.95,282.27 33.41,281.35 22.36,283.36 C60.84,254.97 50.11,209.81 117.04,223.24 C139.92,175.21 157.05,197.72 184.56,168.99 C179.89,182.55 173.44,195.52 167.6,208.66 C161.44,224.1 147.53,226.31 133.23,229.81 C138.31,228.28 140.3,231.71 142.79,234.8 C178.23,276.79 218.08,323.74 215.23,382.21 C203.29,447.16 91.81,452.67 57.45,507.17 L57.45,507.17 Z M98.73,237.9 C84.56,245.85 62.06,243.13 65.36,266.34 C72.8,249.43 82.85,269.83 98.73,237.9 L98.73,237.9 Z"></path>
5
+ <path d="M103.24,292.22 C145.96,290.35 154.28,363.26 122.46,383.67 C75.04,415.94 -15.57,451.75 26.56,523.99 C26.33,524.2 26.11,524.4 25.88,524.61 C-15.13,490.92 3.46,427.39 41.47,399.45 C75.34,371.1 137.8,345.29 103.24,292.22 Z"></path>
6
+ <path d="M180.53,61.39 C193.55,71.71 205.68,82.95 214.14,98.2 C235.91,61.72 209.58,23.4 181.1,1.42108547e-14 C225.16,22.33 250.67,81.66 209.34,121.31 C183.34,150.9 113.9,176.15 113.94,217.67 L95.83,217.67 C97.99,174.23 143.39,172.05 127.65,156.15 C117.75,141.99 113.4,126.39 114.33,108.12 C128.05,176.8 164.52,145.45 199.59,112.86 C211.65,96.64 189.69,74.44 180.53,61.4 L180.53,61.39 Z"></path>
7
+ <path d="M85.9,78.04 C59.55,88.09 25.27,104.68 32.74,138.16 C42.5,137.44 52.22,136.73 61.94,136.01 C62,136.43 62.07,136.84 62.13,137.26 C26.33,142.58 40.67,154.56 60.06,170.78 C76.17,181.91 90.18,139.63 98.01,129.66 C93.29,140.64 88.5,151.59 83.89,162.61 C80.13,172.92 74.04,181.5 84.12,190.32 C90.76,198.2 93.17,207.28 91.84,217.64 C86.92,218.82 81.9,220.02 76.85,221.22 C83.3,186.96 61.25,189.69 40.71,170.75 C-2.36,130.04 36.14,81.84 85.9,78.04 Z"></path>
8
+ <path d="M0.01,197.73 C23.76,225.14 49.6,200.73 64.2,227.4 C56.81,232.31 51.62,239.03 48,246.92 C29.16,243.37 12.18,223.59 0,197.74 L0.01,197.73 Z"></path>
9
+ <path d="M39.77,287.74 C34.98,288.66 32.59,293.58 28.57,295.68 C22.5,295.98 16.89,294.03 15.98,287.06 C23.86,286.49 31.01,285.98 38.16,285.46 L39.77,287.73 L39.77,287.74 Z"></path>
10
+ <path d="M90.51,244.92 C82.85,248.24 72.72,246.39 69.03,256.91 C77.44,255 86.24,254.41 90.51,244.92 Z" id="路径"></path>
11
+ </g>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,128 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our
6
+ community a harassment-free experience for everyone, regardless of age, body
7
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
8
+ identity and expression, level of experience, education, socio-economic status,
9
+ nationality, personal appearance, race, religion, or sexual identity
10
+ and orientation.
11
+
12
+ We pledge to act and interact in ways that contribute to an open, welcoming,
13
+ diverse, inclusive, and healthy community.
14
+
15
+ ## Our Standards
16
+
17
+ Examples of behavior that contributes to a positive environment for our
18
+ community include:
19
+
20
+ * Demonstrating empathy and kindness toward other people
21
+ * Being respectful of differing opinions, viewpoints, and experiences
22
+ * Giving and gracefully accepting constructive feedback
23
+ * Accepting responsibility and apologizing to those affected by our mistakes,
24
+ and learning from the experience
25
+ * Focusing on what is best not just for us as individuals, but for the
26
+ overall community
27
+
28
+ Examples of unacceptable behavior include:
29
+
30
+ * The use of sexualized language or imagery, and sexual attention or
31
+ advances of any kind
32
+ * Trolling, insulting or derogatory comments, and personal or political attacks
33
+ * Public or private harassment
34
+ * Publishing others' private information, such as a physical or email
35
+ address, without their explicit permission
36
+ * Other conduct which could reasonably be considered inappropriate in a
37
+ professional setting
38
+
39
+ ## Enforcement Responsibilities
40
+
41
+ Community leaders are responsible for clarifying and enforcing our standards of
42
+ acceptable behavior and will take appropriate and fair corrective action in
43
+ response to any behavior that they deem inappropriate, threatening, offensive,
44
+ or harmful.
45
+
46
+ Community leaders have the right and responsibility to remove, edit, or reject
47
+ comments, commits, code, wiki edits, issues, and other contributions that are
48
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
49
+ decisions when appropriate.
50
+
51
+ ## Scope
52
+
53
+ This Code of Conduct applies within all community spaces, and also applies when
54
+ an individual is officially representing the community in public spaces.
55
+ Examples of representing our community include using an official e-mail address,
56
+ posting via an official social media account, or acting as an appointed
57
+ representative at an online or offline event.
58
+
59
+ ## Enforcement
60
+
61
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
+ reported to the community leaders responsible for enforcement at
63
+ o@efu.me.
64
+ All complaints will be reviewed and investigated promptly and fairly.
65
+
66
+ All community leaders are obligated to respect the privacy and security of the
67
+ reporter of any incident.
68
+
69
+ ## Enforcement Guidelines
70
+
71
+ Community leaders will follow these Community Impact Guidelines in determining
72
+ the consequences for any action they deem in violation of this Code of Conduct:
73
+
74
+ ### 1. Correction
75
+
76
+ **Community Impact**: Use of inappropriate language or other behavior deemed
77
+ unprofessional or unwelcome in the community.
78
+
79
+ **Consequence**: A private, written warning from community leaders, providing
80
+ clarity around the nature of the violation and an explanation of why the
81
+ behavior was inappropriate. A public apology may be requested.
82
+
83
+ ### 2. Warning
84
+
85
+ **Community Impact**: A violation through a single incident or series
86
+ of actions.
87
+
88
+ **Consequence**: A warning with consequences for continued behavior. No
89
+ interaction with the people involved, including unsolicited interaction with
90
+ those enforcing the Code of Conduct, for a specified period of time. This
91
+ includes avoiding interactions in community spaces as well as external channels
92
+ like social media. Violating these terms may lead to a temporary or
93
+ permanent ban.
94
+
95
+ ### 3. Temporary Ban
96
+
97
+ **Community Impact**: A serious violation of community standards, including
98
+ sustained inappropriate behavior.
99
+
100
+ **Consequence**: A temporary ban from any sort of interaction or public
101
+ communication with the community for a specified period of time. No public or
102
+ private interaction with the people involved, including unsolicited interaction
103
+ with those enforcing the Code of Conduct, is allowed during this period.
104
+ Violating these terms may lead to a permanent ban.
105
+
106
+ ### 4. Permanent Ban
107
+
108
+ **Community Impact**: Demonstrating a pattern of violation of community
109
+ standards, including sustained inappropriate behavior, harassment of an
110
+ individual, or aggression toward or disparagement of classes of individuals.
111
+
112
+ **Consequence**: A permanent ban from any sort of public interaction within
113
+ the community.
114
+
115
+ ## Attribution
116
+
117
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118
+ version 2.0, available at
119
+ https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120
+
121
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct
122
+ enforcement ladder](https://github.com/mozilla/diversity).
123
+
124
+ [homepage]: https://www.contributor-covenant.org
125
+
126
+ For answers to common questions about this code of conduct, see the FAQ at
127
+ https://www.contributor-covenant.org/faq. Translations are available at
128
+ https://www.contributor-covenant.org/translations.
package/README.md CHANGED
@@ -1,11 +1,12 @@
1
1
  简体中文丨[繁体中文](README_zh-tw.md)丨[English](README_EN.md)
2
2
 
3
3
  <div align="center">
4
- <img width="200" style="border-radius:10%;" src="./.github/logo.png" alt="Solitude logo"/>
5
4
 
6
- <h1 align="center">Hexo Theme Solitude</h1>
5
+ <img src=".github/logo.svg" alt="Solitude logo" height="200">
7
6
 
8
- <p align="center">一款优雅的 Hexo 主题,支持懒加载、PWA、Latex以及多种评论系统。</p>
7
+ <h1 align="center">Hexo Theme Solitude</h1>
8
+
9
+ <p align="center">一款优雅的 Hexo 主题,支持懒加载、PWA、Latex以及多种评论系统。</p>
9
10
 
10
11
  ![release](https://img.shields.io/github/package-json/v/valor-x/hexo-theme-solitude/master?color=%231ab1ad&label=release)
11
12
  ![https://img.shields.io/npm/v/hexo-theme-solitude?color=%09%23bf00ff](https://img.shields.io/npm/v/hexo-theme-solitude?color=%09%23bf00ff)
package/README_EN.md CHANGED
@@ -1,7 +1,8 @@
1
- [简体中文](README.md)丨[繁体中文](README_EN.md)丨English
1
+ [简体中文](README.md)丨[繁体中文](README_zh-tw.md)丨English
2
2
 
3
3
  <div align="center">
4
- <img width="200" style="border-radius:10%;" src="./.github/logo.png" alt="Solitude logo"/>
4
+
5
+ <img src=".github/logo.svg" alt="Solitude logo" height="200">
5
6
 
6
7
  <h1 align="center">Hexo Theme Solitude</h1>
7
8
 
package/README_zh-tw.md CHANGED
@@ -1,7 +1,8 @@
1
1
  [简体中文](README.md)丨繁体中文丨[English](README_EN.md)
2
2
 
3
3
  <div align="center">
4
- <img width="200" style="border-radius:10%;" src="./.github/logo.png" alt="Solitude logo"/>
4
+
5
+ <img src=".github/logo.svg" alt="Solitude logo" height="200">
5
6
 
6
7
  <h1 align="center">Hexo Theme Solitude</h1>
7
8
 
package/_config.yml CHANGED
@@ -53,7 +53,6 @@ nav:
53
53
  # 友情链接: /links/ || st-group-fill
54
54
  # 宝藏博主: javascript:travelling() || st-gift-fill
55
55
  # 我的:
56
- # 相册集: /gallery/ || st-image-fill
57
56
  # 装备: /equipment/ || st-laptop-line
58
57
  # 工具箱: /tlink/ || st-tools-fill
59
58
  # 音乐馆: /music/ || st-disc-fill
@@ -321,11 +320,6 @@ post:
321
320
  enable: true
322
321
  license: CC BY-NC-SA 4.0
323
322
  licenurl: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh
324
- # 是否使用移轴动画头像
325
- # Whether to use the shift animation avatar
326
- author:
327
- enable: false
328
- author_back: https://7.isyangs.cn/34/65f2e52b2d91e-34.png # 底部头像背景 / Bottom avatar background
329
323
  # 顶部文章简介
330
324
  # Top article introduction
331
325
  meta:
@@ -542,12 +536,6 @@ moments:
542
536
  bundlejs: https://cdn.cbd.int/st-source/js/moment/bundle.min.js
543
537
  randompostjs: https://cdn.cbd.int/st-source/js/moment/random_post.min.js
544
538
 
545
- # 相册
546
- # album
547
- album:
548
- enable: false # 是否开启相册 / Whether to enable album
549
- limit: 6 # 单行显示图片数量 / Number of pictures displayed in a single line
550
-
551
539
  # 快捷菜单你
552
540
  # quick menu
553
541
  keyboard:
package/languages/en.yml CHANGED
@@ -6,12 +6,15 @@ copy:
6
6
  success: Copied
7
7
  error: Copied failed
8
8
 
9
- time:
10
- recent: Recent
11
- yesterday: Yesterday
12
- berforeyesterday: TDBY
13
- daybefore: Days ago
14
- runtime: days
9
+ lately:
10
+ second: second
11
+ minute: minute
12
+ hour: hour
13
+ day: day
14
+ month: month
15
+ year: year
16
+ ago: ago
17
+ error: NaN
15
18
 
16
19
  chs:
17
20
  chs_tw: Traditional Chinese
@@ -7,12 +7,15 @@ copy:
7
7
  success: 复制成功
8
8
  error: 复制失败
9
9
 
10
- time:
11
- recent: 最近
12
- yesterday: 昨天
13
- berforeyesterday: 前天
14
- daybefore: 天前
15
- runtime:
10
+ lately:
11
+ second:
12
+ minute: 分钟
13
+ hour: 小时
14
+ day:
15
+ month: 个月
16
+ year: 年
17
+ ago: 前
18
+ error: NaN
16
19
 
17
20
  chs:
18
21
  chs_tw: 繁體中文
@@ -7,12 +7,15 @@ copy:
7
7
  success: 複製成功
8
8
  error: 複製失敗
9
9
 
10
- time:
11
- recent: 最近
12
- yesterday: 昨天
13
- berforeyesterday: 前天
14
- daybefore: 天前
15
- runtime:
10
+ lately:
11
+ second:
12
+ minute: 分鐘
13
+ hour: 小時
14
+ day:
15
+ month: 个月
16
+ year: 年
17
+ ago: 前
18
+ error: NaN
16
19
 
17
20
  chs:
18
21
  chs_tw: 繁體中文
@@ -61,12 +61,15 @@ script.
61
61
  error: '!{_p('copy.error')}',
62
62
  },
63
63
  backtop: '!{_p('nav.backtop')}',
64
- time: {
65
- recent: '!{_p('time.recent')}',
66
- yesterday: '!{_p('time.yesterday')}',
67
- berforeyesterday: '!{_p('time.berforeyesterday')}',
68
- daybefore: '!{_p('time.daybefore')}',
69
- runtime: '!{_p('time.runtime')}',
64
+ lately: {
65
+ second: '!{_p('lately.second')}',
66
+ minute: '!{_p('lately.minute')}',
67
+ hour: '!{_p('lately.hour')}',
68
+ day: '!{_p('lately.day')}',
69
+ month: '!{_p('lately.month')}',
70
+ year: '!{_p('lately.year')}',
71
+ ago: '!{_p('lately.ago')}',
72
+ error: '!{_p('lately.error')}',
70
73
  },
71
74
  search: {
72
75
  empty: '!{_p('search.empty')}',
@@ -14,6 +14,9 @@ div
14
14
  script(src=url_for(theme.cdn.main))
15
15
  script(src=url_for(theme.cdn.utils))
16
16
 
17
+ // lately
18
+ script(src=url_for(theme.cdn.lately_js))
19
+
17
20
  if theme.mermaid
18
21
  script(src=url_for(theme.cdn.mermaid_js))
19
22
 
@@ -106,6 +109,10 @@ div
106
109
  != item
107
110
 
108
111
  div#js-pjax
112
+ case config.lang
113
+ when 'en'
114
+ script.
115
+ utils.changeTimeFormat()
109
116
  if theme.mermaid
110
117
  script.
111
118
  mermaid.run();
@@ -78,7 +78,7 @@ script.
78
78
  )(window)
79
79
 
80
80
  console.log(
81
- "%c Program: Hexo %c Theme: Solitude %c Version: v1.5.3",
81
+ "%c Program: Hexo %c Theme: Solitude %c Version: v1.5.5",
82
82
  "border-radius:5px 0 0 5px;padding: 5px 10px;color:white;background:#ff3842;",
83
83
  "padding: 5px 10px;color:white;background:#3e9f50;",
84
84
  "border-radius:0 5px 5px 0;padding: 5px 10px;background:#0084ff;color:white;"
@@ -1,8 +1,6 @@
1
1
  .post-copyright
2
2
  .post-copyright__author_group
3
3
  a.post-copyright__author_img(href="/about/")
4
- if theme.post.default.copyright.author.enable
5
- img.post-copyright__author_img_back(src=theme.post.default.copyright.author.author_back)
6
4
  img.post-copyright__author_img_front(src=theme.site.icon)
7
5
  .post-copyright__author_name= config.title
8
6
  .post-copyright__author_desc= config.subtitle
package/layout/page.pug CHANGED
@@ -25,10 +25,6 @@ block content
25
25
  include includes/page/default
26
26
  when 'music'
27
27
  include includes/page/music
28
- when 'gallery'
29
- include includes/page/gallery
30
- when 'album'
31
- include includes/page/album
32
28
  default
33
29
  include includes/page/default
34
30
  if page.comment
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "1.5.3",
3
+ "version": "1.5.5",
4
4
  "description": "A beautiful, powerful, and efficient Hexo theme developed by the wleelw",
5
5
  "main": "package.json",
6
6
  "scripts": {
package/plugins.yml CHANGED
@@ -98,10 +98,6 @@ fancyapps_css:
98
98
  name: fancyapps-ui
99
99
  file: dist/fancybox/fancybox.min.css
100
100
  version: 5.0.33
101
- macy_js:
102
- name: macy
103
- file: dist/macy.min.js
104
- version: 2.5.1
105
101
  mermaid_js:
106
102
  name: mermaid
107
103
  file: dist/mermaid.min.js
@@ -83,7 +83,12 @@ hexo.extend.filter.register('before_generate', () => {
83
83
  name: 'hexo-theme-solitude',
84
84
  file: 'js/universe.min.js',
85
85
  version
86
- }
86
+ },
87
+ lately_js: {
88
+ name: 'hexo-theme-solitude',
89
+ file: 'js/lately.min.js',
90
+ version
91
+ },
87
92
  }
88
93
 
89
94
  const minFile = file => {
@@ -6,13 +6,13 @@ hexo.extend.filter.register('after_post_render', function (data) {
6
6
  if (data.layout === 'post') {
7
7
  data.locate = data.locate || config.post.default.locate
8
8
  data.cc = data.cc || config.post.default.copyright
9
- data.cover = data.cover || config.post.default.cover[getRandomInt(0, config.post.default.cover.length)]
9
+ data.cover = data.cover || config.post.default.cover[getRandomInt(0, config.post.default.cover.length)] || '/img/default.png'
10
10
  data.excerpt = data.description || data.excerpt
11
11
  if (config.aside.toc.post && data.toc !== false) data.toc = true
12
12
  else data.toc = false
13
13
  }
14
14
  if (data.layout === 'page') {
15
- data.cover = data.cover || config.page.default.cover[getRandomInt(0, config.post.default.cover.length)]
15
+ data.cover = data.cover || config.page.default.cover[getRandomInt(0, config.post.default.cover.length)] || '/img/default.png'
16
16
  data.excerpt = data.title
17
17
  if (config.aside.toc.page && data.toc !== false && data.aside) data.toc = true
18
18
  else data.toc = false
@@ -15,7 +15,7 @@ function btn(args) {
15
15
  option = option.trim();
16
16
 
17
17
  return `<button class="btn-sco ${option}" onclick="location.href = '${urlFor(url)}'"
18
- title="${text}">${icon.length ? `<i class="${icon}"></i>` : ""}${text.length ? `<span>${text}</span>` : ""}</button>`;
18
+ title="${text}">${icon.length ? `<i class="solitude ${icon}"></i>` : ""}${text.length ? `<span>${text}</span>` : ""}</button>`;
19
19
  }
20
20
 
21
21
  hexo.extend.tag.register("btn", btn, { ends: false });
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
3
  function bilibili(args) {
4
- return `<iframe class="bvideo" src="${args}"></iframe>`
4
+ return `<iframe class="bvideo" width="100%" height="600" src="//player.bilibili.com/player.html?aid=1351697032&bvid=${args}&p=1" border="0" frameBorder="no" framespacing="0" allowFullScreen="true"></iframe>`
5
5
  }
6
6
 
7
- hexo.extend.tag.register('bilibili', bilibili, { ends: false })
7
+ hexo.extend.tag.register('bvideo', bilibili, {ends: false})
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ function galleryGroup(args, content) {
4
+ const title = args[0];
5
+ const description = args[1];
6
+ const link = args[2];
7
+ const image = args[3];
8
+
9
+ return `<div class="gallery-item" onclick="pjax.loadUrl('/${link}/')">
10
+ <img class="cover" src="${image}" />
11
+ <span class="title">${title}</span>
12
+ <span class="desc">${description}</span>
13
+ </div>`;
14
+ }
15
+
16
+ const urlFor = require('hexo-util').url_for.bind(hexo)
17
+
18
+ const gallery = (args, content) => {
19
+ args = args.join(' ').split(',')
20
+ let button = false
21
+ let type = 'data'
22
+ let dataStr = ''
23
+
24
+ if (args[0] === 'url') {
25
+ [type, dataStr, button] = args // url,[link],[lazyload]
26
+ } else {
27
+ [button] = args // [lazyload]
28
+ const regex = /!\[(.*?)\]\(([^\s]*)\s*(?:["'](.*?)["']?)?\s*\)/g
29
+ let m
30
+ const arr = []
31
+ while ((m = regex.exec(content)) !== null) {
32
+ if (m.index === regex.lastIndex) {
33
+ regex.lastIndex++
34
+ }
35
+ arr.push({
36
+ url: m[2],
37
+ alt: m[1],
38
+ title: m[3]
39
+ })
40
+ }
41
+
42
+ dataStr = JSON.stringify(arr)
43
+ }
44
+
45
+ return `<div class="gallery-container" data-type="${type}" data-button="${button}">
46
+ <div class="gallery-data">${dataStr}</div>
47
+ <div class="gallery-items">
48
+ </div>
49
+ </div>`
50
+ }
51
+
52
+ hexo.extend.tag.register('gallery', gallery, {ends: true});
53
+
54
+ hexo.extend.tag.register('galleryGroup',galleryGroup, {ends: false});
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  hexo.extend.tag.register('image', function(args) {
4
- args = args.join(' ').split(', ');
4
+ args = args.join(' ').split(',');
5
5
  let url = args[0].trim();
6
6
  let alt = '';
7
7
  let bg = '';
@@ -1,17 +1,20 @@
1
1
  'use strict'
2
2
 
3
3
  function link(args) {
4
+ args = args.join(' ').split(',');
4
5
  let urlNoProtocol = args[2].replace(/^https?\:\/\//i, "");
5
6
  let imgUrl = "https://api.iowen.cn/favicon/" + urlNoProtocol + ".png";
6
- return `<a class="tag-Link" target="_blank" href="${args[2]}">
7
+ return `<a class="tag-link" target="_blank" href="${args[2]}">
7
8
  <div class="tag-link-tips">引用站外地址</div>
8
9
  <div class="tag-link-bottom">
9
- <div class="tag-link-left" style="background-image: url(${imgUrl});"></div>
10
+ <div class="tag-link-left" style="background-image: url(${imgUrl});">
11
+ <i class="solitude st-link-m-line"></i>
12
+ </div>
10
13
  <div class="tag-link-right">
11
14
  <div class="tag-link-title">${args[0]}</div>
12
15
  <div class="tag-link-sitename">${args[1]}</div>
13
16
  </div>
14
- <i class="fa-solid fa-angle-right"></i>
17
+ <i class="solitude st-arrow-right-bold"></i>
15
18
  </div>
16
19
  </a>`
17
20
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * note.js
3
+ * transplant from hexo-theme-next
4
+ * modified by @efu
5
+ */
6
+
1
7
  hexo.extend.tag.register('note', function (types, content) {
2
8
  let type = ""
3
9
  for (let i = 0; i < types.length; i++) {