Ñò éíÑXc @ s² d Z d d k Z d d k Z e i d e i e i Bƒ Z d Z d Z d e i f d „ ƒ YZ d e i i f d „ ƒ YZ d d „ Z e d j o d d k Z e i ƒ n d S( s½ 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'
A paragraph before a fenced code block:
\nFenced code block\n
'
Works with safe_mode also (we check this because we are using the HtmlStash):
>>> markdown.markdown(text, extensions=['fenced_code'], safe_mode='replace')
u'A paragraph before a fenced code block:
\nFenced code block\n
'
Include tilde's in a code block and wrap with blank lines:
>>> text = '''
... ~~~~~~~~
...
... ~~~~
...
... ~~~~~~~~'''
>>> markdown.markdown(text, extensions=['fenced_code'])
u'\n~~~~\n\n
'
Multiple blocks and language tags:
>>> text = '''
... ~~~~{.python}
... block one
... ~~~~
...
... ~~~~.html
... block two
... ~~~~''' >>> markdown.markdown(text, extensions=['fenced_code']) u'block one\n
\n\n<p>block two</p>\n
'
Copyright 2007-2008 [Waylan Limberg](http://achinghead.com/).
Project website: .*?)(?P=fence)[ ]*$s %s
s class="%s"t FencedCodeExtensionc B s e Z d „ Z RS( c C s | i i d t | ƒ d ƒ d S( s7 Add FencedBlockPreprocessor to the Markdown instance. t fenced_code_blockt _beginN( t
preprocessorst addt FencedBlockPreprocessor( t selft mdt
md_globals( ( sC /usr/lib/python2.6/site-packages/markdown/extensions/fenced_code.pyt extendMarkdownK s ( t __name__t
__module__R ( ( ( sC /usr/lib/python2.6/site-packages/markdown/extensions/fenced_code.pyR I s R c B s e Z d „ Z d „ Z RS( c C sÎ d i | ƒ } x¯ t i | ƒ } | o• d } | i d ƒ o t | i d ƒ } n t | | i | i d ƒ ƒ f } | i i i | d t
ƒ} d | | i ƒ | | | i ƒ f } q Pq | i
d ƒ S( s6 Match and store Fenced Code Blocks in the HtmlStash. s
t t langt codet safes %s
%s
%s( t joint FENCED_BLOCK_REt searcht groupt LANG_TAGt CODE_WRAPt _escapet markdownt htmlStasht storet Truet startt endt split( R t linest textt mR
R t placeholder( ( sC /usr/lib/python2.6/site-packages/markdown/extensions/fenced_code.pyt runU s "+c C sL | i d d ƒ } | i d d ƒ } | i d d ƒ } | i d d ƒ } | S( s basic html escaping t &s &t