Skip to content

theme-shoka-x/hexo-theme-shokaX

公告

ShokaX Astro 已初步达到生产稳定 关于 ShokaX Hexo 生命周期方案

ShokaX

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 做出贡献的朋友。在此,我们再次向所有为此项目付出努力的朋友们表达最诚挚的感谢。

开发者们

Hexo 主题:

ShokaX 文档:
\

其他信息

Star history chart