diff tools/mdx_nl2br.py @ 356:f54bf3b3bece

Fix 180; Add strikethrough capability to markdown via an extension. Also control in SVN the extensions we are using.
author Brian Neal <bgneal@gmail.com>
date Fri, 04 Mar 2011 02:10:37 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/mdx_nl2br.py	Fri Mar 04 02:10:37 2011 +0000
@@ -0,0 +1,19 @@
+"""
+A python-markdown extension to treat newlines as hard breaks; like
+StackOverflow and GitHub flavored Markdown do.
+
+"""
+import markdown
+
+
+BR_RE = r'\n'
+
+class Nl2BrExtension(markdown.Extension):
+
+    def extendMarkdown(self, md, md_globals):
+        br_tag = markdown.inlinepatterns.SubstituteTagPattern(BR_RE, 'br')
+        md.inlinePatterns.add('nl', br_tag, '_end')
+
+
+def makeExtension(configs=None):
+    return Nl2BrExtension(configs)