From fc19c4961a6f9eaefbc7e9dec12c2f25f9ba5d48 Mon Sep 17 00:00:00 2001 From: Matthew Martin Date: Fri, 9 Jun 2023 19:24:32 -0400 Subject: [PATCH] fix: renderer="ast" same as render=None (#351) --- docs/upgrade.rst | 4 ++-- src/mistune/__init__.py | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/upgrade.rst b/docs/upgrade.rst index 232bd7d..3604227 100644 --- a/docs/upgrade.rst +++ b/docs/upgrade.rst @@ -33,11 +33,11 @@ When customizing renderers, these methods' parameters are changed: AstRenderer ~~~~~~~~~~~ -There is no ``AstRenderer`` in v3, just pass ``None`` to ``create_markdown``:: +There is no ``AstRenderer`` in v3, just pass ``None`` or ``'ast'`` to ``create_markdown``:: import mistune - md = mistune.create_markdown(renderer=None) + md = mistune.create_markdown(renderer='ast') # or render=None md('...markdown text...') Plugins diff --git a/src/mistune/__init__.py b/src/mistune/__init__.py index d225478..49a6c48 100644 --- a/src/mistune/__init__.py +++ b/src/mistune/__init__.py @@ -34,7 +34,10 @@ def create_markdown(escape: bool=True, hard_wrap: bool=False, renderer='html', p # re-use markdown function markdown('.... your text ...') """ - if renderer == 'html': + if renderer == 'ast': + # explicit and more similar to 2.x's API + renderer = None + elif renderer == 'html': renderer = HTMLRenderer(escape=escape) inline = InlineParser(hard_wrap=hard_wrap) @@ -53,6 +56,9 @@ def create_markdown(escape: bool=True, hard_wrap: bool=False, renderer='html', p def markdown(text, escape=True, renderer='html', plugins=None) -> str: + if renderer == 'ast': + # explicit and more similar to 2.x's API + renderer = None key = (escape, renderer, plugins) if key in __cached_parsers: return __cached_parsers[key](text)