mirror of
https://github.com/djohnlewis/stackdump
synced 2025-01-23 07:01:41 +00:00
993bee4fc1
Also rewrote part of the HTML rewriting code so it doesn't introduce an additional wrapping element in the output which was added due to a html5lib requirements on input.
37 lines
765 B
Python
37 lines
765 B
Python
"""
|
|
NL2BR Extension
|
|
===============
|
|
|
|
A Python-Markdown extension to treat newlines as hard breaks; like
|
|
GitHub-flavored Markdown does.
|
|
|
|
Usage:
|
|
|
|
>>> import markdown
|
|
>>> print markdown.markdown('line 1\\nline 2', extensions=['nl2br'])
|
|
<p>line 1<br />
|
|
line 2</p>
|
|
|
|
Copyright 2011 [Brian Neal](http://deathofagremmie.com/)
|
|
|
|
Dependencies:
|
|
* [Python 2.4+](http://python.org)
|
|
* [Markdown 2.1+](http://packages.python.org/Markdown/)
|
|
|
|
"""
|
|
|
|
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)
|
|
|