Files
log/templates/learn-contents.md
T
jiantw83 2c085d68ef feat(link): 連結一律寫成 [文字](絕對網址),寫入前先驗證連得到
取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與
「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上
看起來像普通文字或死連結,巡不到也修不了。

連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API,
不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把
好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁
整批判死。
2026-09-02 14:27:18 +08:00

1.4 KiB

教訓目錄

由 jsc-log:learn 維護。這是教訓目錄頁 LEARN_CONTENTS。每個存取庫一列;LEARN_{HASH} 的 {HASH} 依共用 wiki hash 規則產生:取 {owner}/{repo} 的完整 SHA-1 四十碼,a-f 轉大寫,不截短、不加前綴。 本頁落在 JSC_WIKI_REPO_CONTENTS 解出的專用存取庫,教訓頁 LEARN_{HASH} 落在 JSC_WIKI_REPO_LEARN 的存取庫,兩者分屬不同 wiki。 連結寫法:教訓紀錄那一欄寫成 [{頁名}]({絕對網址}),網址取自 jsc-gitea/tools/gitea.sh wiki-url,不用 [[...]]。兩頁分屬不同存取庫,[[...]] 連不過去,畫面上還看不出壞掉。 連結驗證:每個要寫進本頁的連結先交給 jsc-gitea/tools/link-check.sh,退出碼 0 才寫入。出現 DEAD 就不寫,把連不到的那幾筆回報給呼叫端。 寫入語意:一列代表一個存取庫。一律用 jsc-gitea/tools/wiki-contents.sh upsert LEARN 1 {owner}/{repo} {列檔} {本範本} 單列整頁寫回——它讀整頁、找得到該存取庫既有的那一列就換掉那一列,找不到才附加。 鍵取第 1 欄的存取庫名稱,不取第 2 欄的連結。存取庫名稱每一輪都一樣,連結會隨主機名與頁名編碼變動。 禁止整頁覆蓋,也不得改動別人的列。

存取庫名稱 教訓紀錄 最後更新時間
{owner}/{repo} LEARN_{HASH} {yyyy-MM-dd HH:mm}