admonition extension returns invalid html code without blank line. · Issue #1329 · Python-Markdown/markdown (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@lmende

Description

@lmende

In [8]: import markdown In [9]: some_text = """ ...: !!! danger "Danger" ...: don't try this at home. ...: ...: """ In [10]: markdown.markdown(some_text, tab_length=2, extensions=['admonition']) Out[10]: '

\n

Danger

don't try this at home.

\n

\n
'

  1. A paragraph inside a paragraph is invalid html and etree parser complains!
  2. the simple solution of turning the title paragraph into a div will work, but it wraps the inner paragraph, resulting in a CSS mess.

Recommended working solution:

 CLASSNAME_TITLE = 'admonition-title'

@@ -130,9 +134,11 @@ class AdmonitionProcessor(BlockProcessor): div = etree.SubElement(parent, 'div') div.set('class', '{} {}'.format(self.CLASSNAME, klass)) if title:

Note: the parse_content() method of your admonition extension is an unreadable code-mess ;-)