問詢目錄頁改成大標題加條列,鍵改用問詢紀錄頁頁名 #28
1 Participants
Notifications
Due Date
No due date set.
Depends on
#52 wiki 目錄頁改成大標題加條列,舊表格讀到就自動轉檔
plugins/gitea
Reference: plugins/ask#28
Reference in New Issue
Block a user
摘要
*_CONTENTS)的呈現格式從 markdown 表格改成「大標題加條列式」——一筆紀錄一個 H2 區塊,H2 標題就是這一筆的鍵(該筆對應內容頁的實際頁名),欄位是標題底下的一層條列- {欄位名}:{值},目錄頁上不留任何 markdown 表格。本存取庫負責問詢目錄頁QUESTION_CONTENTS的範本與敘述,實際的轉檔與 upsert 邏輯全部在gitea/tools/wiki-contents.sh。內容頁維持原本的圖表優先,不在這一輪的範圍。變更內容
templates/question-contents.mdQUESTION_{HASH},欄位改成- {欄位名}:{值}的一層條列;引言補上版面規則、參數語意與{key-col}填錯的後果skills/ask/SKILL.mdupsert QUESTION 2 QUESTION_{HASH} {block-file} templates/question-contents.md,wiki-url、link-check.sh、wiki-contents.sh三段結束碼分流的措辭同步成區塊語意,並補上wiki-contents.sh退 1 的新語意references/behaviors.mdREADME.mdask技能的敘述同步成條列式目錄頁與新的 upsert 呼叫形式plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json設計重點
QUESTION_{HASH}:頁名只由{owner}/{repo}決定,GITEA_HOST換掉、JSC_WIKI_REPO_QUESTION換過存取庫、Gitea 對頁名的網址編碼有差,頁名一個字都不動,鍵永遠比得中既有區塊。標題不放連結、不放網址、不加前後綴。{key-col}修正為2。這個參數指舊表格裡持有內容頁連結那一欄的欄位序號,QUESTION_CONTENTS的舊表格欄序是存取庫名稱、問詢紀錄、最後更新,帶連結的是第 2 欄「問詢紀錄」。原本填成1會在自動轉檔時取到純文字的{owner}/{repo},標題變成## plugins/meta,比不到鍵QUESTION_{HASH},既有那一筆被當成新的附加上去,同一個存取庫在頁面上出現兩次,舊區塊從此再也更新不到。## QUESTION_{HASH}那一行、一個空行,再接三條欄位 bullet。gitea/tools/wiki-contents.sh一處。測試結果
git status --porcelain在提交後無輸出,git log --oneline origin/develop..HEAD只有本輪的 commit,工作區乾淨。jsc-hooks/hooks/comment-scope.sh sweep在提交前執行,結束碼 0,無命中。變更檔案全是 markdown 與 json,本來就不在該規則的掃描範圍內。gitea那一支的離線驗證check-contents-format.sh負責,本存取庫沒有可獨立驗證的執行路徑。前置 Push Request
gitea/tools/wiki-contents.sh,本存取庫只改敘述與範本。前置未合就先部署本存取庫,範本組出來的 H2 區塊會被舊版工具當成表格列附加到表格後面。What: 把問詢目錄頁 `QUESTION_CONTENTS` 的呈現格式從 markdown 表格改成條列式——每個存取庫一個 H2 區塊,H2 標題就是該存取庫問詢紀錄頁的頁名 `QUESTION_{HASH}`,欄位改成標題底下一層條列 `- {欄位名}:{值}`,順序維持存取庫名稱、問詢紀錄、最後更新,整頁不再留任何 markdown 表格。同一輪把 `wiki-contents.sh upsert QUESTION` 的呼叫參數從 `1 {owner}/{repo}` 改成 `2 QUESTION_{HASH}`。改動落在 `templates/question-contents.md` 的版面與參數語意、`skills/ask/SKILL.md` 與 `references/behaviors.md` 的步驟敘述與可驗證跡象,以及 `README.md` 的技能描述。 Why: 表格版面一列塞滿所有欄位,欄位一長就難讀,每一筆的鍵也埋在儲存格裡;改成一筆一個 H2 區塊之後,鍵就是標題文字,人與工具都直接看得出哪一筆對應哪一個內容頁。`key-col` 原本填 `1`,指到的是純文字的存取庫名稱欄:舊表格自動轉條列時,工具會拿那一欄的連結產生 H2 標題,填 `1` 只會做出 `## plugins/meta` 這種標題,比不到鍵 `QUESTION_{HASH}`,既有那一筆會被當成新的附加上去,同一個存取庫在頁面上出現兩個區塊,舊區塊從此再也更新不到。 How: `templates/question-contents.md` 的範本主體從表頭加資料列換成 `## QUESTION_{HASH}` 加三條 bullet,引言補上版面段與參數語意段,寫明 `{key}` 是 H2 標題文字、第四個參數帶的是整個區塊的 markdown 而不是單列。`skills/ask/SKILL.md` 把目錄頁那幾條的 row 敘述全部改成 block,呼叫式改為 `upsert QUESTION 2 QUESTION_{HASH} {block-file} templates/question-contents.md`,並說明 `key-col` 為什麼固定是 `2`、填 `1` 會壞成什麼樣,另外在 `wiki-contents.sh` 退 1 的分支補上「頁面上還沒有自己那個區塊不算失敗,那是附加的情形」。`references/behaviors.md` 的關鍵步驟補上區塊檔的組法與參數語意,外部呼叫改成單一 H2 區塊的讀取、合併、寫回,可驗證跡象改成檢查該區塊三條 bullet 的齊全度、順序、全形冒號與整頁不留表格,並補上舊表格轉條列後 H1 與 `>` 引言原樣保留、原有資料一筆不少。`README.md` 的技能描述同步改成條列式的說法。實際的轉檔與 upsert 邏輯在另一個存取庫的 `gitea/tools/wiki-contents.sh`,本存取庫只調整敘述與範本。 Who: 屬於 wiki 目錄頁一律改條列式呈現的需求,`ask` 這一支負責 `QUESTION_CONTENTS` 的範本與敘述。`key-col` 修正是同一個需求能正確落地的必要條件,且與版面敘述改在同一段文字上,無法拆成獨立提交。