single |
# markdown-it-py
[![Github-CI][github-ci]][github-link]
[![Coverage Status][codecov-badge]][codecov-link]
[![PyPI][pypi-badge]][pypi-link]
[![Conda][conda-badge]][conda-link]
[![PyPI - Downloads][install-badge]][install-link]
[image]
> 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][md-plugins]).
- High speed (see our [benchmarking tests][md-performance])
- Easy to configure for [security][md-security]
- Member of [Google's Assured Open Source Software]
This is a Python port of [markdown-it], and some of its associated plugins.
For more details see: .
For details on [markdown-it] itself, see:
- The __[Live demo]__
- [The markdown-it README][markdown-it-readme]
**See also:** [markdown-it-pyrs] for an experimental Rust binding,
for even more speed!
## Installation
### PIP
```bash
pip install markdown-it-py[plugins]
`
or with extras
`bash
pip install markdown-it-py[linkify,plugins]
```
### Conda
```bash
conda install -c conda-forge markdown-it-py
`
or with extras
`bash
conda install -c conda-forge markdown-it-py linkify-it-py mdit-py-plugins
```
## Usage
### Python API Usage
Render markdown to HTML with markdown-it-py and a custom configuration
with and without plugins and features:
```python
from markdown_it import MarkdownIt
from mdit_py_plugins.front_matter import front_matter_plugin
from mdit_py_plugins.footnote import footnote_plugin
md = (
MarkdownIt('commonmark', {'breaks':True,'html':True})
.use(front_matter_plugin)
.use(footnote_plugin)
.enable('table')
)
text = ("""
---
a: 1
---
a | b
- | -
1 | 2
A footnote [^1]
[^1]: some details
""")
tokens = md.parse(text)
html_text = md.render(text)
## To export the html to a file, uncomment the lines below:
# from pathlib import Path
# Path("output.html").write_text(html_text)
```
### Command-line Usage
|