annotate tools/mdx_nl2br.py @ 403:6e425c9b9d16

In support of #161; improve query performance of the feed view; also cache the feed view in urls.py.
author Brian Neal <bgneal@gmail.com>
date Sun, 27 Mar 2011 18:22:48 +0000
parents f54bf3b3bece
children
rev   line source
bgneal@356 1 """
bgneal@356 2 A python-markdown extension to treat newlines as hard breaks; like
bgneal@356 3 StackOverflow and GitHub flavored Markdown do.
bgneal@356 4
bgneal@356 5 """
bgneal@356 6 import markdown
bgneal@356 7
bgneal@356 8
bgneal@356 9 BR_RE = r'\n'
bgneal@356 10
bgneal@356 11 class Nl2BrExtension(markdown.Extension):
bgneal@356 12
bgneal@356 13 def extendMarkdown(self, md, md_globals):
bgneal@356 14 br_tag = markdown.inlinepatterns.SubstituteTagPattern(BR_RE, 'br')
bgneal@356 15 md.inlinePatterns.add('nl', br_tag, '_end')
bgneal@356 16
bgneal@356 17
bgneal@356 18 def makeExtension(configs=None):
bgneal@356 19 return Nl2BrExtension(configs)