diff --git a/src/calibre/ebooks/txt/markdownml.py b/src/calibre/ebooks/txt/markdownml.py
index 2ea3e7dafe..2f7960e94c 100644
--- a/src/calibre/ebooks/txt/markdownml.py
+++ b/src/calibre/ebooks/txt/markdownml.py
@@ -31,9 +31,12 @@ class MarkdownMLizer(object):
for item in self.oeb_book.spine:
self.log.debug('Converting %s to Markdown formatted TXT...' % item.href)
html = unicode(etree.tostring(item.data, encoding=unicode))
- if self.opts.remove_links:
+ if not self.opts.keep_links:
html = re.sub(r'<\s*a[^>]*>', '', html)
html = re.sub(r'<\s*/\s*a\s*>', '', html)
+ if not self.opts.keep_image_references:
+ html = re.sub(r'<\s*img[^>]*>', '', html)
+ html = re.sub(r'<\s*img\s*>', '', html)
output += html2text(html)
output = u''.join(output)
diff --git a/src/calibre/ebooks/txt/output.py b/src/calibre/ebooks/txt/output.py
index a6f52f92ca..a6369b6f0b 100644
--- a/src/calibre/ebooks/txt/output.py
+++ b/src/calibre/ebooks/txt/output.py
@@ -48,11 +48,16 @@ class TXTOutput(OutputFormatPlugin):
OptionRecommendation(name='markdown_format',
recommended_value=False, level=OptionRecommendation.LOW,
help=_('Produce Markdown formatted text.')),
- OptionRecommendation(name='remove_links',
+ OptionRecommendation(name='keep_links',
recommended_value=False, level=OptionRecommendation.LOW,
- help=_('Remove links within the document. This is only ' \
- 'useful when paried with the markdown-format option because' \
- 'links are removed with plain text output.')),
+ help=_('Do not remove links within the document. This is only ' \
+ 'useful when paired with the markdown-format option because' \
+ 'links are always removed with plain text output.')),
+ OptionRecommendation(name='keep_image_references',
+ recommended_value=False, level=OptionRecommendation.LOW,
+ help=_('Do not remove image references within the document. This is only ' \
+ 'useful when paired with the markdown-format option because' \
+ 'image references are always removed with plain text output.')),
])
def convert(self, oeb_book, output_path, input_plugin, opts, log):
diff --git a/src/calibre/gui2/convert/txt_output.py b/src/calibre/gui2/convert/txt_output.py
index 3d35151bb8..2fafad4b43 100644
--- a/src/calibre/gui2/convert/txt_output.py
+++ b/src/calibre/gui2/convert/txt_output.py
@@ -21,7 +21,7 @@ class PluginWidget(Widget, Ui_Form):
def __init__(self, parent, get_option, get_help, db=None, book_id=None):
Widget.__init__(self, parent,
['newline', 'max_line_length', 'force_max_line_length',
- 'inline_toc', 'markdown_format', 'remove_links'])
+ 'inline_toc', 'markdown_format', 'keep_links', 'keep_image_references'])
self.db, self.book_id = db, book_id
self.initialize_options(get_option, get_help, db, book_id)
diff --git a/src/calibre/gui2/convert/txt_output.ui b/src/calibre/gui2/convert/txt_output.ui
index 75eac8f5fc..19e4ec52a1 100644
--- a/src/calibre/gui2/convert/txt_output.ui
+++ b/src/calibre/gui2/convert/txt_output.ui
@@ -6,7 +6,7 @@
0
0
- 470
+ 477
300
@@ -27,7 +27,7 @@
-
- -
+
-
Qt::Vertical
@@ -75,9 +75,16 @@
-
-
+
- Remove links (<a> tags) before processing
+ Do not remove links (<a> tags) before processing
+
+
+
+ -
+
+
+ Do not remove image references before processing