Release 0.3.8: translit wiki slugs and relative md links
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user