Skip to content

Third Party Extensions

ricmua edited this page May 30, 2022 · 146 revisions

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

  • md4mathjax Add mathjax.js support the markdown output, In a very simple straight way.
  • 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.
  • Markdown-KaTeX Adds support for KaTeX using Gitlab style syntax.
  • 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.
  • KBD Extension (PyPI) Adds support for the <kbd> tag.
  • markdown-del-ins (PyPI) Add support for <del> and <ins> tags
  • markdown-emdash (PyPI) Replace all triple dashes (---) with em-dashes (&mdash;)
  • PyEmbed (PyPI) Simple content embedding using oEmbed. Archived, currently non-functional.
  • python-markdown-qrcode encodes strings between [-[ and ]-] as QR codes and embeds those.
  • semanticwikilinks (PyPI) Add support for semantic (wiki)links (RDFa).
  • mdx_wikilink_plus (PyPI) Converts wikilinks ([[wikilink]]) to relative links. Absolute links are kept as is (with an automatic label made from the file path part in the URL if label is not given explicitly)
  • 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 (:wink:; 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.
  • ocxsect (PyPI) Adds semantic HTML5 sectioning elements into the generated html, e.g. ~~S section 1~~ becomes <section id="section1">.
  • prependnewline (PyPI) Prepends new line to all lists that exists in the markdown document.
  • mdx_gh_links Adds support for shorthand links to GitHub users (@mention) , repositories, issues (#123) and commits.
  • pm_attr_list An alternative to the built-in attr_list to allow setting attributes on implied elements, such as lists (<ol>, <ul>, <dl>) and tables (<table>).

URL conversion

Generic / Structure

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 insert and superscript tags. 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_code with superfences and smart_strong with betterem.
    • 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. This has been deprecated since Nov 2017
    • magiclink Auto-link email and http addresses.
    • mark Insert mark tags. 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 del and subscript tags. Syntax is built around ~.
    • inlinehilite Like CodeHilite, but for inline code blocks.