維護記錄

完成的工作

  • 修改 scripts/gen-covers.ts,移除 SVG 封面中的方形與菱形元素:
    • 從 symbol 列表刪除
    • 刪除 patternRectanglespatternGrid 兩個圖案函數,並從 PATTERN_FNS 中移除
  • 同步更新 scripts/__tests__/gen-covers.test.ts,移除對已刪除圖案的引用
  • 運行 bun test scripts/__tests__/gen-covers.test.ts,29 個測試全部通過 ✅
  • 合併自動修復流程到 deploy.yml
    • 改寫 .github/workflows/deploy.yml,把 gen-covers + format-markdown 併入 build job,在 hugo --minify 之前順序執行(gen-covers 先,format 後,一次提交無殘留)
    • 刪除獨立的 .github/workflows/format-markdown.yml.github/workflows/gen-covers.yml
    • scripts/git-commit-push.tsgit pull --rebase 兜底,避免併發 push 被拒
    • 移除 deploy build job 的 if: github.actor != 'github-actions[bot]'(該條件在 GITHUB_TOKEN push 場景下從未生效,是死代碼)
    • 新增 permissions: contents: writeworkflow_dispatch 觸發器
    • 效果:一次 push → 一個 bot commit → 部署的是修復後的內容(封面、格式化結果即時上線) ✅

遇到的問題

  • 最初計劃新建獨立的 auto-fix.yml workflow,但發現 GITHUB_TOKEN 推送的 commit 不會觸發新 workflow run,導致封面/格式化結果延遲一次 push 才上線 ⚠️
    • 解決方案:直接合併到 deploy.yml,在構建前完成修復,部署的就是修復後的內容

下次建議

  • 若後續想補充新圖案,可優先加入曲線/有機形態,進一步豐富封面視覺差異
  • 如需進一步降低 bot commit 噪音,可考慮在 git-commit-push.ts 里加 git diff-index --quiet HEAD 檢查,有改動才 commit/push