Skip to content
This repository has been archived by the owner on Jul 30, 2023. It is now read-only.
/ py-gfm Public archive
forked from googlearchive/py-gfm

Github-Flavored Markdown for Python-Markdown.

License

Notifications You must be signed in to change notification settings

zopieux/py-gfm

 
 

Repository files navigation

GitHub-Flavored Markdown for Python

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.

Build status Coverage status Documentation Status

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.