diff options
author | hukun@chromium.org <hukun@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-13 12:10:46 +0000 |
---|---|---|
committer | hukun@chromium.org <hukun@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-13 12:10:46 +0000 |
commit | 96b2b52eb5d6d3a2cb8034057c4ac987902d4689 (patch) | |
tree | b7fc2090f5e47603b3c1506700808ee4eb5e8a84 /third_party/markdown/extensions/extra.py | |
parent | 480116e7c1412b3aa58e92dc8d1d888f4fe19712 (diff) | |
download | chromium_src-96b2b52eb5d6d3a2cb8034057c4ac987902d4689.zip chromium_src-96b2b52eb5d6d3a2cb8034057c4ac987902d4689.tar.gz chromium_src-96b2b52eb5d6d3a2cb8034057c4ac987902d4689.tar.bz2 |
Docserver: Support markdown for HTML content. Request thirdparty submission review.
R=kalman@chromium.org
BUG=293681
Review URL: https://codereview.chromium.org/133433002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244490 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/markdown/extensions/extra.py')
-rw-r--r-- | third_party/markdown/extensions/extra.py | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/third_party/markdown/extensions/extra.py b/third_party/markdown/extensions/extra.py new file mode 100644 index 0000000..b368551 --- /dev/null +++ b/third_party/markdown/extensions/extra.py @@ -0,0 +1,86 @@ +# markdown is released under the BSD license +# Copyright 2007, 2008 The Python Markdown Project (v. 1.7 and later) +# Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) +# Copyright 2004 Manfred Stienstra (the original version) +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the <organization> nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE PYTHON MARKDOWN PROJECT ''AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ANY CONTRIBUTORS TO THE PYTHON MARKDOWN PROJECT +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + + +""" +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. + +In the event that one or more of the supported extensions are not +available for import, Markdown will issue a warning and simply continue +without 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 differant 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. + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from . import Extension + +extensions = ['smart_strong', + 'fenced_code', + 'footnotes', + 'attr_list', + 'def_list', + 'tables', + 'abbr', + ] + + +class ExtraExtension(Extension): + """ Add various extensions to Markdown class.""" + + def extendMarkdown(self, md, md_globals): + """ Register extension instances. """ + md.registerExtensions(extensions, self.config) + if not md.safeMode: + # Turn on processing of markdown text within raw html + md.preprocessors['html_block'].markdown_in_raw = True + +def makeExtension(configs={}): + return ExtraExtension(configs=dict(configs)) |