2026-09-17记

2026-09-17 12:19 Thursday4551min
CC BY 4.0(除特别声明和转载)

利用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表现基本一致。

BuyMeACola