16516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru#!/usr/bin/env python 26516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru""" 36516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste QueruPython-Markdown Extra Extension 46516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru=============================== 56516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 66516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste QueruA compilation of various Python-Markdown extensions that imitates 76516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru[PHP Markdown Extra](http://michelf.com/projects/php-markdown/extra/). 86516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 96516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste QueruNote that each of the individual extensions still need to be available 106516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruon your PYTHONPATH. This extension simply wraps them all up as a 116516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruconvenience so that only one extension needs to be listed when 126516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruinitiating Markdown. See the documentation for each individual 136516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruextension for specifics about that extension. 146516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 156516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste QueruIn the event that one or more of the supported extensions are not 166516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruavailable for import, Markdown will issue a warning and simply continue 176516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruwithout that extension. 186516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 196516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste QueruThere may be additional extensions that are distributed with 206516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste QueruPython-Markdown that are not included here in Extra. Those extensions 216516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruare not part of PHP Markdown Extra, and therefore, not part of 226516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste QueruPython-Markdown Extra. If you really would like Extra to include 236516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruadditional extensions, we suggest creating your own clone of Extra 246516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruunder a differant name. You could also edit the `extensions` global 256516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruvariable defined below, but be aware that such changes may be lost 266516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruwhen you upgrade to any future version of Python-Markdown. 276516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 286516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru""" 296516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 306516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruimport markdown 316516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 326516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruextensions = ['fenced_code', 336516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 'footnotes', 346516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 'headerid', 356516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 'def_list', 366516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 'tables', 376516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 'abbr', 386516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru ] 396516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 406516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 416516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queruclass ExtraExtension(markdown.Extension): 426516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru """ Add various extensions to Markdown class.""" 436516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 446516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru def extendMarkdown(self, md, md_globals): 456516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru """ Register extension instances. """ 466516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru md.registerExtensions(extensions, self.config) 476516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru 486516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Querudef makeExtension(configs={}): 496516b99bb74dfb7187a08f7090bf7ca22a006f15Jean-Baptiste Queru return ExtraExtension(configs=dict(configs)) 50