HExLL 维护手册:更新、部署与 tools 工具指南
这篇文章是本仓库的**“维护终章”**:把日常维护、更新、部署、批量导入、工具脚本与常见问题全部系统化整理成一份可执行的操作手册。
如果你只记一个命令:
- 日常发布:
npm run publish
0. 你正在维护的是什么
- 站点框架:Hexo 8.x
- 主题:Butterfly(仓库依赖锁定在
hexo-theme-butterfly) - 部署方式:
hexo-deployer-git推送静态产物到gh-pages分支(GitHub Pages 读取该分支) - 内容目录:
source/_posts/ - 维护脚本目录:
tools/
主题不要直接改
themes/butterfly/源码(会被升级脚本覆盖),主题改动统一写在_config.butterfly.yml。
1. 日常维护(90% 情况只需要这几条)
1.1 本地预览
npm run server |
如果你希望每次都从干净状态起:
npm run dev |
1.2 一键发布到线上(推荐)
npm run publish |
它等价于:
hexo clean && hexo generate && hexo deploy |
你几乎总是应该用它,而不是单独 hexo deploy。
1.3 只部署(你已经 generate 过)
npm run deploy |
2. 文章与内容管理
2.1 新建文章
npx hexo new "文章标题" |
然后去 source/_posts/ 编辑生成的 Markdown。
2.2 关于内部链接(非常重要)
站内文章互相链接时,不要写成文件路径:
- ❌
source/_posts/xxx.md
应该写成站内 URL(更稳,生成后一定可用):
- ✅
/YYYY/MM/DD/文章标题/
比如工具文章统一在这里:
- /2025/12/31/HExLL维护/HExLL工具脚本总览/
3. 部署体系与认证(避免踩坑)
3.1 GitHub Pages 的正确设置
- 目标分支:
gh-pages - 站点根目录:
/(root)
3.2 推荐使用 SSH 部署(不要把 token 写进仓库)
如果你当前使用的是 https + token(最常见问题:token 过期导致 deploy 失败),建议切换到 SSH:
- 生成 SSH key:
ssh-keygen -t ed25519 -C "your_email@example.com" |
-
把公钥加入 GitHub(Settings → SSH and GPG keys)
-
将
_config.yml中deploy.repo改为:
deploy: |
4. tools/ 目录:维护脚本与使用边界
先看总览(建议收藏):
4.1 md2Hexo:批量补齐 front matter
适用:外部 Markdown 导入、整理知识库、批量迁移。
常用命令:
# 交互式 |
详细说明:
4.2 upgrade.sh:本地升级依赖/主题并重新生成
适用:你希望更新 Hexo、插件依赖、Butterfly 主题,并重新生成静态文件。
bash tools/upgrade.sh |
它做的事情(按顺序):
npm install(确保依赖存在)npm update(更新依赖到允许范围内的新版本)- 删除并重拉
themes/butterfly(确保主题为上游最新) hexo cleanhexo generate
风险提示:
- 如果你曾经直接改过
themes/butterfly/,会被覆盖;请把改动迁移到_config.butterfly.yml。
详细说明:
4.3 update.sh:服务器侧对齐 gh-pages
适用:你有服务器工作区,Nginx/宝塔直接指向站点目录,需要“强制对齐”到 origin/gh-pages。
bash tools/update.sh |
详细说明:
5. 一张表搞定:所有维护操作与命令
| 目标 | 命令 |
|---|---|
| 本地预览 | npm run server |
| 清理缓存 | npm run clean |
| 生成静态 | npm run build |
| 一键发布(推荐) | npm run publish |
| 仅部署 | npm run deploy |
| 更新 Algolia 索引 | npm run algolia |
| 批量补 front matter(预览) | python3 tools/md2Hexo.py --dry-run -d source/_posts |
| 升级依赖/主题并重新生成 | bash tools/upgrade.sh |
| 服务器对齐 gh-pages | bash tools/update.sh |
6. 常见问题(Troubleshooting)
6.1 hexo deploy 失败 / Exit Code 非 0
优先使用:
npm run publish |
如果还是失败,99% 是认证问题(token 过期 / SSH 未配置)或网络问题。
6.2 工具文章里链接点不开
确保链接写的是 URL 形式:
- ✅
/2025/12/31/HExLL维护/upgrade-sh-本地升级脚本/
不要写源文件路径。
7. 结语
至此,这个仓库的“维护体系”已经闭环:
- 日常发布:
npm run publish - 批量导入:
md2Hexo.py - 本地升级:
upgrade.sh - 服务器同步:
update.sh
建议你把这篇文章加入书签,之后维护就按表执行即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 HExLL-迷雾日志!