hexo-theme-shokax 0.3.4 → 0.3.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.
- package/README.md +0 -1
- package/README_en.MD +67 -36
- package/layout/_mixin/breadcrumb.pug +2 -2
- package/layout/_partials/layout.pug +11 -2
- package/package.json +1 -1
package/README.md
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
* [ShokaX 正在寻找社区维护者](https://github.com/theme-shoka-x/hexo-theme-shokaX/discussions/137)
|
3
3
|
|
4
4
|
# hexo-theme-shokaX
|
5
|
-
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fzkz098%2Fhexo-theme-shokaX?ref=badge_shield)
|
6
5
|

|
7
6
|

|
8
7
|

|
package/README_en.MD
CHANGED
@@ -1,56 +1,87 @@
|
|
1
|
-
|
1
|
+
# 📣 Announcement
|
2
|
+
* [ShokaX is looking for community maintainers](https://github.com/theme-shoka-x/hexo-theme-shokaX/discussions/137)
|
2
3
|
|
3
4
|
# hexo-theme-shokaX
|
4
|
-
|
5
|
-

|
5
|
+

|
6
6
|

|
7
7
|

|
8
8
|

|
9
9
|
|
10
10
|
Language: [简体中文](./README.md) | English \
|
11
|
-
This project is a
|
12
|
-
The reason for its
|
11
|
+
This project is a fork (spiritual successor) of Shoka, aimed at improving performance and optimizing the modified experience. \
|
12
|
+
The reason for its creation is that Shoka has not been updated for two years, accumulating a large number of bugs and feature requests.
|
13
13
|
|
14
|
-
The community resource
|
14
|
+
The community resource guide and plugin repository for shokaX are available at [awesome-shokaX](https://github.com/theme-shoka-x/awesome-shokaX)
|
15
15
|
|
16
|
-
## 💬 Differences
|
17
|
-
The original
|
16
|
+
## 💬 Differences from Shoka
|
17
|
+
The original Shoka used a combination of JavaScript + Native + Nunjucks technologies. \
|
18
|
+
ShokaX, on the other hand, uses TypeScript + Vue 3 + Pug technologies and has changed many hard-to-access CDN links.
|
18
19
|
|
19
20
|
## ✨ Feature List
|
20
|
-
| Feature Name | Implementation Status | Feature Name | Implementation Status |
|
21
|
-
|:-------------------------------:|:---------------------:|:------------------------------:|:---------------------:|
|
22
|
-
| PWA Support | ✅ | JSD Splitting | ✅ |
|
23
|
-
| Injection API | ✅ | Community Plugin System | ✅ |
|
24
|
-
| Custom Fonts | ✅* | Custom Styles | ✅* |
|
25
|
-
| Multiple Comment System Support | ✅ | User Behavior Analysis Support | ✅ |
|
26
|
-
| Record Number at the Bottom | ✅ | Custom Footer | ✅* |
|
27
|
-
| CSS Gradient Cover | ✅ | Typescript Support | ✅ |
|
28
|
-
|
29
|
-
Remarks:
|
30
|
-
- *: Requires implementation using Injection API.
|
31
|
-
|
32
|
-
## 🔧 How to Install?
|
33
|
-
It is recommended to use [ShokaX-CLI](https://github.com/theme-shoka-x/shokaX-CLI) and execute the following command:
|
34
|
-
```bash
|
35
|
-
npm i shokax-cli --location=global
|
36
|
-
# hexo init initializes the environment
|
37
|
-
SXC install shokaX
|
38
|
-
```
|
39
|
-
[Click here](https://docs.kaitaku.xyz/guide/#%E9%85%8D%E7%BD%AE%E4%B8%BB%E9%A2%98) for the next configuration steps.
|
40
21
|
|
41
|
-
|
22
|
+
| Feature | Status | Feature | Status |
|
23
|
+
|:-------------------------------:|:------:|:------------------------------:|:------:|
|
24
|
+
| PWA Support | ✅ | JSD Split | ✅ |
|
25
|
+
| Injection API | ✅ | Community Plugin System | ✅ |
|
26
|
+
| Custom Fonts | ✅* | Custom Styles | ✅* |
|
27
|
+
| Multiple Comment System Support | ✅ | AI-generated Article Summaries | 🔬 |
|
28
|
+
| Bottom Record Number | ✅ | Custom Footer | ✅* |
|
29
|
+
| CSS Gradient Cover | ✅ | TypeScript Support | ✅ |
|
30
|
+
|
31
|
+
Notes:
|
32
|
+
- *: Requires implementation using Injection API
|
33
|
+
- 🔬: In experimentation, may have issues
|
42
34
|
|
35
|
+
## 🔧 How to Install
|
36
|
+
Note: This project requires node.js 18.x or higher to run. \
|
37
|
+
It is recommended to use [ShokaX-CLI](https://github.com/zkz098/shokaX-CLI) \
|
38
|
+
[Click here](https://docs.kaitaku.xyz/guide/#%E9%85%8D%E7%BD%AE%E4%B8%BB%E9%A2%98) for the next configuration steps.
|
39
|
+
|
40
|
+
For the GitHub repository, it is recommended to download from the releases on the right side, with the following steps:
|
43
41
|
- Click on the Latest version in Releases
|
44
|
-
- Download
|
45
|
-
- Unzip to use as
|
42
|
+
- Download `Source code(zip)` from Assets
|
43
|
+
- Unzip to use as a theme
|
44
|
+
|
45
|
+
## 📚 Sub-projects
|
46
|
+
- [ShokaX docs](https://github.com/theme-shoka-x/shokaX-docs) ShokaX Theme Documentation (work in progress, contributions welcome!)
|
47
|
+
- [HRMNMI](https://github.com/theme-shoka-x/hexo-renderer-multi-next-markdown-it) The markdown renderer used by ShokaX (awaiting refactoring)
|
48
|
+
- [ShokaX CLI](https://github.com/theme-shoka-x/shokaX-CLI) ShokaX Command Line Installer
|
49
|
+
- [ShokaX Pjax](https://github.com/theme-shoka-x/theme-shokax-pjax) Efficient Pjax implementation by ShokaX
|
50
|
+
- [ShokaX Anime](https://github.com/theme-shoka-x/theme-shokax-anime) Minimalistic Anime.js implementation by ShokaX
|
51
|
+
|
52
|
+
## 🛠️ Development
|
53
|
+
[ShokaX Official Development Documentation](https://docs.kaitaku.xyz/develop/basic/)
|
54
|
+
|
55
|
+
Recommended reading for contributing:
|
56
|
+
- [Hexo Official Documentation](https://hexo.io/zh-cn/docs/templates)
|
57
|
+
- [Stylus Chinese Documentation](http://stylus.bootcss.com/)
|
58
|
+
- [Pug Template Engine Chinese Documentation](https://www.pugjs.cn/api/getting-started.html)
|
59
|
+
- [TypeScript Chinese Documentation](https://www.tslang.cn/docs/home.html)
|
60
|
+
- [Easy Hexo](https://easyhexo.com/)
|
46
61
|
|
47
62
|
# License
|
48
|
-
|
49
|
-
|
63
|
+
License: AGPL 3 or later
|
64
|
+
|
65
|
+
## Special Note
|
66
|
+
The primary purpose of the AGPL license is to restrict distribution after modification, preventing unauthorized secondary modification for commercial purposes. \
|
67
|
+
Modifications to the source code **must** be open-sourced, as per the AGPL license. Building a website requires open-sourcing modified parts.
|
50
68
|
|
51
|
-
##
|
69
|
+
## Usage Special Note
|
70
|
+
In accordance with AGPLv3 Section 7, we have added some additional terms. \
|
71
|
+
Please see [Usage Restrictions](./UsageRestrictions.md). Using ShokaX implies that you are aware of the contents of this file.
|
52
72
|
|
73
|
+
# Acknowledgments
|
74
|
+
## Open Source Projects
|
75
|
+
| Name | Author | Description |
|
76
|
+
|:----------------:|:-----------------:|:--------------------------------------------:|
|
77
|
+
| Hexo | Hexo contributors | Provided a solid foundation for this project |
|
78
|
+
| hexo-theme-shoka | amehime | Parent theme of this project |
|
79
|
+
|
80
|
+
## Developers
|
53
81
|
[](https://github.com/theme-shoka-x/hexo-theme-shokaX/graphs/contributors)
|
54
82
|
|
55
|
-
## Special
|
56
|
-
[<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" width="25%">](https://jb.gg/OpenSourceSupport)
|
83
|
+
## Special Thanks
|
84
|
+
[<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" width="25%">](https://jb.gg/OpenSourceSupport)
|
85
|
+
|
86
|
+
## Other Information
|
87
|
+

|
@@ -13,7 +13,7 @@ mixin BCRender(post, home)
|
|
13
13
|
i(class="ic i-angle-right")
|
14
14
|
each cat,index in post.categories.toArray()
|
15
15
|
if home
|
16
|
-
if index===cat_length
|
16
|
+
if index===cat_length-1
|
17
17
|
span(class="current" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem")
|
18
18
|
a(href=url_for(cat.path) itemprop="item" rel="index" title=__('post.in')+ cat.name)
|
19
19
|
span(itemprop="name")
|
@@ -28,6 +28,6 @@ mixin BCRender(post, home)
|
|
28
28
|
else
|
29
29
|
a(href=url_for(cat.path) title=__('post.in')+cat.name)
|
30
30
|
!= cat.name
|
31
|
-
if cat_length > 1 && index !== cat_length
|
31
|
+
if cat_length > 1 && index !== cat_length - 1
|
32
32
|
i(class="ic i-angle-right")
|
33
33
|
!= '</div>'
|
@@ -71,6 +71,15 @@ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'f
|
|
71
71
|
!= partial('_partials/footer.pug', {}, {cache: true})
|
72
72
|
- var ccIcon = '<i class="ic i-creative-commons"></i>'
|
73
73
|
- var ccText = theme.creative_commons.license.toUpperCase()
|
74
|
+
- var audioValue
|
75
|
+
if page.audio
|
76
|
+
- audioValue = JSON.stringify(page.audio);
|
77
|
+
|
78
|
+
else if page.audio === false
|
79
|
+
- audioValue = JSON.stringify({});
|
80
|
+
else
|
81
|
+
- audioValue = "undefined"
|
82
|
+
|
74
83
|
script(data-config type="text/javascript").
|
75
84
|
var LOCAL = {
|
76
85
|
path: `#{_permapath(page.path)}`,
|
@@ -88,11 +97,11 @@ html(lang=page.language?page.language:config.language, style=theme.grayMode ? 'f
|
|
88
97
|
copy_tex: #{!!page.math},
|
89
98
|
katex: #{!!page.math},
|
90
99
|
mermaid: #{!!page.mermaid},
|
91
|
-
audio:
|
100
|
+
audio: !{audioValue},
|
92
101
|
fancybox: #{page.fancybox !== false},
|
93
102
|
nocopy: #{!!page.nocopy},
|
94
103
|
outime: #{page.outime !== false},
|
95
|
-
template:
|
104
|
+
template: `!{__('outime.template')}`,
|
96
105
|
quiz: {
|
97
106
|
choice: `#{__('quiz.choice')}`,
|
98
107
|
multiple: `#{__('quiz.multiple')}`,
|