diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index 39b2fae678..993edea279 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -1010,7 +1010,10 @@ class Manifest(object): def __str__(self): data = self.data if isinstance(data, etree._Element): - return xml2str(data, pretty_print=self.oeb.pretty_print) + ans = xml2str(data, pretty_print=self.oeb.pretty_print) + if self.media_type in OEB_DOCS: + ans = re.sub(r'<(div|a)([^>]*)/>', r'<\1\2>', ans) + return ans if isinstance(data, unicode): return data.encode('utf-8') if hasattr(data, 'cssText'): diff --git a/src/calibre/ebooks/oeb/transforms/structure.py b/src/calibre/ebooks/oeb/transforms/structure.py index d5d17cdd07..c377a8b3a8 100644 --- a/src/calibre/ebooks/oeb/transforms/structure.py +++ b/src/calibre/ebooks/oeb/transforms/structure.py @@ -78,6 +78,7 @@ class DetectStructure(object): page_break_after = 'display: block; page-break-after: always' for item, elem in self.detected_chapters: text = u' '.join([t.strip() for t in elem.xpath('descendant::text()')]) + text = text.strip() self.log('\tDetected chapter:', text[:50]) if chapter_mark == 'none': continue diff --git a/src/calibre/manual/conversion.rst b/src/calibre/manual/conversion.rst index 848c7477c0..15a4e869bd 100644 --- a/src/calibre/manual/conversion.rst +++ b/src/calibre/manual/conversion.rst @@ -4,3 +4,5 @@ E-book Conversion =================== + +This section is under construction. In the meantime, you can see some documentation of the command line interface to conversion at :ref:`ebook-convert`. diff --git a/src/calibre/manual/custom.py b/src/calibre/manual/custom.py index 9f360016a0..2b1d1d6dcd 100644 --- a/src/calibre/manual/custom.py +++ b/src/calibre/manual/custom.py @@ -123,7 +123,9 @@ def generate_ebook_convert_help(): ''') c = 0 sections = [] + toc = {} for ip in input_format_plugins(): + toc[ip.name] = [] for op in output_format_plugins(): c += 1 idr = 'ebook-convert-sec-'+str(c) @@ -131,7 +133,7 @@ def generate_ebook_convert_help(): section = '.. _'+idr+':||||' section += title+'||'+\ '-------------------------------------------------------' - #ans += ' * :ref:`'+idr+'`\n' + toc[ip.name].append([idr, op.name]) parser, plumber = create_option_parser(['ebook-convert', 'dummyi.'+list(ip.file_types)[0], 'dummyo.'+op.file_type, '-h'], default_log) @@ -144,7 +146,14 @@ def generate_ebook_convert_help(): sections.append(section) - ans += '||||'+'||||'.join(sections) + toct = '||||' + for ip in sorted(toc): + toct += ' * '+ip+'||||' + for idr, name in toc[ip]: + toct += ' * :ref:`'+name +' <'+idr+'>`||' + toct += '||' + + ans += toct+'||||'+'||||'.join(sections) return ans