From 9585617ecd14c19093a29886c31a7764c72b4dbb Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 5 Dec 2025 07:39:29 -0500 Subject: [PATCH] Remove every-other-verse restriction for word studies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Word studies now appear on any verse with matching words, not just odd-numbered verses. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- kjvstudy_org/routes/commentary.py | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/kjvstudy_org/routes/commentary.py b/kjvstudy_org/routes/commentary.py index 9ea6538..0f04996 100644 --- a/kjvstudy_org/routes/commentary.py +++ b/kjvstudy_org/routes/commentary.py @@ -404,30 +404,15 @@ def generate_word_study_sidenotes(verse_text, book, chapter, verse_num, shown_wo }) added_words.add(word) - # Intelligently select only 1-2 word studies per verse to avoid repetition - # Use verse position to determine which studies to show if not potential_sidenotes: return [] - # For PDF output, show all unique word studies (still avoiding repetition across chapter) - if for_pdf: - import random - random.seed(f"{book}{chapter}{verse_num}") - # Show up to 2 word studies per verse for PDF - max_sidenotes = min(2, len(potential_sidenotes)) - return random.sample(potential_sidenotes, max_sidenotes) if max_sidenotes > 0 else [] - - # Deterministic selection based on verse number for consistency - # Show sidenotes on every other verse (verses 1, 3, 5, 7, etc.) - # This ensures roughly 50% of verses show studies while being predictable - if verse_num % 2 == 0: - return [] # Skip even-numbered verses - + # Deterministic selection based on verse for consistency import random random.seed(f"{book}{chapter}{verse_num}") - # Show only 1 sidenote per verse to prevent horizontal collision in margin - max_sidenotes = 1 + # Show 1 sidenote per verse (2 for PDF) to prevent horizontal collision in margin + max_sidenotes = 2 if for_pdf else 1 # Randomly select which word study to show from those available selected = random.sample(potential_sidenotes, min(max_sidenotes, len(potential_sidenotes)))