An implementation of Github-Flavored Markdown written as an extension to the Python Markdown library.
Project description
PLEASE READ BEFORE USING: This repository will not receive bug fixes, and might become read-only soon.
Rationale: this library has well-known consistency issues with GitHub-Flavored Markdown rendering. Fixing them would require time investment the maintainer cannot provide. The maintainer is also fatigued by Markdown’s library constantly breaking their internal API with each minor release.
Consider instead using pycmarkgfm (PyPi), a lightweight Python 3.5+ wrapper for GitHub’s own implementation of GFM from the same author, which is faster, virtually byte-compatible with GitHub rendering, and provides a nice API for managing task lists aka. TODO lists.
This is an implementation of GitHub-Flavored Markdown written as an extension to the Python Markdown library. It aims for, but does not achieve, maximal compatibility with GitHub’s rendering.
Tested Python versions are 3.5 to 3.8. Sorry, no Python 2.7 support starting with py-gfm 1.x since the Python Markdown library itself is Python 3 only.
Documentation
You can browse or download the precompiled documentation on Read the Docs.
To build the Sphinx documentation from source, use:
cd doc && make html
Supported features
Fenced code blocks
Literal line breaks
Tables
Hyperlink parsing (http, https, ftp, email and www subdomains)
Code highlighting for code blocks if Pygments is available
Mixed-style lists with no separation
Strikethrough
Task lists
Unsupported features and known differences
py-gfm is a pure Python implementation based on the Python Markdown library and therefore cannot reproduce GitHub’s own implementation with 100% accuracy.
See the docs for a list of known discrepancies.
License
BSD-style. See LICENSE.