title: Extensions prev_title: Command Line prev_url: ../cli.html next_title: Extra Extension next_url: extra.html Available Extensions ==================== Python Markdown offers a flexible extension mechanism, which makes it possible to change and/or extend the behavior of the parser without having to edit the actual source files. To use an extension, pass it's name to markdown with the `extensions` keyword. See the [Library Reference](../reference.html#extensions) for more details. markdown.markdown(some_text, extensions=['footnotes', 'nl2br']) From the command line, specify an extension with the `-x` option. See the [Command Line docs](../cli.html) or use the `--help` option for more details. python -m markdown -x footnotes -x tables input.txt > output.html Officially Supported Extensions ------------------------------- The extensions listed below are included with (at least) the most recent release and are officially supported by Python-Markdown. Any documentation is maintained here and all bug reports should be made to the project. If you have a typical install of Python-Markdown, these extensions are already available to you. ### Markdown Extra You can enable **all** these extensions just as if it was a single `extra` extension. Example: markdown.markdown(some_text, extensions=['extra', 'codehilite']) Extension | Name in Python-Markdown --------- | ----------------------- [Abbreviations][] | `abbr` [Attribute Lists][] | `attr_list` [Definition Lists][] | `def_list` [Fenced Code Blocks][] | `fenced_code` [Footnotes][] | `footnotes` [Tables][] | `tables` [Smart Strong][] | `smart_strong` [Abbreviations]: abbreviations.html [Attribute Lists]: attr_list.html [Definition Lists]: definition_lists.html [Fenced Code Blocks]: fenced_code_blocks.html [Footnotes]: footnotes.html [Tables]: tables.html [Smart Strong]: smart_strong.html ### Other extensions There are also some extensions that are not included in Markdown Extra but come in the standard Python-Markdown library. Extension | Name in Python-Markdown --------- | ----------------------- [Admonition][] | `admonition` [CodeHilite][] | `codehilite` [HTML Tidy][] | `html_tidy` [HeaderId] | `headerid` [Meta-Data] | `meta` [New Line to Break] | `nl2br` [Sane Lists] | `sane_lists` [Table of Contents] | `toc` [WikiLinks] | `wikilinks` [Admonition]: admonition.html [CodeHilite]: code_hilite.html [HTML Tidy]: html_tidy.html [HeaderId]: header_id.html [Meta-Data]: meta_data.html [New Line to Break]: nl2br.html [Sane Lists]: sane_lists.html [Table of Contents]: toc.html [WikiLinks]: wikilinks.html Third Party Extensions ---------------------- Various individuals and/or organizations have developed extensions which they have made available to the public. A [list of third party extensions](https://github.com/waylan/Python-Markdown/wiki/Third-Party-Extensions) is maintained on the wiki for your convenience. The Python-Markdown team offers no official support for these extensions. Please see the developer of each extension for support. If you would like to write your own extensions, see the [Extensions API](api.html) for details.