Markdown parser done right.
- Follows the CommonMark spec for baseline parsing
- Configurable syntax: you can add new rules and even replace existing ones.
- Pluggable: Adds syntax extensions to extend the parser (see the plugin list).
- High speed (see our benchmarking tests)
- Safe by default
This is a Python port of markdown-it, and some of its associated plugins. For more details see: https://markdown-it-py.readthedocs.io.
For details on markdown-it itself, see:
conda install -c conda-forge markdown-it-py
or
pip install markdown-it-py
from markdown_it import MarkdownIt
from markdown_it.extensions.front_matter import front_matter_plugin
from markdown_it.extensions.footnote import footnote_plugin
md = (
MarkdownIt()
.use(front_matter_plugin)
.use(footnote_plugin)
.disable('image')
.enable('table')
)
text = ("""
---
a: 1
---
a | b
- | -
1 | 2
A footnote [^1]
[^1]: some details
""")
tokens = md.parse(text)
html_text = md.render(text)
Also you can use it from the command-line:
$ markdown-it
markdown-it-py [version 0.1.0] (interactive)
Type Ctrl-D to complete input, or Ctrl-C to exit.
>>> > **hallo** there!
...
<blockquote>
<p><strong>hallo</strong> there!</p>
</blockquote>
Big thanks to the authors of markdown-it:
- Alex Kocharin github/rlidwka
- Vitaly Puzrin github/puzrin
Also John MacFarlane for his work on the CommonMark spec and reference implementations.