从 Obsidian 直写 Hexo(软链接 + 手动 git push)
目标:在 Obsidian 里直接完成技术文章写作与配图,把内容落到 Hexo 的 source/_posts 与 source/images;发布时只需一次手动 git push 触发 GitHub Pages。
1. 前置条件(先确认这些存在)
- Hexo 仓库可用:能在仓库目录执行
git push origin main。 - Obsidian 中安装并启用插件 Git(obsidian-git / Git)。
- 在 Hexo 里采用标准结构:
- 文章:
source/_posts/*.md - 图片:
source/images/*
- 文章:
2. 一次性目录映射:Vault → Hexo(软链接)
假设你用占位符(示例):
- Obsidian Vault 根目录:
/your/storage/ObisidianStorage/Obisidian Vault - Hexo 仓库根目录:
/your/storage/Blog
在 Vault 根目录执行:
1 | cd "/your/storage/ObisidianStorage/Obisidian Vault" |
映射完成后:
- 在 Obsidian 里写
HexoPosts/,保存即落到source/_posts/ - 把图片保存到
HexoImages/,并在文章中引用公开路径:
1 |  |
3. Git 插件配置:让它“能识别仓库”(关键是语义)
你这套工作流不依赖自动推送;Git 插件的职责是识别仓库并在你需要时生成提交/提示变更。
3.1 只改一个核心字段:Custom base path
Custom base path不是绝对路径,而是相对 Vault 根目录的路径。
仓库根目录相对于 Vault 根目录的层级关系为:
- 计算规则:从 Vault 根目录到 Hexo 仓库根目录,一层上跳
../,一层下走则按目录名追加。
示例(如果两者相对层级是 Vault → ../../Blog):
1 | Custom base path = ../../Blog |
若出现
base path does not exist:优先重算相对层级,避免填绝对路径。
3.2 Custom Git binary path
- 建议填
/usr/bin/git(可不填,取决于系统是否在 PATH)。
3.3 发布方式
- 先不开自动推送:写完文章后仅在确认内容无误时再手动
git push。
4. 手动发布(触发 GitHub Actions / Pages)
进入 Hexo 仓库根目录(示例):
1 | cd /your/storage/Blog |
发布步骤:
1 | git status |
等待 Actions 完成,刷新 Pages 验证。
5. 小坑:改完 Git 插件配置,建议重启 Obsidian
若出现“配置明明已经对了但仍报错/仍提示 not ready”:
- 建议:重启 Obsidian 再试。
原因:插件可能尚在使用旧配置状态,重启后即可同步到新配置。
6. 结论
这套流程的可操作性来自三点:
- 软链接把写作目录直接落到 Hexo 的标准目录(避免复制步骤)。
- 图片引用使用
/images/...,确保发布后可见。 - 只在需要时手动
git push,并在改配置后重启 Obsidian 提升稳定性。