我平时使用 obsidian 来记录所有内容,所以希望通过一系列操作将我的 obsidian 直接发布成 Blog 为此我的构建流程如下
- obsidian 完成写作,使用 webdav 同步到 alist,alist 挂载 NAS 的一个本地文件夹
- NAS 中定时脚本,将笔记提交到我的 Gitea 中,每小时提交一次
- Gitea 同步笔记原始文档到 Github Private 仓库
- Github Private 仓库中的 workflow 监听
Blog
文件夹是否有改动,如果有则触发编译发布- transform-obsidian 将 obsidian 文件转换成 astro content 的 md 文件
- 修改文件名,因为文件名将被用作访问路径
- 修改obsidian 对于图片的引用,将其替换为标准的 md 图片引用格式
- 处理图片文件,去除图片名称中的空格
- 使用 astro-gyoza 和上一步的 md 文件和图片构建静态网站
- 将构建结果 dist 上传到 obsidian-astro-build-result 仓库,可以直接用于静态部署
- transform-obsidian 将 obsidian 文件转换成 astro content 的 md 文件