取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與 「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上 看起來像普通文字或死連結,巡不到也修不了。 連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API, 不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把 好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁 整批判死。
2.0 KiB
報表目錄
由
jsc-log:report維護。年、月、週、日各一頁;HASH取{owner}/{repo}/{期間}的完整 40 碼大寫十六進位 SHA-1,算法與其他頁面共用,但這裡的{owner}/{repo}取 REPORT wiki 存取庫,不是程式碼存取庫。 本頁落在JSC_WIKI_REPO_CONTENTS解出的專用存取庫,報表頁REPORT_{HASH}落在JSC_WIKI_REPO_REPORT的存取庫,兩者分屬不同 wiki。 連結寫法:報表頁那一欄寫成[{頁名}]({絕對網址}),網址取自jsc-gitea/tools/gitea.sh wiki-url,不用[[...]]。兩頁分屬不同存取庫,[[...]]連不過去,畫面上還看不出壞掉。 連結驗證:每個要寫進本頁的連結先交給jsc-gitea/tools/link-check.sh,退出碼 0 才寫入。出現 DEAD 就不寫,把連不到的那幾筆回報給呼叫端。 寫入語意:一列代表一個報表頁,也就是一個存取庫的一種期間。一律用jsc-gitea/tools/wiki-contents.sh upsert REPORT 2 {HASH} {列檔} {本範本}單列整頁寫回——它讀整頁、找得到該報表頁既有的那一列就換掉那一列,找不到才附加。 鍵取第 2 欄的裸 HASH,不取第 1 欄的連結。第 1 欄的連結帶著主機名與頁名編碼,GITEA_HOST一換或 Gitea 對頁名的編碼有差,連結就跟上一輪寫的不一樣,鍵比不到就走附加,同一個報表頁多出第二列,舊列從此不再更新。裸 HASH 不受這兩件事影響。 但JSC_WIKI_REPO_REPORT改指別的存取庫是另一回事:HASH 本身就取自 REPORT wiki 存取庫,換庫等於換頁,四個期間會各多一列。那是換庫的本意,不是鍵失準,舊列請人工清掉。 禁止整頁覆蓋,也不得改動別人的列。
| 報表頁 | HASH | 期間 | 最新一期 | 期數 | 最後更新 |
|---|---|---|---|---|---|
| REPORT_{HASH} | {HASH} | {daily、weekly、monthly、yearly 四選一} | {最新一期的標籤} | {n} | {yyyy-MM-dd HH:mm} |