Obsidian + Hexo + GitHub Actions 自动化构建指南
1. 架构设计
这套方案通过以下组件的深度协作,实现了「本地创作,云端部署」的闭环:
- Obsidian:作为全能笔记库,通过 Git Submodule 嵌入博客源码。
- GitHub 私有仓库:存放 Hexo 配置文件及 Markdown 原稿,确保创作隐私。
- GitHub Actions (CI/CD):充当云端大脑,监听源码变动并自动执行环境安装、编译与发布。
- GitHub 公共仓库:作为托管载体,仅存放编译后的静态网页文件。
2. 自动化部署配置 (CI/CD)
2.1 建立 SSH 信任链
为了让 GitHub Actions 自动向公共仓库推送代码,需配置 SSH 密钥:
- 生成密钥对:
ssh-keygen -t rsa -b 4096 -f github-deploy-key。 - 公共仓库设置:进入
username.github.io> Settings > Deploy keys,添加公钥内容,并勾选 Allow write access。 - 私有仓库设置:进入
hexo-blog-source> Settings > Secrets,添加私钥内容,命名为HEXO_DEPLOY_PRI。
2.2 编写自动化脚本
在私有仓库根目录下创建 .github/workflows/deploy.yml:
1 | name: Hexo Auto Deploy |
3. 深度集成 Obsidian
3.1 引入子模块
将博客源码仓库作为子模块嵌入你的 Obsidian 库中:
1 | cd ~/your_obsidian_vault |
3.2 视觉净化 (File Explorer++)
为保持侧边栏纯净,仅显示文章目录,在 File Explorer++ 插件的 Hide Filter 中设置以下正则:
1 | ^GitBlog/(?!(source/|source$)).*|^GitBlog/source/(?!(_posts/|_posts$)).* |
3.3 其他配置(可选)
- Templater:配置给_posts下的文件自动加
post front-matter - Git:开启 Submodule management
- Linter:把路径添加到 Folders to ignore
- Files and links:把路径添加到 Advanced - Excluded Files
4. 极致写作流体验
- 撰写:在 Obsidian 的
GitBlog/source/_posts目录下直接新建 Markdown。 - 提交:保存后 Obsidian Git 插件自动进行 Push。
- 生效:GitHub Actions 接收信号,自动在云端完成部署。
只要配置一次,余下的只有创作。
最后一步建议:
粘贴完成后,请记得将 yourname、username 以及 你的邮箱 替换为实际信息。然后使用 Obsidian Git 插件执行一次
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小鸡吧!