mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
When exporting highlights as text or markdown also output top level chapter titles
This commit is contained in:
parent
da6c7c6c3c
commit
d8649c6fed
@ -187,18 +187,29 @@ class Export(Dialog): # {{{
|
||||
for a in self.annotations:
|
||||
bid_groups.setdefault(a['book_id'], []).append(a)
|
||||
for book_id, group in bid_groups.items():
|
||||
chapter_groups = {}
|
||||
def_chap = (_('Unknown chapter'),)
|
||||
for a in group:
|
||||
toc_titles = a.get('toc_family_titles', def_chap)
|
||||
chapter_groups.setdefault(toc_titles[0], []).append(a)
|
||||
|
||||
lines.append('## ' + db.field_for('title', book_id))
|
||||
lines.append('')
|
||||
for a in group:
|
||||
atype = a['type']
|
||||
if library_id:
|
||||
link_prefix = f'calibre://view-book/{library_id}/{book_id}/{a["format"]}?open_at='
|
||||
else:
|
||||
link_prefix = None
|
||||
if atype == 'highlight':
|
||||
render_highlight_as_text(a, lines, as_markdown=as_markdown, link_prefix=link_prefix)
|
||||
elif atype == 'bookmark':
|
||||
render_bookmark_as_text(a, lines, as_markdown=as_markdown, link_prefix=link_prefix)
|
||||
|
||||
for chapter, group in chapter_groups.items():
|
||||
if len(chapter_groups) > 1:
|
||||
lines.append('### ' + chapter)
|
||||
lines.append('')
|
||||
for a in group:
|
||||
atype = a['type']
|
||||
if library_id:
|
||||
link_prefix = f'calibre://view-book/{library_id}/{book_id}/{a["format"]}?open_at='
|
||||
else:
|
||||
link_prefix = None
|
||||
if atype == 'highlight':
|
||||
render_highlight_as_text(a, lines, as_markdown=as_markdown, link_prefix=link_prefix)
|
||||
elif atype == 'bookmark':
|
||||
render_bookmark_as_text(a, lines, as_markdown=as_markdown, link_prefix=link_prefix)
|
||||
lines.append('')
|
||||
return '\n'.join(lines).strip()
|
||||
# }}}
|
||||
|
@ -141,8 +141,17 @@ class Export(ExportBase):
|
||||
lines = []
|
||||
as_markdown = fmt == 'md'
|
||||
link_prefix = link_prefix_for_location_links()
|
||||
for hl in self.annotations:
|
||||
render_highlight_as_text(hl, lines, as_markdown=as_markdown, link_prefix=link_prefix)
|
||||
chapter_groups = {}
|
||||
def_chap = (_('Unknown chapter'),)
|
||||
for a in self.annotations:
|
||||
toc_titles = a.get('toc_family_titles', def_chap)
|
||||
chapter_groups.setdefault(toc_titles[0], []).append(a)
|
||||
for chapter, group in chapter_groups.items():
|
||||
if len(chapter_groups) > 1:
|
||||
lines.append('### ' + chapter)
|
||||
lines.append('')
|
||||
for hl in group:
|
||||
render_highlight_as_text(hl, lines, as_markdown=as_markdown, link_prefix=link_prefix)
|
||||
return '\n'.join(lines).strip()
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user