diff options
| -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)) |
