blob: 58570bb55e766e326ee3d21246e04109f4a3c657 [file] [log] [blame]
Smart_Strong Extension for Python-Markdown
This extention adds smarter handling of double underscores within words.
See <>
for documentation.
Original code Copyright 2011 [Waylan Limberg](
All changes Copyright 2011-2014 The Python Markdown Project
License: [BSD](
from __future__ import absolute_import
from __future__ import unicode_literals
from . import Extension
from ..inlinepatterns import SimpleTagPattern
SMART_STRONG_RE = r'(?<!\w)(_{2})(?!_)(.+?)(?<!_)\2(?!\w)'
STRONG_RE = r'(\*{2})(.+?)\2'
class SmartEmphasisExtension(Extension):
""" Add smart_emphasis extension to Markdown class."""
def extendMarkdown(self, md, md_globals):
""" Modify inline patterns. """
md.inlinePatterns['strong'] = SimpleTagPattern(STRONG_RE, 'strong')
SimpleTagPattern(SMART_STRONG_RE, 'strong'),
def makeExtension(*args, **kwargs):
return SmartEmphasisExtension(*args, **kwargs)