mirror of
https://github.com/fastapi/fastapi.git
synced 2026-05-24 08:16:11 -04:00
📝 Add banner to translated pages (#14809)
* Add banner to translated pages * Add link to English version. Use modern syntax for details block * 🎨 Auto format * Move `translation-banner.md` inside `docs` directory * 🎨 Auto format --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
@@ -26,6 +26,17 @@ def get_missing_translation_content(docs_dir: str) -> str:
|
||||
return missing_translation_path.read_text(encoding="utf-8")
|
||||
|
||||
|
||||
@lru_cache
|
||||
def get_translation_banner_content(docs_dir: str) -> str:
|
||||
docs_dir_path = Path(docs_dir)
|
||||
translation_banner_path = docs_dir_path / "translation-banner.md"
|
||||
if not translation_banner_path.is_file():
|
||||
translation_banner_path = (
|
||||
docs_dir_path.parent.parent / "en" / "docs" / "translation-banner.md"
|
||||
)
|
||||
return translation_banner_path.read_text(encoding="utf-8")
|
||||
|
||||
|
||||
@lru_cache
|
||||
def get_mkdocs_material_langs() -> list[str]:
|
||||
material_path = Path(material.__file__).parent
|
||||
@@ -151,4 +162,21 @@ def on_page_markdown(
|
||||
if markdown.startswith("#"):
|
||||
header, _, body = markdown.partition("\n\n")
|
||||
return f"{header}\n\n{missing_translation_content}\n\n{body}"
|
||||
return markdown
|
||||
|
||||
docs_dir_path = Path(config.docs_dir)
|
||||
en_docs_dir_path = docs_dir_path.parent.parent / "en/docs"
|
||||
|
||||
if docs_dir_path == en_docs_dir_path:
|
||||
return markdown
|
||||
|
||||
# For translated pages add translation banner
|
||||
translation_banner_content = get_translation_banner_content(config.docs_dir)
|
||||
en_url = "https://fastapi.tiangolo.com/" + page.url.lstrip("/")
|
||||
translation_banner_content = translation_banner_content.replace(
|
||||
"ENGLISH_VERSION_URL", en_url
|
||||
)
|
||||
header = ""
|
||||
body = markdown
|
||||
if markdown.startswith("#"):
|
||||
header, _, body = markdown.partition("\n\n")
|
||||
return f"{header}\n\n{translation_banner_content}\n\n{body}"
|
||||
|
||||
Reference in New Issue
Block a user