summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-02-07 19:14:37 +0000
committerMichael Williamson <mike@zwobble.org>2015-02-07 19:14:37 +0000
commitdddae889d26e34bf9e3007839be6c8c888907a32 (patch)
tree8d61e81b7371293454c6c3fbe65e2db7cb1b544c
parent57eddaefd1961884cddbaf427459822ad8811aeb (diff)
Escape special markdown characters
-rw-r--r--mammoth/writers/markdown.py8
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))