助理巡檢目錄頁改成大標題加條列,巡檢輸出檔改名 contents-entry.md #13
1 Participants
Notifications
Due Date
No due date set.
Depends on
#52 wiki 目錄頁改成大標題加條列,舊表格讀到就自動轉檔
plugins/gitea
Reference: plugins/assist#13
Reference in New Issue
Block a user
摘要
*_CONTENTS)的呈現格式從 markdown 表格改成「大標題加條列」,一筆紀錄一個 H2 區塊,H2 標題就是這一筆的鍵,欄位是標題底下一層的條列- {欄位名}:{值},目錄頁上不留任何 markdown 表格。本支負責jsc-assist這一段:巡檢目錄頁MONITOR_CONTENTS的範本與敘述轉條列,一台機器一個區塊;tools/patrol.sh改組區塊檔。內容頁MONITOR_{HASH}維持原本的固定三塊與圖表優先,不在這一輪範圍。變更內容
templates/monitor-contents.md## 欄位說明、## 寫入規則寫的說明區段全部搬進>引言:留在二階標題上,轉檔後會被讀成一筆假紀錄templates/monitor-page.mdtools/patrol.shcollect組給目錄頁的輸出從一列表格改成一整個區塊;輸出檔改名contents-entry.md,contents_file=指向新檔名。新增oneline處理條列值tools/schedule.shwiki-contents.sh寫」的措辭跟上區塊語意,放行規則本身不動skills/assistant/SKILL.mdupsert MONITOR 1 "MONITOR_{HASH}":鍵改成 H2 標題也就是內容頁頁名。並補上key-col只在舊表格頁轉檔時有意義的說明,以及完成條件改成「頁上恰好一個## MONITOR_{HASH}區塊」README.md、AGENTS.md、references/behaviors.md.claude-plugin/plugin.json、.codex-plugin/plugin.json、plugin.json0.1.5設計重點
四個決策:
wiki-contents.sh讀到表格就自動轉成條列後寫回,不另跑批次搬移gitea/tools/wiki-contents.sh,不新增第二支工具MONITOR_{HASH},只由{主機名}/{登入帳號}決定:GITEA_HOST一換、JSC_WIKI_REPO_MONITOR改指別的存取庫、Gitea 對頁名的編碼有差,都動不到它。含網址的那一條連結照樣留著給人點,但不當鍵——拿它當鍵,上面任一件事一變,這一輪的文字就跟上一輪不一樣,比不到既有那一筆就走附加。這一頁每 15 分鐘寫一次,重複區塊累積得很快。key-col傳1,而且只在舊表格頁轉檔時用得到。**線上舊頁第 1 欄是監控頁連結,格子是[MONITOR_{HASH}]({網址}),轉檔取其中的頁名當標題。頁面已經是條列格式就完全忽略這個參數,所以一律傳1,不要照當下頁面重新推算欄號。oneline的兩個判準。**值裡的換行一律壓成空白:一條條列裡的換行會被讀成另一條,或讓整個區塊提早結束。|反而不跳脫:條列裡沒有切欄的意思,跳脫過的符號會原樣顯示在頁面上。MONITOR_接上它,留這一條讓人不必從標題切字串就抄得到。{監控頁絕對網址}佔位,由呼叫端換成真網址、過完link-check.sh才寫。tools/patrol.sh一頁都不寫,兩次 wiki 寫入都在呼叫端,驗證的時機也在呼叫端。測試結果
sh /root/plugins/meta/tools/lint-scripts.sh .→ 通過 2 支(語法、可執行、結束碼宣告),結束碼 0。sh /root/plugins/meta/tools/check-behaviors.sh .→ 通過,行為清單對上 1 支技能,五個欄位齊全,結束碼 0。sh /root/plugins/meta/tools/lint-frontmatter.sh .→ 通過 1 支,結束碼 0。sh /root/plugins/hooks/hooks/comment-scope.sh sweep .→ 無命中,結束碼 0。首輪掃到tools/patrol.sh一行註解夾帶目錄頁頁名,已就地改成「目錄頁」後重掃通過。patrol collect之後的兩次寫入都會動到線上 wiki,前置 PR 未合之前寫進去會被舊版工具當成表格列附加。實機驗證留到部署階段。前置 Push Request
plugins/gitea的wiki-contents.sh主體改寫,必須先合。本支只改敘述與範本,實際的轉檔與 upsert 邏輯全在那一支。它沒合之前就部署本支,範本組出來的 H2 區塊會被舊版工具當成表格列附加到表格後面,線上目錄頁會變成半表格半條列。一輪巡檢組給目錄頁的輸出,從一列 markdown 表格改成一整個大標題區塊: `## {監控頁頁名}` 那一行、空行,然後每個欄位一條 `- {欄位名}:{值}`。輸出 檔跟著從 `contents.tsv` 改名 `contents-entry.md`,`contents_file=` 指向 新檔名。 目錄頁已經不放表格,再組出那一列就沒有地方放。舊檔名說的是逐欄對照的資料 檔,內容其實是一段 markdown,名不對實會讓呼叫端以為還能逐欄解析。改名讓 呼叫端契約的變動在檔名上就看得見,而不是同名檔悄悄換了格式——同名換格式 的話,還沒跟上的呼叫端會拿到讀得開卻意義全錯的內容。 新增 `oneline` 處理條列一條的值:換行一律壓成空白,因為一條條列裡的換行會 被讀成另一條,或者讓整個區塊提早結束;`|` 反而不跳脫,條列裡沒有切欄的 意思,跳脫過的符號會原樣顯示在頁面上。監控頁那一條的網址仍然留佔位,由 呼叫端換成真網址、驗過連得到才寫,這支腳本一頁都不寫。裸雜湊照樣留一條, 讓人不必從標題切字串就抄得到。 範圍是一輪巡檢給目錄頁的輸出檔。