From b756fc930a2e804a1b438dc622adf43f73edf148 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Tue, 2 Dec 2025 12:05:28 -0500 Subject: [PATCH] Change cross-reference links to use chapter view with anchors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Same chapter refs: use anchor (#verse-X) - Different chapter/book refs: link to chapter view with anchor - Keeps users in reading flow instead of jumping to dedicated verse page 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- kjvstudy_org/server.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kjvstudy_org/server.py b/kjvstudy_org/server.py index ee103f4..b9f6bb2 100644 --- a/kjvstudy_org/server.py +++ b/kjvstudy_org/server.py @@ -2353,7 +2353,19 @@ async def read_chapter(request: Request, book: str, chapter: int): grouped_refs = defaultdict(list) for ref in cross_refs: description = ref['note'] if ref['note'] else 'Related' - url = f"/book/{ref['ref'].rsplit(' ', 1)[0]}/chapter/{ref['ref'].rsplit(' ', 1)[1].split(':')[0]}/verse/{ref['ref'].rsplit(' ', 1)[1].split(':')[1]}" if ' ' in ref['ref'] and ':' in ref['ref'] else '#' + # Parse the reference to build URL + if ' ' in ref['ref'] and ':' in ref['ref']: + ref_book = ref['ref'].rsplit(' ', 1)[0] + ref_chapter_verse = ref['ref'].rsplit(' ', 1)[1] + ref_chapter = ref_chapter_verse.split(':')[0] + ref_verse = ref_chapter_verse.split(':')[1] + # Same chapter: use anchor link; different chapter/book: link to chapter view with anchor + if ref_book == book and ref_chapter == str(chapter): + url = f"#verse-{ref_verse}" + else: + url = f"/book/{ref_book}/chapter/{ref_chapter}#verse-{ref_verse}" + else: + url = '#' grouped_refs[description].append({ 'text': ref['ref'], 'url': url