利用git分支分离了note与博客,笔记库放在main分支,hugo工程放在publish分支。实现如下工作流
flowchart TD
A["Push 到 main 分支"] --> B["transform.yml 触发<br/>(on: push → main)"]
B --> C["transform.mjs 运行<br/>SKIP = .obsidian / .git / .trash / Excalidraw"]
C --> D{"content/ 是否变化?"}
D -->|"note/*.md 改动<br/>重新生成 content"| E["git commit content<br/>git push origin publish (PAT)"]
D -->|".obsidian 等配置改动<br/>被 SKIP,content 不变"| F["echo 'no changes'<br/>不推送 publish"]
E --> G["push 到 publish 触发 main.yml"]
G --> H["main.yml 构建 + 部署<br/>Hugo → 站点上线"]
F -.-> I["不部署"]
subgraph PAT["PAT 关键约束"]
J["必须用 PAT (ACCESS_TOKEN) 而非 GITHUB_TOKEN<br/>GITHUB_TOKEN 的 push 不会触发下游 workflow"]
end
E -.-> J
通过ci替代了[shadow-page](yaleiyale/obsidian-shadow-page: Convert the rendered views to pure markdown in Obsidian.)和hugo-section两个插件。shadow-page的效果是否能稳定通过ci实现,还需要后续使用中观察,当前table表现基本一致。

