Home / Function/ on_page_markdown() — fastapi Function Reference

on_page_markdown() — fastapi Function Reference

Architecture documentation for the on_page_markdown() function in mkdocs_hooks.py from the fastapi codebase.

Entity Profile

Dependency Diagram

graph TD
  331ccf21_aeb9_a5b0_5b21_4e6f6a898a2f["on_page_markdown()"]
  566dbae4_46de_4e4a_0ed4_0c59e40fbcf8["mkdocs_hooks.py"]
  331ccf21_aeb9_a5b0_5b21_4e6f6a898a2f -->|defined in| 566dbae4_46de_4e4a_0ed4_0c59e40fbcf8
  043087c7_6695_9726_c840_836c4f8045e9["get_missing_translation_content()"]
  331ccf21_aeb9_a5b0_5b21_4e6f6a898a2f -->|calls| 043087c7_6695_9726_c840_836c4f8045e9
  89f35cca_48c0_852c_b202_88588d0b7431["get_translation_banner_content()"]
  331ccf21_aeb9_a5b0_5b21_4e6f6a898a2f -->|calls| 89f35cca_48c0_852c_b202_88588d0b7431
  style 331ccf21_aeb9_a5b0_5b21_4e6f6a898a2f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

scripts/mkdocs_hooks.py lines 143–182

def on_page_markdown(
    markdown: str, *, page: Page, config: MkDocsConfig, files: Files
) -> str:
    # Set metadata["social"]["cards_layout_options"]["title"] to clean title (without
    # permalink)
    title = page.title
    clean_title = title.split("{ #")[0]
    if clean_title:
        page.meta.setdefault("social", {})
        page.meta["social"].setdefault("cards_layout_options", {})
        page.meta["social"]["cards_layout_options"]["title"] = clean_title

    if isinstance(page.file, EnFile):
        for excluded_section in non_translated_sections:
            if page.file.src_path.startswith(excluded_section):
                return markdown
        missing_translation_content = get_missing_translation_content(config.docs_dir)
        header = ""
        body = markdown
        if markdown.startswith("#"):
            header, _, body = markdown.partition("\n\n")
        return f"{header}\n\n{missing_translation_content}\n\n{body}"

    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}"

Domain

Subdomains

Frequently Asked Questions

What does on_page_markdown() do?
on_page_markdown() is a function in the fastapi codebase, defined in scripts/mkdocs_hooks.py.
Where is on_page_markdown() defined?
on_page_markdown() is defined in scripts/mkdocs_hooks.py at line 143.
What does on_page_markdown() call?
on_page_markdown() calls 2 function(s): get_missing_translation_content, get_translation_banner_content.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free