Skip to content

Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed. Now in Python!

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.markdown-it
Notifications You must be signed in to change notification settings

executablebooks/markdown-it-py

markdown-it-py

Github-CICoverage StatusPyPICondaPyPI - Downloads

markdown-it-py icon

Markdown parser done right.

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:

See also:markdown-it-pyrs for an experimental Rust binding, for even more speed!

Installation

PIP

pip install markdown-it-py[plugins]

or with extras

pip install markdown-it-py[linkify,plugins]

Conda

conda install -c conda-forge markdown-it-py

or with extras

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:

frommarkdown_itimportMarkdownItfrommdit_py_plugins.front_matterimportfront_matter_pluginfrommdit_py_plugins.footnoteimportfootnote_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:

usage: markdown-it [-h] [-v] [filenames [filenames ...]]Parse one or more markdown files, convert each to HTML, and print to stdoutpositional 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* ... <h1>Example</h1> <blockquote> <p>markdown <em>input</em></p> </blockquote>Batch: $ markdown-it README.md README.footer.md > index.html

References / Thanks

Big thanks to the authors of markdown-it:

Also John MacFarlane for his work on the CommonMark spec and reference implementations.

About

Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed. Now in Python!

Topics

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.markdown-it

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks