Skip to main content

Python port of markdown-it. Markdown parsing, done right!

Project description

markdown-it-py

Github-CI Coverage Status PyPI Conda Code style: black PyPI - Downloads

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:

Installation

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

or

pip install markdown-it-py[plugins]

or with extras

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:

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()
    .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)

## 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 stdout

positional arguments:
  filenames      specify an optional list of files to convert

optional arguments:
  -h, --help     show this help message and exit
  -v, --version  show program's version number and exit

Interactive:

  $ 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markdown-it-py-1.0.0b3.tar.gz (62.4 kB view details)

Uploaded Source

Built Distribution

markdown_it_py-1.0.0b3-py3-none-any.whl (83.7 kB view details)

Uploaded Python 3

File details

Details for the file markdown-it-py-1.0.0b3.tar.gz.

File metadata

  • Download URL: markdown-it-py-1.0.0b3.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for markdown-it-py-1.0.0b3.tar.gz
Algorithm Hash digest
SHA256 af9b8f7f2dfdf413394f545fbe1e5b580221607648cd0a3d6ecc89faf0309053
MD5 d4d6e7e922d083095138ec7f2a5c59e6
BLAKE2b-256 d049329535f752c791a6c76409c3e5f73f7fa6bd276ae95a7559398034cefe55

See more details on using hashes here.

File details

Details for the file markdown_it_py-1.0.0b3-py3-none-any.whl.

File metadata

  • Download URL: markdown_it_py-1.0.0b3-py3-none-any.whl
  • Upload date:
  • Size: 83.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for markdown_it_py-1.0.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 226d2221d1eae6618e42a870bd58674a5f6682e358b7f38abb7e26a01a0cace2
MD5 36aae1e51f932fcadc02a9bc1e404017
BLAKE2b-256 e1f6ba0ea7fe2fb0aa61e8ef3402741bb225640077863d718b820f1343ac25c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page