Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/executablebooks/markdown-it-py
Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed. Now in Python!
https://github.com/executablebooks/markdown-it-py
markdown markdown-it markdown-parser
Last synced: 9 days ago
JSON representation
Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed. Now in Python!
- Host: GitHub
- URL: https://github.com/executablebooks/markdown-it-py
- Owner: executablebooks
- License: mit
- Created: 2020-03-25T11:10:01.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-13T16:34:08.000Z (6 months ago)
- Last Synced: 2024-05-17T15:06:22.840Z (6 months ago)
- Topics: markdown, markdown-it, markdown-parser
- Language: Python
- Homepage: https://markdown-it-py.readthedocs.io
- Size: 1.38 MB
- Stars: 636
- Watchers: 21
- Forks: 67
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-markdown - markdown-it-py - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed. Now in Python! (Libraries / Python)
- best-of-web-python - GitHub - 39% open · ⏱️ 07.05.2024): (Markdown)
README
# 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](http://spec.commonmark.org/)__ 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](https://cloud.google.com/assured-open-source-software/docs/supported-packages)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](https://markdown-it.github.io)__
- [The markdown-it README][markdown-it-readme]**See also:** [markdown-it-pyrs](https://github.com/chrisjsewell/markdown-it-pyrs) for an experimental Rust binding,
for even more speed!## 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_pluginmd = (
MarkdownIt('commonmark' ,{'breaks':True,'html':True})
.use(front_matter_plugin)
.use(footnote_plugin)
.enable('table')
)
text = ("""
---
a: 1
---a | b
- | -
1 | 2A 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 convertoptional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exitInteractive:
$ markdown-it
markdown-it-py [version 0.0.0] (interactive)
Type Ctrl-D to complete input, or Ctrl-C to exit.
>>> # Example
... > markdown *input*
...
Example
markdown input
Batch:
$ markdown-it README.md README.footer.md > index.html
```
## References / Thanks
Big thanks to the authors of [markdown-it]:
- Alex Kocharin [github/rlidwka](https://github.com/rlidwka)
- Vitaly Puzrin [github/puzrin](https://github.com/puzrin)Also [John MacFarlane](https://github.com/jgm) for his work on the CommonMark spec and reference implementations.
[github-ci]: https://github.com/executablebooks/markdown-it-py/actions/workflows/tests.yml/badge.svg?branch=master
[github-link]: https://github.com/executablebooks/markdown-it-py
[pypi-badge]: https://img.shields.io/pypi/v/markdown-it-py.svg
[pypi-link]: https://pypi.org/project/markdown-it-py
[conda-badge]: https://anaconda.org/conda-forge/markdown-it-py/badges/version.svg
[conda-link]: https://anaconda.org/conda-forge/markdown-it-py
[codecov-badge]: https://codecov.io/gh/executablebooks/markdown-it-py/branch/master/graph/badge.svg
[codecov-link]: https://codecov.io/gh/executablebooks/markdown-it-py
[black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
[black-link]: https://github.com/ambv/black
[install-badge]: https://img.shields.io/pypi/dw/markdown-it-py?label=pypi%20installs
[install-link]: https://pypistats.org/packages/markdown-it-py[CommonMark spec]: http://spec.commonmark.org/
[markdown-it]: https://github.com/markdown-it/markdown-it
[markdown-it-readme]: https://github.com/markdown-it/markdown-it/blob/master/README.md
[md-security]: https://markdown-it-py.readthedocs.io/en/latest/security.html
[md-performance]: https://markdown-it-py.readthedocs.io/en/latest/performance.html
[md-plugins]: https://markdown-it-py.readthedocs.io/en/latest/plugins.html