FIT2CLOUD
Butterfly-shell 的图标

Butterfly-shell

805
209

一个由 shell 定制优化的 Butterfly 🦋 主题

Butterfly-shell 🦋

面向 Halo 2.x 的 Butterfly 卡片式博客主题,由 shell 持续重构与维护,兼顾博客阅读、移动端体验和资源加载性能。

博客预览 · 下载发行版 · 配置文档 · 更新记录

博客文章列表与作者侧栏

预览截图取自某科学的贝壳的博客(2026-10-15),使用站点真实的文章、封面、作者信息与分类数据。

更多实景:首页首屏、文章目录与代码块、分类统计

首页首屏:

博客首页首屏

文章目录与代码块,来自《使用 Netbird 轻松组建内网》:

文章正文、目录与代码高亮

分类统计:

博客分类统计与列表

本项目 fork 自 dhjddcn/halo-theme-butterfly,视觉与交互源于 Jerry 的 Hexo Butterfly。在 Halo 移植版的基础上,持续调整页面布局、主题配置、图片加载、代码高亮、评论与插件页面。

主要能力

  • Butterfly 卡片布局、首页列表或平铺、首屏大图与打字机文案,适配桌面和移动端。
  • 浅色、深色、按时间自动切换与访客手动切换,尊重系统的“减少动态效果”设置。
  • 简繁文字切换、桌面宽屏阅读和评论快捷入口,阅读偏好保存在访客浏览器。
  • 文章目录、阅读字数与时长、版权区、图片灯箱和返回顶部。
  • 原生图片懒加载、失败回退,以及可选的图床预览图渐进加载。
  • 内置按需加载的 Prism 代码高亮,支持行号、复制、折叠与深浅色代码主题;跳过 shiki-code 容器中的代码块。
  • 归档、分类和标签统计图,支持 Artalk 或 Halo 评论组件及 Umami 公开分享统计。
  • 适配友链、瞬间、图库、朋友圈、Steam 游戏库和 B 站追番插件页面,提供自定义 404/500 页面。

各页面的配置与支持范围见配置文档。普通独立页面使用通用侧栏,不显示文章目录。Hexo Butterfly 的命令、配置文件和标签外挂不能直接用于本主题。

安装

主题元信息声明要求 Halo >= 2.0.0,使用现代浏览器;插件需满足各自的版本要求。安装发行包无需本地 Node.js 环境。

  1. 从发行版页面下载 theme-butterfly-dist.zip。
  2. 在 Halo Console → 外观 → 主题中上传安装,启用 Butterfly-shell。
  3. 在主题设置中填写真实的“作者用户名”,并将静态资源来源保持为默认的“本站”。
  4. 在外观 → 菜单中设置主菜单,再按需安装插件、添加对应页面入口。

升级或设置项缺失时,在主题详情页的 ··· 菜单执行“重载主题配置”。请使用发行包安装,GitHub 的源码 ZIP 不包含运行所需的 templates/。

内置 npm CDN 地址不能保证提供本 fork 的对应资源。需要 CDN 时,请使用自定义地址托管同版本的完整主题资源;后台菜单与社交图标也受内置 Font Awesome 子集范围限制,具体方法见文档。

文档与更新

文档 内容
配置与使用 安装、完整主题设置、页面路由、插件、配置迁移和常见问题
开发与构建 开发环境、源码结构、资源与图标维护、测试、打包和发布校验
版本更新记录 各版本新增功能、修复与升级说明

反馈问题时,请附上主题版本、Halo 版本、相关插件版本,以及可复现的页面或操作步骤:提交 Issue。

本地开发

需要 Node.js >=22.13.0 和 pnpm 11.20.0。首次启动先构建,再监听源码变化:

pnpm install --frozen-lockfile
pnpm build
pnpm dev

交付前执行:

pnpm test
pnpm build-zip

安装包输出为根目录下的 theme-butterfly-dist.zip,同时生成 SHA-256 和 manifest 校验文件。开发细节与浏览器验证要求见开发文档。

许可证与致谢

本主题遵循 GPL-3.0 开源协议。分发与二次开发时请保留许可证及原作者署名;第三方资源保留各自许可,详见字体来源声明和 Font Awesome 说明。


讨论(0)

这是一个开源应用,我们推荐优先在开源仓库中提交 issue,以便开发者更好地接收和跟进问题。

去提交 issue