aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mammoth/writers/markdown.py7
-rw-r--r--tests/writers/markdown_tests.py7
2 files changed, 14 insertions, 0 deletions
diff --git a/mammoth/writers/markdown.py b/mammoth/writers/markdown.py
index 10550d4..4aa73d5 100644
--- a/mammoth/writers/markdown.py
+++ b/mammoth/writers/markdown.py
@@ -34,6 +34,12 @@ def _hyperlink(attributes):
return _default_output
+def _image(attributes):
+ src = attributes.get("src")
+ alt_text = attributes.get("alt")
+ return _WriterOutput("![{0}]({1})".format(alt_text, src), "")
+
+
def _init_writers():
writers = {
"p": _Wrapped("", "\n\n"),
@@ -41,6 +47,7 @@ def _init_writers():
"strong": _symmetric_wrapped("__"),
"em": _symmetric_wrapped("*"),
"a": _hyperlink,
+ "img": _image,
}
for level in range(1, 7):
diff --git a/tests/writers/markdown_tests.py b/tests/writers/markdown_tests.py
index 82131b4..dd25818 100644
--- a/tests/writers/markdown_tests.py
+++ b/tests/writers/markdown_tests.py
@@ -110,6 +110,13 @@ def links_have_anchors_before_opening_square_bracket():
writer.text("Hello")
writer.end("a")
assert_equal('<a id="start"></a>[Hello](http://example.com)', writer.as_string())
+
+
+@istest
+def image_elements_are_written_as_markdown_images():
+ writer = _create_writer()
+ writer.self_closing("img", {"src": "http://example.com/image.jpg", "alt": "Alt Text"})
+ assert_equal("![Alt Text](http://example.com/image.jpg)", writer.as_string())
def _create_writer():