Astro Blog ShokaX
这是 Hexo Theme ShokaX 在 Astro 上的重构版本,使用 Astro + Svelte 5 + UnoCSS 技术栈

✨ 功能特性
- 延续 ShokaX 原版设计语言的优雅界面
- 内置日间 / 暗夜主题模式
- 通过 Hyc 交互式安装、配置和使用博客
- 基于 Hyacine Plugins 的可扩展插件体系
- 丰富的 Markdown / MDX 增强特性
- 支持标签云、时间线视图与分类树结构
- 基于 Pagefind 的无后端高性能全文搜索
- 独立的友链页面支持
- 自动生成智能目录(ToC)
- HyC 赋能的 AI 摘要和 AI 文章推荐
- 基于 AES-256-GCM 和 PBKDF2 的构建时文章加密
- 以性能优先为核心的设计与开发理念
- 更多扩展能力,详见文档说明
安装
本项目建议使用 Bun 运行,不保证与 Nodejs 的兼容性
您可以直接将本仓库 Clone 到本地(并为我们点一个 Star 😜),来开始使用。也可使用由 Hyc 提供的交互式安装支持
然后进入如下操作:
bun install
# 启动开发服务器
bun run dev
# 构建生产版本
bun run build
然后,查看完整文档来进行下一步:ShokaX Astro 文档
备注
有关资源与许可证说明
- 本项目的主要样式与设计理念来自 Shoka,但本项目为独立实现,仅在设计理念与风格上受到启发,出于致敬目的,在
license目录下放置 Shoka 的原始 MIT 许可证(LICENSE-shoka)
- 本项目是 Hexo ShokaX 的独立自研重写版本,未直接使用其代码与资源,为独立实现,且本仓库由 ShokaX 项目团队直接维护,与 Hexo ShokaX 作者相同,所以本项目使用 ShokaX 作为项目名称
- 本项目中默认的 avatar 图片为 QuAn_ 的作品,本项目中该图片仅用于展示,版权归原作者所有,用户需自行确认使用合规性,请在正式部署前使用版权可控的图片替换本图片
- 本项目使用了 Maple Mono 和霞鹜文楷 作为项目的默认字体,两款字体均为 OFL 1.1 许可证,其分发许可证分别为
licenses/LICENSE-maple-mono.txt和licenses/OFL.txt
本项目在构建过程中会在遵从 OFL 1.1 许可证的前提下对字体进行子集化、格式转换与压缩
- 本项目默认使用的 cover 来自 Unsplash,遵循 Unsplash License 使用与分发
- 本项目本身(即根目录下的
LICENSE)只适用于本项目中的代码资源,对于不包含于上述内容中的其他未标明或未知的非代码资产,本项目本身的 LICENSE 不适用,应视为原作者保留所有权
致谢
ShokaX 开发组向所有 ShokaX 在过去、现在和未来的使用过与可能使用的开源项目与所有 ShokaX 的用户、贡献者和开发者致谢,如果没有他们的支持,我们不可能构建出 ShokaX
其中,这些项目为我们的开发做出了极大的支持,特此再次致谢(随机排列,不分先后):
- Astro:本项目的基石
- UnoCSS:现代化的原子 CSS 引擎,彻底解决了在前作中困扰开发组很长时间的图标问题
- Svelte:本项目的前端 UI 框架,个人博客项目的理想之选
- Mizuki:直接启发了开发组进行 Astro 迁移,为我们的迁移提供了极好的榜样
- Bun:本项目使用的运行时,高性能而易用
- Vercel:驱动了本项目的有关网站和 API 系统
- Shoka:ShokaX 的起源,没有 Shoka 便不可能有 ShokaX