- John 15:14,17 (friendship and love command)
- Psalm 91:6,7,8,10,12,13,14,16 (complete protection psalm)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Filled key verse gaps in important chapters:
- John 14:5,7,8,9,10 (Upper Room discourse)
- John 15:3,6,8 (Vine and branches)
- Psalm 91:4,5 (Under His wings)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Generated theological commentary with Hebrew/Greek analysis,
historical context, and reflection questions for verses that
were missing commentary in the verse of the day collection.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed 64 occurrences of "Psalm" to "Psalms" to match the
canonical book name used by the Bible API. This was causing
verses to fall back to John 3:16 instead of showing the
correct verse with its devotional.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add devotional content for all 31 featured verses with title, theme,
opening, meditation, application, and prayer
- Redesign VOTD page with hero layout, centered verse, elegant divider
- Add application card and prayer card with distinct styling
- Add Listen button for text-to-speech of full devotional
- Add collapsible archive for past 30 days
- Consolidate get_daily_verse() function (remove duplicate from main.py)
- Load featured verses from JSON instead of hardcoded list
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Systematically reviewed Psalm stanza break placements and fixed
off-by-one errors where breaks were at section endings rather than
beginnings of new sections.
Fixed Psalms: 35, 38, 56-61, 64, 69-71, 74-76, 79-80, 82-83, 85, 88
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Luke 2: [14,32,35] → [14,33] - break after Nunc Dimittis ends at v32
- Revelation 7: [12,17] → [13] - v12 is part of angels' hymn, v13 starts elder's question
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix Psalm 119: now breaks every 8 verses for acrostic structure
- Fix Song of Solomon: correct speaker change breaks
- Add scholarly stanza breaks for all 150 Psalms
- Add breaks for Job, Proverbs, Lamentations, Ecclesiastes
- Extract stanza break data from eBible USFX (199 breaks across 127 psalms)
- Add poetry_loader utility to identify poetry books and stanza breaks
- Render Psalms with verse-per-line layout and ❧ ornament at stanza breaks
- Add stanza break styling to chapter and book PDF exports
- Web view: decorative hedera with subtle line divider
- PDF view: simple horizontal rule for stanza breaks
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Adds 2,543 section headings (e.g., "The Sermon on the Mount",
"The Suffering Servant") that display before verses in chapter
pages. Headings are loaded from JSON and rendered as styled h3
elements in the Tufte typography style.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
New word studies for theologically significant terms:
- Salvation/soteriology: save, justify, sanctify, propitiation, atonement,
reconcile, redeem, impute
- Faith/belief: repent, believe, confess, born again
- Ecclesiology: elect, predestine, adoption, inheritance
- Other: forgive, mediator, comforter, witness
Also links Greek/Hebrew terms in sidenotes to their Strong's concordance
pages (e.g., λόγος links to /strongs/G3056).
Total word studies: 72
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Word study sidenotes on chapter views now verify that the Greek/Hebrew
word in the verse matches the expected Strong's number before displaying.
This prevents showing definitions for the wrong underlying word when the
same English word translates different original language terms.
Changes:
- Add Strong's numbers to all 50+ word studies in word_studies.json
- Update generate_word_study_sidenotes() to check interlinear data
- Only show word study if one of its Strong's numbers is in the verse
Example: "word" in Matthew 4:4 uses G4487 (rhema), not G3056 (logos),
so the logos-focused word study won't appear there incorrectly.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The narrative introductions to the seven church letters ("And unto the
angel of the church in X write;") were incorrectly marked as Jesus's
words. Only the portion after "write;" where Jesus actually speaks
should be red.
Fixed 8 verses:
- Rev 1:17: Exclude John's narrative intro
- Rev 2:1, 2:8, 2:12, 2:18: Exclude "unto the angel...write" intros
- Rev 3:1, 3:7, 3:14: Same fix for remaining church letters
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added missing verse 14:17 with Hebrew word studies (shēm, pachad)
and theological analysis connecting to Messianic kingdom.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- New /red-letter route with filterable, paginated verse list
- Stats showing total verses, full/partial breakdown
- Red letter text rendering with highlighting
- Keyboard navigation support
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Streamlined structure, added AI commentary, Strong's Concordance details,
family tree explorer, PDF export, accessibility features, and API docs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add "Solomon's Song" and "Solomons Song" as aliases that redirect
to "Song of Solomon" for backwards compatibility with old links.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update verse references in verses-1769.json
- Rename data files (solomons_song.json -> song_of_solomon.json)
- Update book mappings in books.py
- Fix VerseReference.from_string() to handle multi-word book names
like "Song of Solomon" (was only handling 2-word names)
- Update sitemap and metadata files
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The verse_collections module is not tracked in git and unused.
Removes tests that were failing in CI due to missing module.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Rename 'hebrew' field to 'original'
- Add 'H' prefix to Strong's numbers
- Add position, parsing, and definition fields
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Achieves 100% interlinear coverage for all 31,102 verses in the KJV Bible.
Hebrew word-by-word data with transliterations, Strong's numbers, and
English translations fetched from Bible Hub.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>