summaryrefslogtreecommitdiff
path: root/mammoth/writers
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-02-08 20:20:33 +0000
committerMichael Williamson <mike@zwobble.org>2015-02-08 20:20:33 +0000
commit1236e907e724926dedfac0695b1eedbe0acf226f (patch)
tree752bbedcffa05da7cdbe19b504c6ddb1de15b622 /mammoth/writers
parent43c6b4c065d6581b93ae0e8a6dec673e6e029840 (diff)
Handle a tags in markdown writer
Diffstat (limited to 'mammoth/writers')
-rw-r--r--mammoth/writers/markdown.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/mammoth/writers/markdown.py b/mammoth/writers/markdown.py
index 8830277..66bc9f2 100644
--- a/mammoth/writers/markdown.py
+++ b/mammoth/writers/markdown.py
@@ -12,16 +12,22 @@ class _Wrapped(object):
self._start = start
self._end = end
- def __call__(self):
+ def __call__(self, attributes):
return self._start, self._end
+def _hyperlink(attributes):
+ href = attributes.get("href", "")
+ return "[", "]({0})".format(href)
+
+
def _init_writers():
writers = {
"p": _Wrapped("", "\n\n"),
"br": _Wrapped("", " \n"),
"strong": _symmetric_wrapped("__"),
"em": _symmetric_wrapped("*"),
+ "a": _hyperlink,
}
for level in range(1, 7):
@@ -31,7 +37,7 @@ def _init_writers():
_writers = _init_writers()
-_default_writer = lambda: ("", "")
+_default_writer = lambda attributes: ("", "")
class MarkdownWriter(object):
@@ -43,7 +49,7 @@ class MarkdownWriter(object):
self._fragments.append(_escape_markdown(text))
def start(self, name, attributes=None):
- start, end = _writers.get(name, _default_writer)()
+ start, end = _writers.get(name, _default_writer)(attributes)
self._fragments.append(start)
self._element_stack.append(end)