From dddae889d26e34bf9e3007839be6c8c888907a32 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 7 Feb 2015 19:14:37 +0000 Subject: Escape special markdown characters --- mammoth/writers/markdown.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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)) -- cgit v1.2.3