Extra
Overview
Python Markdown has an extra
extension that provides features similar to PHP Markdown Extra. PyMdown Extensions aims to provide not only new features, but to improve behavior in Python Markdown's existing feature set. Some of these things can be at odds. Python Markdown's smartstrong
and fenced_code
are not compatible with PyMdown Extensions' betterem
and superfences
. smartstrong
should never be loaded at the same time as betterem
, and superfences
should not be loaded at the same time as fenced_code
. For these reasons, it is not possible to use Python Markdown's extra
and PyMdown Extensions' superfences
and betterem
at the same time. To make this less frustrating, PyMdown Extensions provides it's own implementation of extra
.
PyMdown Extensions' extra
is just like Python Markdown's extra except smartstrong
is replaced by betterem
and fenced_code
is replaced by superfences
. All other features and extensions should be identical because we are using the same ones.
This extension is a convenience extension, and it currently provides no other additional features. But remember don't use pymdownx.extra
while also using markdown.extensions.extra
!
Reminder
Remember to read the Usage Notes for information that may be relevant when using this extension!
Extensions:
Extension | Name |
---|---|
BetterEm | pymdownx.betterem |
SuperFences | pymdownx.superfences |
Footnotes | markdown.extensions.footnotes |
Attribute Lists | markdown.extensions.attr_list |
Definition Lists | markdown.extensions.def_list |
Tables | markdown.extensions.tables |
Abbreviations | markdown.extensions.abbr |
Markdown in HTML | markdown.extensions.md_in_html |
The Extra extension can be included in Python Markdown by using the following:
import markdown
md = markdown.Markdown(extensions=['pymdownx.extra'])
Options
If you wish to configure the individual extensions included via this extensions, you can configure them by placing that sub extension's settings under a setting value that equals the sub extensions name.
extension_configs = {
'pymdownx.extra': {
'markdown.extensions.footnotes': {
'BACKLINK_TEXT': 'link'
}
}
}