33 lines
840 B
Python
33 lines
840 B
Python
from markdown.extensions import Extension
|
|
from markdown.inlinepatterns import SimpleTagPattern
|
|
from markdown.inlinepatterns import SimpleTextPattern
|
|
from markdown.util import etree
|
|
|
|
from markdone_python.common import tag_pattern
|
|
|
|
|
|
class SimpleTagPattern(Pattern): # pragma: no cover
|
|
"""
|
|
Return element of type `tag` with a text attribute of group(3)
|
|
of a Pattern.
|
|
|
|
"""
|
|
def __init__(self, pattern, tag):
|
|
Pattern.__init__(self, pattern)
|
|
self.tag = tag
|
|
|
|
def handleMatch(self, m):
|
|
el = util.etree.Element(self.tag)
|
|
el.text = m.group(3)
|
|
return el
|
|
|
|
|
|
class MarkdoneExtension(Extension):
|
|
def extendMarkdown(self, md, md_globals):
|
|
md.inlinePatterns.add(
|
|
'markdone_tag',
|
|
SimpleTagPattern(tag_pattern.pattern, 'em'),
|
|
'_begin',
|
|
)
|
|
|