From 541235354210522f67af8ff2dc03dfa5216bca20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Mazzucotelli?= Date: Thu, 13 Jun 2024 17:23:13 +0200 Subject: [PATCH] feat: Allow excluding assets when rendering Pyodide fence --- docs/usage/pyodide.md | 22 +++++++++++++++++++++- src/markdown_exec/formatters/pyodide.py | 10 ++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/docs/usage/pyodide.md b/docs/usage/pyodide.md index e4382ad..425c51a 100644 --- a/docs/usage/pyodide.md +++ b/docs/usage/pyodide.md @@ -81,4 +81,24 @@ import griffe import dependenpy print("OK!") ``` -```` \ No newline at end of file +```` + +## Excluding assets + +When you add a Pyodide fence to a page, +Markdown Exec will inject ` +""" +template = """
Editor (session: %(session)s)%(play_emoji)s Run @@ -46,6 +48,7 @@ def _format_pyodide(code: str, md: Markdown, session: str, extra: dict, **option _counter += 1 install = extra.pop("install", "") install = install.split(",") if install else [] + exclude_assets = extra.pop("assets", "1").lower() in {"0", "false", "no", "off"} theme = extra.pop("theme", "tomorrow,tomorrow_night") if "," not in theme: theme = f"{theme},{theme}" @@ -60,4 +63,7 @@ def _format_pyodide(code: str, md: Markdown, session: str, extra: dict, **option "play_emoji": play_emoji, "clear_emoji": clear_emoji, } - return template % data + rendered = template % data + if exclude_assets: + return rendered + return assets + rendered