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

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

1.5 KiB

問詢目錄

由 jsc-ask:ask 維護。這是問詢目錄頁 QUESTION_CONTENTS,落在 JSC_WIKI_REPO_CONTENTS 解出的專用存取庫,和問詢紀錄頁不同庫。每個存取庫一列;QUESTION_{HASH} 的 {HASH} 執行 jsc-gitea/tools/hash-id {owner}/{repo} 取得,原樣採用它印出的完整 40 碼大寫十六進位,不截短、不加前綴(共用 wiki hash 規則,演算法見 jsc-meta 的 references/guidelines.md)。

寫入語意:一列代表一個存取庫。一律用 jsc-gitea/tools/wiki-contents.sh upsert 寫入:它讀回整頁,該存取庫已經有列就更新那一列,沒有才在文末附加一列,最後整頁寫回。只動自己那一列,禁止整頁覆蓋,也不得改動別人的列。

連結寫法:問詢紀錄那一欄一律寫成 [{文字}]({連結}),連結取自 jsc-gitea/tools/gitea.sh wiki-url 印出的絕對網址,不自行組路徑。兩頁分屬不同存取庫,只有絕對網址連得過去。

連結驗證:這一列寫進頁面前,先把該列的每一個連結交給 jsc-gitea/tools/link-check.sh,結束碼 0 才寫入。有任一筆 DEAD 就整列不寫,把連不到的清單回報給呼叫端。結束碼 3 代表 GITEA_HOST 沒設定,先設定再驗證,不得跳過;結束碼 7 代表金鑰失效,停下來回報,別把還在的頁當成死連結。

存取庫名稱 問詢紀錄 最後更新
{owner}/{repo} [QUESTION_{HASH}]({wiki-url 印出的絕對網址}) {yyyy-MM-dd HH:mm}