diff --git a/docs/_scripts/notebook_hooks.py b/docs/_scripts/notebook_hooks.py index 3071c68c7..2ea18a414 100644 --- a/docs/_scripts/notebook_hooks.py +++ b/docs/_scripts/notebook_hooks.py @@ -15,8 +15,8 @@ from mkdocs.structure.files import Files, File from mkdocs.structure.pages import Page from _scripts.generate_api_reference_links import update_markdown_with_imports -from _scripts.notebook_convert import convert_notebook from _scripts.link_map import JS_LINK_MAP +from _scripts.notebook_convert import convert_notebook logger = logging.getLogger(__name__) logging.basicConfig() @@ -187,7 +187,7 @@ def _resolve_cross_references(md_text: str, link_map: dict[str, str]) -> str: def _apply_conditional_rendering(md_text: str, target_language: str) -> str: - if target_language not in {"python", "js"}: + if target_language not in {"python", "js", "switcher"}: raise ValueError("target_language must be 'python' or 'js'") pattern = re.compile( @@ -201,10 +201,15 @@ def _apply_conditional_rendering(md_text: str, target_language: str) -> str: language = match.group("language") content = match.group("content") - if language not in {"python", "js"}: + if language not in {"python", "js", "switcher"}: # If the language is not supported, return the original block return match.group(0) + if target_language == "switcher": + # Both Python and JavaScript blocks are wrapped in a tag that + # allows the user to switch between them. + return f'