Extensions¶
Python Markdown offers a flexible extension mechanism, which makes it possibleto change and/or extend the behavior of the parser without having to edit theactual source files.
To use an extension, pass it to markdown with theextensions
keyword.
markdown.markdown(some_text, extensions=[MyExtClass(), 'myext', 'path.to.my.ext:MyExtClass'])
See theLibrary Reference for more details.
From the command line, specify an extension with the-x
option.
python -m markdown -x myext -x path.to.module:MyExtClass input.txt > output.html
See theCommand Line docs or use the--help
option for more details.
See Also
If you would like to write your own extensions, see theExtension API for details.
Officially Supported Extensions¶
The extensions listed below are included with (at least) the most recent releaseand are officially supported by Python-Markdown. Any documentation ismaintained here and all bug reports should be made to the project. If youhave a typical install of Python-Markdown, these extensions are alreadyavailable to you using the “Entry Point” name listed in the second column below.
Extension | Entry Point | Dot Notation |
---|---|---|
Extra | extra | markdown.extensions.extra |
Abbreviations | abbr | markdown.extensions.abbr |
Attribute Lists | attr_list | markdown.extensions.attr_list |
Definition Lists | def_list | markdown.extensions.def_list |
Fenced Code Blocks | fenced_code | markdown.extensions.fenced_code |
Footnotes | footnotes | markdown.extensions.footnotes |
Markdown in HTML | md_in_html | markdown.extensions.md_in_html |
Tables | tables | markdown.extensions.tables |
Admonition | admonition | markdown.extensions.admonition |
CodeHilite | codehilite | markdown.extensions.codehilite |
Legacy Attributes | legacy_attrs | markdown.extensions.legacy_attrs |
Legacy Emphasis | legacy_em | markdown.extensions.legacy_em |
Meta-Data | meta | markdown.extensions.meta |
New Line to Break | nl2br | markdown.extensions.nl2br |
Sane Lists | sane_lists | markdown.extensions.sane_lists |
SmartyPants | smarty | markdown.extensions.smarty |
Table of Contents | toc | markdown.extensions.toc |
WikiLinks | wikilinks | markdown.extensions.wikilinks |
Third Party Extensions¶
Various individuals and/or organizations have developed extensions which theyhave made available to the public. Alist of third party extensionsis maintained on the wiki for your convenience. The Python-Markdown teamoffers no official support for these extensions. Please see the developer ofeach extension for support.