mirror of
https://github.com/djohnlewis/stackdump
synced 2025-01-23 15:11:36 +00:00
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)
|
||
|
|