Fix search links

This commit is contained in:
Stavros Korokithakis 2022-01-18 18:17:13 +02:00
parent ce1c683b99
commit fa44220edf
No known key found for this signature in database
GPG Key ID: 26EA345ECD4C2A63

View File

@ -2,6 +2,7 @@
""" """
Rename files like `foo/bar.html` to `foo/bar/index.html` for prettier URLs. Rename files like `foo/bar.html` to `foo/bar/index.html` for prettier URLs.
""" """
import json
import re import re
import sys import sys
from pathlib import Path from pathlib import Path
@ -140,6 +141,23 @@ def replace_links(path: Path, replacements: Dict[str, str]):
f.write(contents) f.write(contents)
def fix_search_links(path: Path):
"""Rename search links to remove the ".html" suffix."""
with (path / "searchindex.json").open() as infile:
index = json.load(infile)
doc_urls = [url.replace(".html", "/") for url in index["doc_urls"]]
index["doc_urls"] = doc_urls
index_json = json.dumps(index).strip()
with (path / "searchindex.json").open("w") as outfile:
outfile.write(index_json)
with (path / "searchindex.js").open("w") as outfile:
outfile.write(f"Object.assign(window.search, {index_json});")
def main(path: Path): def main(path: Path):
path = path.resolve() path = path.resolve()
convert_relative_to_absolute(path) convert_relative_to_absolute(path)
@ -166,6 +184,9 @@ def main(path: Path):
replace_links(path, replacements) replace_links(path, replacements)
print("Rewriting search links...")
fix_search_links(path)
if __name__ == "__main__": if __name__ == "__main__":
main(Path(sys.argv[1])) main(Path(sys.argv[1]))