Release 0.3.8: translit wiki slugs and relative md links

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-07-29 11:12:38 +03:00
parent 98cbb88461
commit 7dd699dab5
6 changed files with 105 additions and 48 deletions
+10 -5
View File
@@ -216,19 +216,24 @@ def discover_help_pages(
return pages
def build_link_title_map(pages: list[HelpPage], titles: dict[str, str]) -> dict[str, str]:
def build_link_map(
pages: list[HelpPage],
titles: dict[str, str],
files: dict[str, str],
) -> dict[str, tuple[str, str]]:
"""
meta_key / alias → wiki title for href rewrite.
meta_key / alias → (wiki title, filename) for href rewrite.
Leaf aliases (Subsystem.X) are registered only when unique.
"""
result: dict[str, str] = {}
result: dict[str, tuple[str, str]] = {}
alias_owners: dict[str, list[str]] = {}
for p in pages:
result[p.meta_key] = titles[p.meta_key]
result[p.meta_key] = (titles[p.meta_key], files[p.meta_key])
for alias in p.link_aliases:
alias_owners.setdefault(alias, []).append(p.meta_key)
for alias, owners in alias_owners.items():
if len(owners) == 1:
result[alias] = titles[owners[0]]
key = owners[0]
result[alias] = (titles[key], files[key])
return result