From 1a4a66feea2faf8fe12138b25a96d516ee8aed4e Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Mon, 13 Oct 2008 22:37:36 -0400 Subject: Updated the Fenced_Code extension to recent refactor. --- markdown_extensions/fenced_code.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/markdown_extensions/fenced_code.py b/markdown_extensions/fenced_code.py index c3d9f7f..1825106 100644 --- a/markdown_extensions/fenced_code.py +++ b/markdown_extensions/fenced_code.py @@ -16,12 +16,12 @@ This extension adds Fenced Code Blocks to Python-Markdown. ... ''' >>> html = markdown.markdown(text, extensions=['fenced_code']) >>> html - u'

A paragraph before a fenced code block:\\n

\\n
Fenced code block\\n
' + u'

A paragraph before a fenced code block:

\\n
Fenced 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:\\n

\\n
Fenced code block\\n
' + u'

A paragraph before a fenced code block:

\\n
Fenced code block\\n
' Include tilde's in a code block and wrap with blank lines: @@ -47,6 +47,17 @@ Multiple blocks and language tags: >>> 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: +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 @@ -65,9 +76,9 @@ class FencedCodeExtension(markdown.Extension): def extendMarkdown(self, md, md_globals): """ Add FencedBlockPreprocessor to the Markdown instance. """ - FENCED_BLOCK_PREPROCESSOR = FencedBlockPreprocessor() - FENCED_BLOCK_PREPROCESSOR.md = md - md.textPreprocessors.insert(0, FENCED_BLOCK_PREPROCESSOR) + md.textPreprocessors.add('fenced_code_block', + FencedBlockPreprocessor(md), + "_begin") class FencedBlockPreprocessor(markdown.TextPreprocessor): @@ -81,7 +92,7 @@ class FencedBlockPreprocessor(markdown.TextPreprocessor): if m.group('lang'): lang = LANG_TAG % m.group('lang') code = CODE_WRAP % (lang, self._escape(m.group('code'))) - placeholder = self.md.htmlStash.store(code, safe=True) + placeholder = self.markdown.htmlStash.store(code, safe=True) text = '%s\n%s\n%s'% (text[:m.start()], placeholder, text[m.end():]) else: break -- cgit v1.2.3