feat(wiki-url): 新增 wiki 頁絕對網址子指令,供跨存取庫連結使用

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-24 18:54:19 +08:00
co-authored by Claude Opus 5
parent a887ee772b
commit f8a62b8068
+16
View File
@@ -138,6 +138,22 @@ import json,sys,base64
d=json.load(sys.stdin) d=json.load(sys.stdin)
sys.stdout.write(base64.b64decode(d.get("content_base64","")).decode("utf-8")) sys.stdout.write(base64.b64decode(d.get("content_base64","")).decode("utf-8"))
' ;; ' ;;
wiki-url)
# 印出 wiki 頁的絕對網址,取自 API 回應的 html_url,不自行組路徑。
# 跨存取庫連結(例如 LOG 頁連到 PLAN 頁,而兩者的 JSC_WIKI_REPO_{TYPE} 不同)
# 只有絕對網址會通:[[頁名]] 與 markdown 相對連結都只在同一個 wiki 內解析。
or="${1:?owner/repo required}"; page="${2:?page required}"
if ! out=$(req GET "/repos/$or/wiki/page/$page" 2>/dev/null); then
echo "wiki page not found: $page" >&2; exit 4
fi
url=$(printf '%s' "$out" | python3 -c '
import json,sys
sys.stdout.write(json.load(sys.stdin).get("html_url") or "")
')
if [ -z "$url" ]; then
echo "wiki page has no html_url: $page" >&2; exit 5
fi
printf '%s\n' "$url" ;;
wiki-put) wiki-put)
or="${1:?owner/repo required}"; page="${2:?page required}"; file="${3:?content file required}" or="${1:?owner/repo required}"; page="${2:?page required}"; file="${3:?content file required}"
tmp=$(mktemp) tmp=$(mktemp)