取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與 「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上 看起來像普通文字或死連結,巡不到也修不了。 連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API, 不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把 好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁 整批判死。
2.5 KiB
體檢目錄
由
jsc-cli:doctor維護。每台執行環境一列;HASH取{短主機名}/{登入帳號},算法與其他頁面共用。主機名取不含網域的短名,FQDN 要先切掉第一個點之後的部分,否則同一台機器會多出第二頁。本頁落在
JSC_WIKI_REPO_CONTENTS解出的專用存取庫,與體檢頁CHECK_{HASH}不同庫。目錄頁全部住這裡,不退回JSC_WIKI_REPO_CHECK。寫入語意:一列代表一台執行環境,也就是一組主機加帳號。一律用
jsc-gitea/tools/wiki-contents.sh upsert CHECK 4 {HASH} {列檔} {本範本}寫,它先讀回整頁,該執行環境已經有列就更新那一列,沒有才在表尾附加一列。禁止整頁覆蓋,也不得改動別人的列。體檢頁CHECK_{HASH}只留最新一次結果、可以整頁改寫,這份目錄頁不行。鍵是第 4 欄的
HASH:jsc-gitea/tools/hash-id印出什麼就填什麼,完整 40 碼大寫十六進位,不截短、不加前綴、不包成連結。腳本比對的是整格文字,鍵一定要跟這一格一字不差。鍵用裸
HASH才穩。GITEA_HOST換掉、JSC_WIKI_REPO_CHECK換過存取庫、Gitea 對頁名的網址編碼有差,網址就跟著變;拿含網址的儲存格當鍵,比對就永遠比不中,同一台機器每體檢一次就多附一列,畫面上還看不出來。連結寫法:第 1 欄的連結只給人點,不當鍵用。一律寫成
[{文字}]({連結}),也就是[CHECK_{HASH}]({wiki-url 印出的絕對網址}),網址取jsc-gitea/tools/gitea.sh wiki-url印出的那一串,不自己組路徑。同 wiki 的雙括號寫法一概不用:兩頁分屬不同存取庫,連不過去,畫面上還看不出壞掉。連結驗證:這一列要寫進去的每一個連結,先交給
jsc-gitea/tools/link-check.sh,結束碼 0 才寫。有任何一筆 DEAD 就整列不寫,把連不到的清單回報給呼叫端。結束碼 3 代表GITEA_HOST沒設定,先設好再寫,不得跳過驗證;結束碼 7 代表金鑰失效,停下來回報金鑰問題,不要當成死連結。驗證一律走 API,不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把好連結判成壞的,整批砍掉還在的頁。
| 體檢頁 | 主機 | 帳號 | HASH | 必要項缺漏 | 設定錯誤 | 最後體檢 |
|---|---|---|---|---|---|---|
| [CHECK_{HASH}]({wiki-url 印出的絕對網址}) | {短主機名} | {使用者帳號} | {HASH} | {n} | {n} | {yyyy-MM-dd HH:mm} |