From 6a36ee5303addbf1ce5f95dfa5e4c0d419cf1d9d Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 8 Feb 2015 20:36:38 +0000 Subject: Handle img elements in markdown writer --- mammoth/writers/markdown.py | 7 +++++++ tests/writers/markdown_tests.py | 7 +++++++ 2 files changed, 14 insertions(+) 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('[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(): -- cgit v1.2.3