Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upThird Party Extensions
These extensions have been developed by various people who have made them available to the public. The Python-Markdown team does not endorse or offer any support for these extensions. Please see the individual developer of each extension for support.
If you write an extension, please add it to this list.
Math / LaTeX
-
mdx_math Creates, saves and embeds images from LaTeX code in
<math></math>tags. - Markdown-LaTeX Adds inline LaTeX support without the need for external images.
-
markdown2latex(PyPI) Selects LaTeX instead of HTML as output format. - asciimathml Converts AsciiMathML in markdown to presentational MathML in the HTML output.
- python-markdown-math (PyPI) The standalone math extension from PyMarkups library, using MathJax.
- markdown-simplechem Smart formatter for chemical equations, eliminating need for special markup in most cases. Automatically detects when number is subscript or not.
Additional Tags
- DjangoStaticTag Convert image tag source to {% 'static' <your_source> %}
-
Icons Easily display icon fonts in markdown:
&icon-html5; -
Superscript (PyPI) Superscripts text between
^symbols -
Subscript (PyPI) Subscripts text between
~symbols -
cite (PyPI) Adds support for the
<cite>tag. -
del_ins (PyPI) Add support for
<del>and<ins>tags. -
markdown-emdash (PyPI) Replace all triple dashes (
---) with em-dashes (—) - PyEmbed (PyPI) Simple content embedding using oEmbed.
-
python-markdown-qrcode encodes strings between
[-[and]-]as QR codes and embeds those. - semanticwikilinks (PyPI) Add support for semantic (wiki)links (RDFa).
- semanticdata (PyPI) Add support for semantic data (RDFa).
- Grid Tables Adds grid table support (as seen in reStructuredText) to Markdown.
-
mkdcomments Removes triple-dashed html comments (
<!---comment-->) in preprocessing. - checklist Adds GitHub-style task lists with checkboxes
-
Markdown-Bugzilla-Extension Adds shortcut links to bugs in Bugzilla using
[bz#123]or[rhbz#456] - MarkdownBlankLine (PyPI) A markdown extension that enables you to add blank lines
-
MarkdownHighlight (PyPI) Use "???something???" to create
<mark>something</mark> - markdown-tweetable (PyPI) Embed tweetable quotes into your blog posts
-
mdx_unimoji replaces common text smileys (like
;)) with their Unicode emoji emoticons () that on some platforms automagically render in nice colors (; provided a suitable font is available).
- markdown-magic (PyPI) Autocreates memes and finds the best-fitting gifs for your posts using Markdown.
- mdx-google-map (PyPI) Creates embedded Google map centered with a pin on the given location.
URL conversion
- markdown-urlize Liberal url-to-link conversion
- Mdx Linkify Converts links to HTML anchors using Bleach instead of regexes,
- Video
- markdown-urlify Extension that turns URLs in the text to clickable links
Generic / Structure
-
custom-span-class - easily wrap text with
<span>containing custom class. - smartypants Typographic Characters etc.
- markdown-typografix Typographic Characters etc.
- mdx_titlecase Apply proper casing to all titles.
- figureAltCaption – Generates a Figure Caption for each Image which stands alone in a paragraph based on its alt-Text – like pandoc’s handling of images/figures
- markdown-downheader
- mdx_downheader (PyPI) Downgrade HTML headers, for example, transforms h1 headers to h2
-
outline (PyPI) Wrap Document in
<section>tags based on a hierarchy of header tags. - xhtml_wrap
- RSS (previous shipped with Python-Markdown before version 3.0)
- lead-trail Add identifying class name to the first and last element of the document.
- newtab Adds target="_blank" to links
- python-markdown-yaml-meta-data Use YAML meta data, like pandoc
- python-markdown-full-yaml-metadata Use YAML meta data with all YAML features
- plantuml-markdown Adds the possibility to integrate PlantUML diagrams
-
Markdown-Include
(PyPI) Provides syntax which will include the contents of other files in the document, similarly to the
\include{}command in LaTeX. - MD-Environ (PyPI) Provides syntax which allows environment variables to be inserted into the text.
-
sections Embeds document in a hierarchy of
divtags derived from the levels of headings. (Superseded byoutline.) - pinyin_markdown (PyPI) Type Chinese pinyin with tone numbers (pin1yin1), and have them converted to beautiful accented pīnyīn.
- markdown-i18n i18n extension for Python Markdown
- markdown-blockdiag Blockdiag extension for Python Markdown
- markdown-aafigure aafigure extension for Python Markdown
- doctor_leipzig (PyPI) extension for adding Leipzig/interlinear glosses
- mdx_truly_sane_lists (PyPI) makes lists truly sane. Custom indents for nested lists and fix for messy linebreaks and paragraphs between lists.
Bundles
-
PyMdown Extensions (PyPI): A collection of Python Markdown extensions. Mix and match what you like.
- arithmatex Preserves inline and block Tex for use with MathJax.
- b64 Embed local images by encoding them with base64.
- betterem A slightly different approach to emphasis.
-
caret Add support for
insertandsuperscripttags. Syntax is built around^. - critic Accept, reject, or view (view is very limited) CriticMarkup syntax.
-
emoji Add support for inserting emojis (or html linked to either images on a CDN or local) via
:shortnames:. Supports Gemoji short name index, and emojione out of the box. -
escapeall Changes escape (
\) so that it escapes everything so you don't have to remember what it escapes (especially if an extension appends escapes). -
extra Alternative extra module that replaces
fenced_codewithsuperfencesandsmart_strongwithbetterem. - extrarawhtml A wrapper that splits out raw HTML parser from Python Markdown's extra module. Great if you don't want to enable all of extra.
- github A convenience extension that loads up a specific set of extensions to give a GFM feel.
- magiclink Auto-link email and http addresses.
-
mark Insert
marktags. Syntax uses=. - pathconverter Provides absolute or relative path conversions for relative links.
- plainhtml Strip out id, style, class attributes and/or comments to get a stripped down HTML output.
- progressbar Adds syntax for adding progress bars.
- smartsymbols Adds a number of shorthand notation for selected symbols.
- superfences Nested fences and flow charts and sequence diagrams (additional JS libraries required for charts and diagrams).
- tasklist Adds tasklist support.
-
tilde Insert
delandsubscripttags. Syntax is built around~. - inlinehilite Like CodeHilite, but for inline code blocks.
Press h to open a hovercard with more details.