From 9730ff3a259d6a465d657c610b0c28220d5fd450 Mon Sep 17 00:00:00 2001 From: InSync Date: Sat, 18 Jan 2025 11:39:23 +0700 Subject: [PATCH] Generate documentation redirects for lowercase rule codes (#15564) ## Summary Resolves #15016. ## Test Plan Generate the docs with: ```console uv run --with-requirements docs/requirements-insiders.txt scripts/generate_mkdocs.py ``` and, check whether the mapping was created in `mkdocs.generated.yml` and run the server using: ```console uvx --with-requirements docs/requirements-insiders.txt -- mkdocs serve -f mkdocs.insiders.yml -o ``` --- scripts/generate_mkdocs.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/generate_mkdocs.py b/scripts/generate_mkdocs.py index a90d85b7fd..54e224cd66 100644 --- a/scripts/generate_mkdocs.py +++ b/scripts/generate_mkdocs.py @@ -8,6 +8,7 @@ import re import shutil import subprocess from collections.abc import Sequence +from itertools import chain from pathlib import Path from typing import NamedTuple @@ -257,10 +258,18 @@ def main() -> None: config["plugins"].append( { "redirects": { - "redirect_maps": { - f"rules/{rule['code']}.md": f"rules/{rule['name']}.md" - for rule in rules - }, + "redirect_maps": dict( + chain.from_iterable( + [ + (f"rules/{rule['code']}.md", f"rules/{rule['name']}.md"), + ( + f"rules/{rule['code'].lower()}.md", + f"rules/{rule['name']}.md", + ), + ] + for rule in rules + ) + ), }, }, )