现在,这个网站的文章可以直接在 Obsidian 里写了。把笔记放进 vault 的 发布 文件夹,最多 5 分钟后它就会出现在网站上——不需要打开任何后台。

它是怎么工作的
本机有一个常驻的同步守护(macOS LaunchAgent),每 5 分钟检查一次 发布 文件夹的指纹。发现变化后,同步脚本会:
- 解析每篇笔记的 frontmatter 和正文
- 把 Obsidian 特有语法转换成网站支持的 Markdown(双链转纯文本、
![[]]嵌入转图片) - 把
.assets里的图片上传到网站媒体桶,改写为站内链接 - 通过 Cloudflare D1 写入网站 CMS,带完整的版本快照和工作流记录
- 把发布文件夹完整快照到 vultr-sg 服务器留档
整个过程幂等:内容没变的笔记直接跳过,改动的笔记会升一个版本号,删掉的笔记自动归档。
写一篇可发布的笔记
在 发布 文件夹新建 Markdown 文件,加上 frontmatter:
---
title: 我的文章标题
date: 2026-08-28
tags:
- 随笔
status: published
---
正文从这里开始。status缺省就是published;写draft可以让笔记只在本地存在,不同步上线slug、summary都可以不写,会自动生成
图片
Obsidian 里直接把图拖进笔记(默认存到同名 .assets 文件夹),用 ![[图片名.png]] 引用即可。同步时图片自动上传并改写为站内地址,网站加载走 Cloudflare 全球缓存。
草稿与下线
- 写了一半不想发:
status: draft - 想下线已发布的文章:把笔记移出
发布文件夹(文章在 CMS 后台仍是归档状态,可恢复) - 改动已发布的笔记:保存后等同步即可,网站自动更新,历史版本都有快照
手动操作
偶尔想立刻同步或只预览计划时,在博客仓库 ~/projects/aidenovak 运行:
npm run obsidian:sync # 立即同步
npm run obsidian:dry-run # 只看计划,不写入同步日志在 ~/Library/Logs/aidenovak-obsidian-sync.log。
正在载入讨论...