summaryrefslogtreecommitdiff
path: root/src/pymdvar/pymdvar.py
blob: aa62cfddbf62fd35bdd06f6cd78593acbbe0747f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from markdown.extensions import Extension
from markdown.inlinepatterns import Pattern

VARIABLE_RE = r'\$\{(\w+)\}'


class VariablePattern(Pattern):
    def handleMatch(self, m):
        variable = m.group(2)
        return variable


def makeExtension(*args, **kwargs):
    return VariableExtension(*args, **kwargs)


class VariableExtension(Extension):
    def extendMarkdown(self, md):
        md.inlinePatterns.register(VariablePattern(VARIABLE_RE), 'var', 175)