更新目录页
这个 skill 用于手动补刷 Obsidian 里的目录页 / 导航页(MOC)。
Step 0: 读取共享配置
先读取 ../_shared/user-config.json,如果 ../_shared/user-config.local.json 存在,再用它覆盖默认值。
显式生成并在后续统一使用这些变量:
VAULT_PATHNOTES_PATHCONCEPTS_PATHAUTO_REFRESH_INDEXESGIT_COMMIT_ENABLEDGIT_PUSH_ENABLED
其中:
NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}GIT_PUSH_ENABLED只有在GIT_COMMIT_ENABLED=true时才可能为真
后续步骤统一使用上面的变量。
执行步骤
- 运行概念目录页脚本:
python3 ../_shared/generate_concept_mocs.py
- 运行论文目录页脚本:
python3 ../_shared/generate_paper_mocs.py
- 汇报:
- 扫描了多少个目录
- 新建 / 更新了多少个目录页
- 目录页文件写到了哪里
git 自动化
默认配置下:
AUTO_REFRESH_INDEXES=trueGIT_COMMIT_ENABLED=falseGIT_PUSH_ENABLED=false
只有在 GIT_COMMIT_ENABLED=true 时才做 git 操作,并且必须先检查:
VAULT_PATH/.git是否存在git add之后是否真的有 staged changes
只有在上面两项都满足时才 commit。
只有在 GIT_PUSH_ENABLED=true 且仓库已配置远端时才 push。
结果要求
- 目录页生成逻辑必须来自仓库自带脚本,不依赖
VAULT_PATH/scripts/* - 重复运行应保持幂等
- 用户手动运行这个 skill 时,不受
AUTO_REFRESH_INDEXES开关影响