From 76743a021084c5082a207ef9def6a95c2068b207 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 20 Aug 2024 08:18:34 +0530 Subject: [PATCH] Also create a page list anchor map in the book metadata --- src/calibre/srv/render_book.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/calibre/srv/render_book.py b/src/calibre/srv/render_book.py index 8e5c52e289..7a22165903 100644 --- a/src/calibre/srv/render_book.py +++ b/src/calibre/srv/render_book.py @@ -193,6 +193,18 @@ def toc_anchor_map(toc): return dict(ans) +def pagelist_anchor_map(page_list): + ans = defaultdict(list) + seen_map = defaultdict(set) + for x in page_list: + name = x['dest'] + frag = x['frag'] + if name and frag not in seen_map[name]: + ans[name].append({'frag':frag}) + seen_map[name].add(frag) + return dict(ans) + + class SimpleContainer(ContainerBase): tweak_mode = True @@ -749,6 +761,7 @@ def process_exploded_book( 'link_to_map': {}, 'page_progression_direction': page_progression_direction, 'page_list': page_list, + 'pagelist_anchor_map': pagelist_anchor_map(page_list), } names = sorted(