diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-02-07 19:14:37 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-02-07 19:14:37 +0000 |
| commit | dddae889d26e34bf9e3007839be6c8c888907a32 (patch) | |
| tree | 8d61e81b7371293454c6c3fbe65e2db7cb1b544c /mammoth | |
| parent | 57eddaefd1961884cddbaf427459822ad8811aeb (diff) | |
Escape special markdown characters
Diffstat (limited to 'mammoth')
| -rw-r--r-- | mammoth/writers/markdown.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mammoth/writers/markdown.py b/mammoth/writers/markdown.py index c4e1158..76e4f90 100644 --- a/mammoth/writers/markdown.py +++ b/mammoth/writers/markdown.py @@ -1,12 +1,14 @@ from __future__ import unicode_literals +import re + class MarkdownWriter(object): def __init__(self): self._fragments = [] def text(self, text): - self._fragments.append(text) + self._fragments.append(_escape_markdown(text)) def start(self, name, attributes=None): pass @@ -23,3 +25,7 @@ class MarkdownWriter(object): def as_string(self): return "".join(self._fragments) + + +def _escape_markdown(value): + return re.sub(r"([\`\*_\{\}\[\]\(\)\#\+\-\.\!])", r"\\\1", re.sub("\\\\", "\\\\\\\\", value)) |
