feat/link-verification/main
develop
[{文字}]({連結})
[[...]]
tools/link-check.sh
references/wiki-links.md
skills/wiki/SKILL.md
skills/html-export/SKILL.md
skills/wiki-to-issue/SKILL.md
tools/gitea.sh
wiki-url
README.md
references/behaviors.md
link-check.sh
check-link-format.sh
GITEA_HOST
--connect-timeout 5
sh -n
check-wiki-rules.sh
check-behaviors.sh
lint-scripts.sh
ste100-lint.sh
取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與 「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上 看起來像普通文字或死連結,巡不到也修不了。 連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API, 不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把 好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁 整批判死。
No dependencies set.
The note is not visible to the blocked user.
摘要
[{文字}]({連結}),取消[[...]]同 wiki 寫法。其二,連結先驗證連得到,才可以寫進文件。變更內容
tools/link-check.shreferences/wiki-links.mdskills/wiki/SKILL.mdskills/html-export/SKILL.md、skills/wiki-to-issue/SKILL.mdtools/gitea.shwiki-url的註解還在教人分兩種寫法README.md、references/behaviors.md設計重點
link-check.sh的結束碼 7(認證失敗)與 1(有死連結)分開。金鑰失效時 Gitea 對私有存取庫的回應與「頁不存在」難以分辨,混用會讓一次金鑰過期把整批還在的頁判死,接著被當成壞連結刪掉或改寫。check-link-format.sh會先剝掉再判定,不會誤判。測試結果
link-check.sh實測七種情境:存在的頁回 OK 與 0、不存在回 DEAD 與 1、私有庫的頁走 API 判 OK(同一個網址在瀏覽器未登入是 404,這是本次規則的核心案例)、stdin 混合兩筆回 1、不給參數回 2、GITEA_HOST未設定回 3、假金鑰回 SKIP 與 7。--connect-timeout 5:主機不通時由最壞 40 秒降到 10 秒,實測確認。sh -n、check-wiki-rules.sh、check-link-format.sh、check-behaviors.sh、lint-scripts.sh、ste100-lint.sh全部結束碼 0。前置 Push Request