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]
[![Code style: black][black-badge]][black-link]
[![PyPI - Downloads][install-badge]][install-link]
> 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])
- [Safe by default][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]
## Installation
```bash
conda install -c conda-forge markdown-it-py
`
or
`bash
pip install markdown-it-py[plugins]
`
or with extras
`bash
conda install -c conda-forge markdown-it-py linkify-it-py mdit-py-plugins
pip install markdown-it-py[linkify,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
Render markdown to HTML with markdown-it-py from the
command-line:
```console
usage: markdown-it [-h] [-v] [filenames [filenames ...]]
Parse one or more markdown files, convert each to HTML, and print to stdout
positional arguments:
filenames specify an optional list of files to convert
optional arguments:
|