Hackfut Security File Manager
Current Path:
/usr/lib/python2.6/site-packages/markdown/extensions
usr
/
lib
/
python2.6
/
site-packages
/
markdown
/
extensions
/
📁
..
📄
__init__.py
(0 B)
📄
__init__.pyc
(151 B)
📄
__init__.pyo
(151 B)
📄
abbr.py
(2.83 KB)
📄
abbr.pyc
(4.19 KB)
📄
abbr.pyo
(4.19 KB)
📄
codehilite.py
(7.49 KB)
📄
codehilite.pyc
(7.94 KB)
📄
codehilite.pyo
(7.94 KB)
📄
def_list.py
(3.1 KB)
📄
def_list.pyc
(3.95 KB)
📄
def_list.pyo
(3.95 KB)
📄
extra.py
(1.7 KB)
📄
extra.pyc
(2.27 KB)
📄
extra.pyo
(2.27 KB)
📄
fenced_code.py
(3.34 KB)
📄
fenced_code.pyc
(4.27 KB)
📄
fenced_code.pyo
(4.27 KB)
📄
footnotes.py
(9.82 KB)
📄
footnotes.pyc
(11.17 KB)
📄
footnotes.pyo
(11.17 KB)
📄
headerid.py
(6.18 KB)
📄
headerid.pyc
(7.29 KB)
📄
headerid.pyo
(7.29 KB)
📄
html_tidy.py
(2.02 KB)
📄
html_tidy.pyc
(2.69 KB)
📄
html_tidy.pyo
(2.69 KB)
📄
imagelinks.py
(3.41 KB)
📄
imagelinks.pyc
(3.23 KB)
📄
imagelinks.pyo
(3.23 KB)
📄
meta.py
(2.53 KB)
📄
meta.pyc
(3.2 KB)
📄
meta.pyo
(3.2 KB)
📄
rss.py
(3.61 KB)
📄
rss.pyc
(4.24 KB)
📄
rss.pyo
(4.24 KB)
📄
tables.py
(3.01 KB)
📄
tables.pyc
(3.79 KB)
📄
tables.pyo
(3.79 KB)
📄
toc.py
(4.98 KB)
📄
toc.pyc
(4.36 KB)
📄
toc.pyo
(4.36 KB)
📄
wikilinks.py
(5.17 KB)
📄
wikilinks.pyc
(6.13 KB)
📄
wikilinks.pyo
(6.13 KB)
Editing: fenced_code.py
""" Fenced Code Extension for Python Markdown ========================================= This extension adds Fenced Code Blocks to Python-Markdown. >>> import markdown >>> text = ''' ... A paragraph before a fenced code block: ... ... ~~~ ... Fenced code block ... ~~~ ... ''' >>> html = markdown.markdown(text, extensions=['fenced_code']) >>> html u'<p>A paragraph before a fenced code block:</p>\\n<pre><code>Fenced code block\\n</code></pre>' Works with safe_mode also (we check this because we are using the HtmlStash): >>> markdown.markdown(text, extensions=['fenced_code'], safe_mode='replace') u'<p>A paragraph before a fenced code block:</p>\\n<pre><code>Fenced code block\\n</code></pre>' Include tilde's in a code block and wrap with blank lines: >>> text = ''' ... ~~~~~~~~ ... ... ~~~~ ... ... ~~~~~~~~''' >>> markdown.markdown(text, extensions=['fenced_code']) u'<pre><code>\\n~~~~\\n\\n</code></pre>' Multiple blocks and language tags: >>> text = ''' ... ~~~~{.python} ... block one ... ~~~~ ... ... ~~~~.html ... <p>block two</p> ... ~~~~''' >>> markdown.markdown(text, extensions=['fenced_code']) u'<pre><code class="python">block one\\n</code></pre>\\n\\n<pre><code class="html"><p>block two</p>\\n</code></pre>' Copyright 2007-2008 [Waylan Limberg](http://achinghead.com/). Project website: <http://www.freewisdom.org/project/python-markdown/Fenced__Code__Blocks> Contact: markdown@freewisdom.org License: BSD (see ../docs/LICENSE for details) Dependencies: * [Python 2.3+](http://python.org) * [Markdown 2.0+](http://www.freewisdom.org/projects/python-markdown/) """ import markdown, re # Global vars FENCED_BLOCK_RE = re.compile( \ r'(?P<fence>^~{3,})[ ]*(\{?\.(?P<lang>[a-zA-Z0-9_-]*)\}?)?[ ]*\n(?P<code>.*?)(?P=fence)[ ]*$', re.MULTILINE|re.DOTALL ) CODE_WRAP = '<pre><code%s>%s</code></pre>' LANG_TAG = ' class="%s"' class FencedCodeExtension(markdown.Extension): def extendMarkdown(self, md, md_globals): """ Add FencedBlockPreprocessor to the Markdown instance. """ md.preprocessors.add('fenced_code_block', FencedBlockPreprocessor(md), "_begin") class FencedBlockPreprocessor(markdown.preprocessors.Preprocessor): def run(self, lines): """ Match and store Fenced Code Blocks in the HtmlStash. """ text = "\n".join(lines) while 1: m = FENCED_BLOCK_RE.search(text) if m: lang = '' if m.group('lang'): lang = LANG_TAG % m.group('lang') code = CODE_WRAP % (lang, self._escape(m.group('code'))) placeholder = self.markdown.htmlStash.store(code, safe=True) text = '%s\n%s\n%s'% (text[:m.start()], placeholder, text[m.end():]) else: break return text.split("\n") def _escape(self, txt): """ basic html escaping """ txt = txt.replace('&', '&') txt = txt.replace('<', '<') txt = txt.replace('>', '>') txt = txt.replace('"', '"') return txt def makeExtension(configs=None): return FencedCodeExtension() if __name__ == "__main__": import doctest doctest.testmod()
Upload File
Create Folder