hexo-theme-shokax 0.5.0-dev-789e8eb → 0.5.1

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 CHANGED
@@ -1,23 +1,30 @@
1
- **🏗️ 当前分支为 ShokaX 0.5 Dev分支,不建议普通用户使用** \
2
- 此分支为 ShokaX 0.5 实验性变更分支,确保0.5开发期间0.4的维护不受影响
3
-
4
- 计划更改:
5
- - [x] 移除 pjax
6
- - [x] 移除 quicklink
7
- - [x] 移除 assetUrl 为基的动态 Vendor 机制
8
- - [ ] 引入新的 Inject 类技术 (长期)
9
- - [ ] 引入新的工作流程
10
- - [x] 重构 player (nyx-player)
11
- - [ ] 重构并修改代码块
12
- - [x] 优化和异步化 Smart Bundle 技术
13
- - [x] 优化 CSS 结构和加载
14
- - [x] 修复/重置 fancybox
15
- - [ ] 修复模板长期遗留问题
16
- - [x] 修复 images 遗留问题
17
- - [x] 规范化配置文件
18
- - [ ] 规范化文档
1
+ ## 公告
2
+ **[ShokaX 0.4/0.5 生命周期计划](https://github.com/theme-shoka-x/hexo-theme-shokaX/discussions/426)** \
3
+ **[ShokaX 0.5 迁移指南](https://docs.shokax.kaitaku.xyz/getting-started/migrate/)** \
4
+ **[ShokaX 0.5 中的新代码块样式调研](https://github.com/theme-shoka-x/hexo-theme-shokaX/discussions/418)**
5
+
6
+ ## ShokaX
7
+
8
+ ShokaX 是一个源自 Shoka 的派生项目,其核心目标是引入前沿技术并持续优化用户体验。
9
+
10
+ ShokaX 提供了如下改进:
11
+ - 基于 esbuild 的半现代构建体系
12
+ - 完全基于 ESM Typescript 的现代代码库
13
+ - 现代 Markdown 渲染器与 CSS/JS/图片优化器
14
+ - 现代的 Vue 3 音乐播放器重构
15
+ - 对上下游供应链的重写(如 Pjax、Anime.js和Mouse-firework)
16
+ - 更人性化的操作与配置
17
+ - 动画及视觉效果重构 (WIP)
18
+ - 与平台解耦的 Vue 3 UI 框架 (WIP)
19
+
20
+ ## 🔧如何安装
21
+ 见文档[如何安装](https://docs.shokax.kaitaku.xyz/getting-started/)部分
22
+
23
+ 注意:ShokaX 不支持传统 Hexo 主题的 Git Clone 式安装,请不要“想当然”。
19
24
 
20
25
  ## 📚子项目
26
+ - [ShokaX UIKit](https://github.com/theme-shoka-x/ShokaX-UI-Kit/tree/main/packages/shokax-uikit) ShokaX 平台无关 UI 组件库
27
+ - [Nyx Player](https://github.com/theme-shoka-x/ShokaX-UI-Kit/tree/main/packages/nyx-player) ShokaX 音乐播放器的 Vue 3 重构实现
21
28
  - [ShokaX docs](https://github.com/theme-shoka-x/shokaX-docs) ShokaX 主题文档 (正在编写中,欢迎加入!)
22
29
  - [HRMNMI](https://github.com/theme-shoka-x/hexo-renderer-multi-next-markdown-it) ShokaX 正在使用的 markdown 渲染器 (等待重构)
23
30
  - [ShokaX Anime](https://github.com/theme-shoka-x/theme-shokax-anime) ShokaX 提供的精简版 Anime.js 实现
@@ -33,12 +40,23 @@ AGPL许可证主要目的是限制修改后的分发行为,避免未经许可
33
40
  依照AGPLv3 Section 7,我们添加了一些附加条款:
34
41
  请查看[使用限制](./UsageRestrictions.md),使用ShokaX则默认您已知晓此文件内容
35
42
 
36
- # 致谢名单
37
- ## 开源项目
38
- | 名称 | 作者 | 描述 |
39
- |:-----------------|:------------------|:-------------------|
40
- | Hexo | Hexo contributors | 为本项目提供了良好的基础 |
41
- | hexo-theme-shoka | amehime | 本项目的父主题 |
43
+ # 写在最后
44
+ ## 致谢名单
45
+
46
+ __本部分由 zkz098 编写,所有的“我”均指代本人。__
47
+
48
+ ShokaX 开发团队谨向在 ShokaX 项目开发过程中做出重要贡献的所有朋友致以最诚挚的谢意。以下列表按随机顺序排列,不分先后:
49
+ - amehime:Shoka 的开发者,没有她就没有 ShokaX
50
+ - D-Sketon:ShokaX 早期用户及核心开发者,让 ShokaX 的生产就绪提早不少于 1 年完成,并让如今的 ShokaX 能建立在稳固的基础上
51
+ - Joyition:ShokaX 贡献者,Iconfont 项目提供者,让 ShokaX 用户能独立于 Shoka 自定义 Iconfont
52
+ - Lavender:Shoka 资深用户,启发了我创建 ShokaX 这个项目
53
+ - MqyGalaxy:ShokaX 维护者,为 ShokaX 提供了许多宝贵的建议
54
+ - Foryouos:ShokaX 早期用户及文档贡献者,为 ShokaX 提供了关键文档
55
+ - Argvchs:Particlex 核心维护者,直接启发了我创建 ShokaX 这个项目
56
+ - tfel-ypoc:感谢 TA 指出了 ShokaX 存在的诸多不足之处,让我们能更好地改善用户体验和优化文档
57
+ - MisakaMikoto521:ShokaX 维护者,为 ShokaX 提供了很多 Bug 反馈与改进建议
58
+
59
+ 由于篇幅所限,我们无法在此一一列出所有对 ShokaX 做出贡献的朋友。在此,我们再次向所有为此项目付出努力的朋友们表达最诚挚的感谢。
42
60
 
43
61
  ## 开发者们
44
62
  Hexo 主题: \
@@ -46,8 +64,5 @@ Hexo 主题: \
46
64
  ShokaX 文档: \
47
65
  [![](https://contributors-img.web.app/image?repo=theme-shoka-x/shokaX-docs)](https://github.com/theme-shoka-x/shokaX-docs/graphs/contributors) \
48
66
 
49
- ## 特别鸣谢
50
- [<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" width="25%">](https://jb.gg/OpenSourceSupport)
51
-
52
67
  ## 其他信息
53
68
  ![Star history chart](https://api.star-history.com/svg?repos=theme-shoka-x/hexo-theme-shokaX&type=Date)
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "hexo-theme-shokax",
3
- "version": "0.5.0-dev-789e8eb",
3
+ "version": "0.5.1",
4
4
  "description": "a hexo theme based on shoka",
5
5
  "main": "index.js",
6
6
  "repository": "https://github.com/theme-shoka-x/hexo-theme-shokaX",
7
7
  "author": "zkz098",
8
8
  "license": "AGPL-3.0-or-later",
9
- "packageManager": "pnpm@10.10.0",
9
+ "packageManager": "pnpm@10.11.1",
10
10
  "scripts": {
11
11
  "test": "tsc --build --verbose",
12
12
  "build": "node ./toolbox/compiler.mjs"
@@ -14,18 +14,18 @@
14
14
  "devDependencies": {
15
15
  "@types/js-yaml": "^4.0.9",
16
16
  "@types/katex": "^0.16.7",
17
- "@types/node": "^22.15.3",
17
+ "@types/node": "^22.15.30",
18
18
  "glob": "^11.0.2",
19
19
  "typescript": "^5.8.3"
20
20
  },
21
21
  "dependencies": {
22
- "@algolia/client-search": "^5.24.0",
22
+ "@algolia/client-search": "^5.27.0",
23
23
  "@common.js/p-limit": "^6.1.0",
24
- "@waline/client": "^3.5.6",
25
- "algoliasearch": "5.24.0",
26
- "es-toolkit": "^1.37.2",
27
- "esbuild": "^0.25.3",
28
- "hana-img-viewer": "^1.2.1",
24
+ "@waline/client": "^3.5.7",
25
+ "algoliasearch": "5.27.0",
26
+ "es-toolkit": "^1.39.1",
27
+ "esbuild": "^0.25.5",
28
+ "hana-img-viewer": "^1.2.2",
29
29
  "hexo": "^7.3.0",
30
30
  "hexo-algoliasearch": "^2.0.1",
31
31
  "hexo-feed": "^1.1.2",
@@ -33,15 +33,14 @@
33
33
  "hexo-pagination": "^4.0.0",
34
34
  "hexo-renderer-pug": "^3.0.0",
35
35
  "hexo-util": "^3.3.0",
36
- "instantsearch.js": "^4.78.2",
36
+ "instantsearch.js": "^4.78.3",
37
37
  "js-yaml": "^4.1.0",
38
38
  "katex": "^0.16.22",
39
39
  "mouse-firework": "^0.1.1",
40
40
  "nyx-player": "^0.1.1",
41
- "quicklink": "^2.3.0",
42
41
  "theme-shokax-anime": "^0.0.8",
43
- "twikoo": "^1.6.42",
44
- "vue": "^3.5.13"
42
+ "twikoo": "^1.6.44",
43
+ "vue": "^3.5.16"
45
44
  },
46
45
  "engines": {
47
46
  "node": ">=20.0.0"
@@ -13,6 +13,11 @@ const randomBG = function(count = 1, image_server = null, image_list = []) {
13
13
  }
14
14
  if (count && count > 1) {
15
15
  let shuffled = image_list.slice(0);
16
+ if (image_list.length < 1) {
17
+ console.warn("We received a report that if the image_list is less than 6 items, it will cause block on main thread, then the terminal will crash.");
18
+ console.warn("So we throw an error to avoid it happens.");
19
+ throw new Error("image_list must have at least 6 items");
20
+ }
16
21
  while (shuffled.length <= 6) {
17
22
  shuffled = shuffled.concat(image_list.slice(0));
18
23
  }