You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.8 KiB
58 lines
1.8 KiB
""" |
|
Python-Markdown Extra Extension |
|
=============================== |
|
|
|
A compilation of various Python-Markdown extensions that imitates |
|
[PHP Markdown Extra](http://michelf.com/projects/php-markdown/extra/). |
|
|
|
Note that each of the individual extensions still need to be available |
|
on your PYTHONPATH. This extension simply wraps them all up as a |
|
convenience so that only one extension needs to be listed when |
|
initiating Markdown. See the documentation for each individual |
|
extension for specifics about that extension. |
|
|
|
There may be additional extensions that are distributed with |
|
Python-Markdown that are not included here in Extra. Those extensions |
|
are not part of PHP Markdown Extra, and therefore, not part of |
|
Python-Markdown Extra. If you really would like Extra to include |
|
additional extensions, we suggest creating your own clone of Extra |
|
under a different name. You could also edit the `extensions` global |
|
variable defined below, but be aware that such changes may be lost |
|
when you upgrade to any future version of Python-Markdown. |
|
|
|
See <https://Python-Markdown.github.io/extensions/extra> |
|
for documentation. |
|
|
|
Copyright The Python Markdown Project |
|
|
|
License: [BSD](https://opensource.org/licenses/bsd-license.php) |
|
|
|
""" |
|
|
|
from . import Extension |
|
|
|
extensions = [ |
|
'fenced_code', |
|
'footnotes', |
|
'attr_list', |
|
'def_list', |
|
'tables', |
|
'abbr', |
|
'md_in_html' |
|
] |
|
|
|
|
|
class ExtraExtension(Extension): |
|
""" Add various extensions to Markdown class.""" |
|
|
|
def __init__(self, **kwargs): |
|
""" `config` is a dumb holder which gets passed to the actual extension later. """ |
|
self.config = kwargs |
|
|
|
def extendMarkdown(self, md): |
|
""" Register extension instances. """ |
|
md.registerExtensions(extensions, self.config) |
|
|
|
|
|
def makeExtension(**kwargs): # pragma: no cover |
|
return ExtraExtension(**kwargs)
|
|
|