lepture/mistune

parse -> render loop creates extra newlines after headings

Opened this issue · 0 comments

MWE:

import mistune
from mistune.core import BlockState
from mistune.renderers.markdown import MarkdownRenderer

# format_markdown = mistune.create_markdown(renderer=MarkdownRenderer())
markdown = mistune.create_markdown(renderer="ast")


md = "## Lorem\nipsum"
tokens = markdown(md)

from rich import print
print(tokens)

renderer = MarkdownRenderer()
print()
print(repr(renderer(tokens, state=BlockState())))

Output:

[
    {
        'type': 'heading',
        'attrs': {'level': 2},
        'style': 'axt',
        'children': [{'type': 'text', 'raw': 'Lorem'}]
    },
    {'type': 'paragraph', 'children': [{'type': 'text', 'raw': 'ipsum'}]}
]
'## Lorem\n\nipsum\n'

Expected output:

'## Lorem\nipsum\n'