工作日誌三個目錄頁改成大標題加條列,三支技能的呼叫與敘述同步 #36
1 Participants
Notifications
Due Date
No due date set.
Depends on
#52 wiki 目錄頁改成大標題加條列,舊表格讀到就自動轉檔
plugins/gitea
Reference: plugins/log#36
Reference in New Issue
Block a user
摘要
*_CONTENTS)的呈現格式從 markdown 表格改成「大標題加條列」,一筆紀錄一個 H2 區塊,H2 標題就是這一筆的鍵,欄位是標題底下一層的條列- {欄位名}:{值},目錄頁上不留任何 markdown 表格。本支負責jsc-log這一段:LOG_CONTENTS、LEARN_CONTENTS、REPORT_CONTENTS三個目錄頁範本轉條列,worklog、learn、report三支技能的 upsert 呼叫與敘述同步。內容頁維持原本的圖表優先,不在這一輪範圍。變更內容
templates/log-contents.md<key-col>、<key>與第四個參數各自代表什麼skills/worklog/SKILL.mdupsert LOG 2 "{HASH}"改成upsert LOG 1 "LOG_{HASH}":鍵改成 H2 標題也就是內容頁頁名。連帶把「列」的措辭、退出碼說明與degraded判準改成區塊語意templates/learn-contents.md<key-col>一併從1改成2:線上這一頁的身分欄是教訓紀錄那一欄,不是存取庫名稱那一欄skills/learn/SKILL.mdupsert LEARN 1 "{owner}/{repo}"改成upsert LEARN 2 "LEARN_{HASH}",敘述同步templates/report-contents.mdskills/report/SKILL.mdupsert REPORT 2 "{HASH}"改成upsert REPORT 1 "REPORT_{HASH}",敘述與退出碼說明同步README.md、references/behaviors.md.claude-plugin/plugin.json、.codex-plugin/plugin.json、plugin.json0.1.9設計重點
四個決策:
wiki-contents.sh讀到表格就自動轉成條列後寫回,不另跑批次搬移gitea/tools/wiki-contents.sh,不新增第二支工具LOG_{HASH}與LEARN_{HASH}只由{owner}/{repo}決定,REPORT_{HASH}只由{owner}/{repo}/{期間}決定:換主機位址、把內容頁移到別的存取庫、Gitea 對頁名的編碼有差,都動不到它。含網址的那一條連結照樣留著給人點,但不當鍵——拿它當鍵,上面任一件事一變,這一輪的文字就跟上一輪不一樣,比不到既有那一筆就走附加,同一個內容頁多出第二個區塊,舊區塊從此再也更新不到。key-col三支各不相同,因為線上三頁的身分欄各不相同。**日誌頁與報表頁的第 1 欄是內容頁連結,所以傳1;教訓頁第 1 欄是存取庫名稱、第 2 欄才是教訓紀錄連結,所以傳2。這個參數只在舊頁還是表格時用得到,轉檔時取那一格的文字當 H2 標題,格子寫成連結就只取其中的頁名;頁面已經是條列格式就完全忽略它。填錯的話轉出來的標題跟鍵對不上,既有那一筆會被當成新的附加上去,同一筆變兩個區塊。link-check.sh,結束碼 0 才寫,出現 DEAD 就不寫那一個區塊並回報。測試結果
sh /root/plugins/meta/tools/check-behaviors.sh .→ 通過,行為清單對上 4 支技能,五個欄位齊全,結束碼 0。sh /root/plugins/meta/tools/lint-frontmatter.sh .→ 通過 4 支(分隔線、必要鍵、冒號、起頭字元、引號),結束碼 0。sh /root/plugins/hooks/hooks/comment-scope.sh sweep .→ 無命中,結束碼 0。tools/一支未動,所以沒有可跑的腳本檢查。實際寫入行為全在前置 PR 那一支,實機驗證留到部署階段。前置 Push Request
plugins/gitea的wiki-contents.sh主體改寫,必須先合。本支只改敘述與範本,實際的轉檔與 upsert 邏輯全在那一支。它沒合之前就部署本支,範本組出來的 H2 區塊會被舊版工具當成表格列附加到表格後面,線上目錄頁會變成半表格半條列。