fix(478-2 문서 사이트): TS 함수 화면 = TypeDoc HTML(structure) — markdown 판의 배열 타입 꼴이 링크로 오인돼 strict 빨강 · 파이썬 설명 없는 함수도 화면에

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-19 18:59:49 +09:00
co-authored by Claude Opus 5.5
parent 2e6086c5ee
commit b381c2f677
4 changed files with 10 additions and 22 deletions
+1
View File
@@ -27,6 +27,7 @@ plugins:
heading_level: 2
members_order: source
filters: []
show_if_no_docstring: true
docstring_style: null
show_signature_annotations: true
separate_signature: true
+8 -8
View File
@@ -5,7 +5,7 @@
<페이지>/index.md 개요 · 묶음 상자 · 묶음 사이 흐름 그림 · 손글(규칙 · 사용자 결정)
<페이지>/<묶음>.md 손글 설명 · 묶음 안 흐름 그림 · 세션 칸 · 서버 주소 · 함수 칸
<페이지>/none.md 묶음 없음
ts/ · py/ 함수 화면 — TypeDoc(markdown) · mkdocstrings(griffe)가 만듦
ts/ · py/ 함수 화면 — TypeDoc(HTML) · mkdocstrings(griffe)가 만듦
.nav.json 왼쪽 메뉴(nav_hook.py 가 읽음)
함수 목록 지문이 손글 지문과 다른 묶음 = 「설명 확인 필요」 · 맞으면 --stamp.
@@ -72,18 +72,17 @@ def stamp(path: Path, print_: str) -> None:
def run_typedoc(ts_files: list[str], out: Path) -> dict[tuple[str, str], str]:
"""TypeDoc 으로 ts/ 함수 화면 · (파일, 이름) → 원고 안 경로."""
"""TypeDoc HTML 로 ts/ 함수 화면 · (파일, 이름) → 원고 안 경로."""
if not ts_files:
return {}
opts = {
"entryPoints": [(ROOT / f).as_posix() for f in ts_files],
"tsconfig": (ROOT / "tsconfig.json").as_posix(),
"skipErrorChecking": True,
"plugin": ["typedoc-plugin-markdown"],
"router": "structure",
"out": (out / "src" / "ts").as_posix(),
"json": (out / "typedoc.json").as_posix(),
"readme": "none",
"entryFileName": "index.md",
"logLevel": "Error",
}
opt_file = out / "typedoc.options.json"
@@ -105,9 +104,8 @@ def typedoc_pages(out: Path) -> dict[tuple[str, str], str]:
for mod in modules:
base = f"ts/{mod['name']}/" if mod["name"] else "ts/"
for c in mod.get("children", []):
folder = {64: "functions", 32: "variables"}.get(c["kind"])
if folder and c.get("sources"):
rel = f"{base}{folder}/{c['name']}.md"
if c["kind"] in (64, 32) and c.get("sources"):
rel = f"{base}{c['name']}.html"
if (out / "src" / rel).exists():
pages[(c["sources"][0]["fileName"], c["name"])] = rel
return pages
@@ -388,7 +386,9 @@ class Site:
self.gid.update({f["id"]: gid for gid, fns in groups.items() for f in fns})
nav.append({page["title"]: self.write_page(page, groups)})
home.append(f"- [{page['title']}]({page['id']}/index.md)")
ts_nav = [{"TypeScript": "ts/index.md"}] if (self.src / "ts" / "index.md").exists() else []
ts_nav = (
[{"TypeScript": "ts/index.html"}] if (self.src / "ts" / "index.html").exists() else []
)
nav.append({"함수 화면": [*ts_nav, {"파이썬": "py/index.md"}]})
(self.src / "index.md").write_text("\n".join(home) + "\n", encoding="utf-8")
(self.src / ".nav.json").write_text(json.dumps(nav, ensure_ascii=False), encoding="utf-8")
-13
View File
@@ -8,7 +8,6 @@
"dependencies": {
"ts-morph": "^28.0.0",
"typedoc": "^0.28.20",
"typedoc-plugin-markdown": "^4.14.0",
"typescript": "6.0"
}
},
@@ -306,18 +305,6 @@
"typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x"
}
},
"node_modules/typedoc-plugin-markdown": {
"version": "4.14.0",
"resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-4.14.0.tgz",
"integrity": "sha512-Y2a3oDV9ekrbkk6RBSGH8GyNkh0xIdemIOOTr3tiRN/33nvFGStOs9nw+6Q84gF1XFkcVZrgM4Ckcsf6e/YpKQ==",
"license": "MIT",
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"typedoc": "0.28.x"
}
},
"node_modules/typescript": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
+1 -1
View File
@@ -1 +1 @@
{"name":"aislo-docs-tools","private":true,"type":"module","dependencies":{"ts-morph":"^28.0.0","typedoc":"^0.28.20","typedoc-plugin-markdown":"^4.14.0","typescript":"6.0"}}
{"name":"aislo-docs-tools","private":true,"type":"module","dependencies":{"ts-morph":"^28.0.0","typedoc":"^0.28.20","typescript":"6.0"}}