ShokaX Astro 已初步达到生产稳定 关于 ShokaX Hexo 生命周期方案
ShokaX 是一个源自 Shoka 的派生项目,其核心目标是引入前沿技术并持续优化用户体验。
ShokaX 提供了如下改进:
- 基于 esbuild 的半现代构建体系
- 完全基于 ESM 和 Typescript 的现代代码库
- 现代 Markdown 渲染器与 CSS/JS/图片优化器
- 现代的 Vue 3 音乐播放器重构
- 对上下游供应链的重写(如 Pjax、Anime.js和Mouse-firework)
- 更人性化的操作与配置
- 动画及视觉效果重构 (WIP)
- 与平台解耦的 Vue 3 UI 框架 (WIP)
见文档如何安装部分
注意:ShokaX 不支持传统 Hexo 主题的 Git Clone 式安装,请不要“想当然”。
github Actions 自动部署配置示例:
#将以下代码放入项目目录.github/workflows/pages.yml,如果没有就新建一个
name: Pages
on:
push:
branches:
- main # default branch
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
# If your repository depends on submodule, please see: https://github.com/actions/checkout
submodules: recursive
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
# Examples: 20, 18.19, >=16.20.2, lts/Iron, lts/Hydrogen, *, latest, current, node
# Ref: https://github.com/actions/setup-node#supported-version-syntax
node-version: 22
- name: Install dependencies
run: npm install pnpm -g
- name: Build TypeScript files
run: |
pnpm install
echo "NO_DEPS_HOIST=true" >> $GITHUB_ENV
pnpm build
- name: Install Dependencies
run: pnpm install
- name: Build
run: pnpm run build
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public
deploy:
needs: build
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
- ShokaX UIKit ShokaX 平台无关 UI 组件库
- Nyx Player ShokaX 音乐播放器的 Vue 3 重构实现
- ShokaX docs ShokaX 主题文档 (正在编写中,欢迎加入!)
- HRMNMI ShokaX 正在使用的 markdown 渲染器 (等待重构)
- ShokaX Anime ShokaX 提供的精简版 Anime.js 实现
许可证: AGPL 3 or later
AGPL许可证主要目的是限制修改后的分发行为,避免未经许可的二次修改封装商业行为
仅修改源代码需要开源,因为根据AGPL许可,搭建网站需要开源修改部分
依照AGPLv3 Section 7,我们添加了一些附加条款: 请查看使用限制,使用ShokaX则默认您已知晓此文件内容
本项目 CDN 加速及安全防护由 Tencent EdgeOne 赞助
本部分由 zkz098 编写,所有的“我”均指代本人。
ShokaX 开发团队谨向在 ShokaX 项目开发过程中做出重要贡献的所有朋友致以最诚挚的谢意。以下列表按随机顺序排列,不分先后:
- amehime:Shoka 的开发者,没有她就没有 ShokaX
- D-Sketon:ShokaX 早期用户及核心开发者,让 ShokaX 的生产就绪提早不少于 1 年完成,并让如今的 ShokaX 能建立在稳固的基础上
- Joyition:ShokaX 贡献者,Iconfont 项目提供者,让 ShokaX 用户能独立于 Shoka 自定义 Iconfont
- Lavender:Shoka 资深用户,启发了我创建 ShokaX 这个项目
- MqyGalaxy:ShokaX 维护者,为 ShokaX 提供了许多宝贵的建议
- Foryouos:ShokaX 早期用户及文档贡献者,为 ShokaX 提供了关键文档
- Argvchs:Particlex 核心维护者,直接启发了我创建 ShokaX 这个项目
- tfel-ypoc:感谢 TA 指出了 ShokaX 存在的诸多不足之处,让我们能更好地改善用户体验和优化文档
- MisakaMikoto521:ShokaX 维护者,为 ShokaX 提供了很多 Bug 反馈与改进建议
由于篇幅所限,我们无法在此一一列出所有对 ShokaX 做出贡献的朋友。在此,我们再次向所有为此项目付出努力的朋友们表达最诚挚的感谢。
