- Left/right arrows navigate between Interlinear and PDF buttons
- When in action zone, arrows move horizontally between buttons
- When in verse zone, left/right still navigate chapters as before
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Interlinear and PDF buttons now selectable with up/down navigation
- Up from first verse moves to action buttons, down from actions to verses
- Initial selection starts with verses (not actions) as requested
- Fixed read-aloud to exclude sidenotes from verse text
- Added selected state styling for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added KJVSpeech global helper using Web Speech API
- Space key reads aloud any element with green box selection
- Works on all pages with keyboard navigation (resources, parables, etc.)
- Chapter page has specialized handler for verse text
- Prefers English voices, cleans up text (removes verse numbers)
- Added Space key to keyboard shortcuts help modal
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added global KJVNav helpers to base.html and updated 32 templates
to start keyboard selection from the viewport when the current
selection is off-screen. This provides a more intuitive navigation
experience - pressing up/down after scrolling starts from what's
visible rather than jumping to an off-screen location.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove study guides from homepage keyboard nav (too inline/sloppy)
- Add paragraph-level nav to resource_index.html (soteriology, etc.)
- Stories index: add category navigation, Enter jumps to first story in category
- Story kids: add adult callout and PDF button to nav
- Detail pages (topic, resource, reading_plan, parable): include paragraphs,
verse items, and PDF buttons in keyboard nav
- Chapter page: add 'i' for interlinear, 'p' for PDF shortcuts
- Book page: add 'p' for PDF shortcut
- Chapter interlinear: add 'p' for PDF shortcut
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Left arrow now uses history.back() when the URL has a verse hash
(indicating the user came from a story or verse link), otherwise
navigates to previous chapter as before.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Verse page:
- Now paragraph-based instead of section-based
- Up/down moves through paragraphs, cross-refs, interlinear
- Enter on interlinear enters word mode (like interlinear page)
- Left/right for word navigation in word mode
- Enter toggles word expansion
- Escape exits modes
Chapter page:
- Added h/l vim keys for prev/next chapter
- Added Escape to clear verse selection
- Left now falls back to book page if no prev chapter
Added Escape to clear selection on:
- topic_detail.html
- parable_detail.html
- study_guide_detail.html (also added Enter to follow links)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When navigating to a chapter with a verse hash (e.g., #verse-24),
keyboard navigation now starts from that verse instead of -1.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Chapter view:
- ↑/↓ or j/k to select verses with visual highlight
- Enter to navigate to selected verse detail page
- Click on verse to select it
- Updated nav help text with new shortcuts
Verse detail page:
- ← to go back to chapter view (scrolls to current verse)
- ↑/↓ or j/k to navigate between verses
- Maintains existing ←/→ for chapter navigation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- New Interlinear button next to PDF button
- Links to /book/{book}/chapter/{chapter}/interlinear
- Language/translation icon for the button
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Tightened template formatting to ensure no space appears
between the last reference and the period.
Now: Genesis 2:5.
Not: Genesis 2:5 .
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Each grouped cross-reference line now ends with a period for
proper punctuation.
Example:
References God: Hebrews 6:7; Genesis 1:29; Matthew 6:30.
Creation: Genesis 1:1; Hebrews 11:3; Isaiah 45:18.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Instead of creating multiple sidenotes (one per cross-reference),
all cross-references for a verse are now grouped into a single
sidenote with line breaks between them.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Sidenotes now continue numbering throughout the chapter
instead of resetting to 1 at each verse.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace 'color: inherit' with explicit color values to prevent sidenotes and word definitions from inheriting red color. Using #111 for light theme and #ddd for dark theme ensures proper contrast and readability.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Ensure all sidenote number elements are excluded from inheriting red letter color by adding .sidenote-number selector in addition to label.sidenote-number.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Prevent sidenotes from inheriting red color from red letter text by adding CSS rules that reset color inheritance for .sidenote, .marginnote, and .sidenote-number elements nested within .words-of-christ spans.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Expanded Revelation commentary from 45 to 335 verses (83% coverage),
providing detailed apocalyptic interpretation, Greek word studies, and
encouragement for persecuted believers. Also added red letter edition
support to highlight words of Christ throughout the Bible.
Revelation commentary additions:
- 290 new verses with comprehensive analysis
- All 22 chapters now have rich commentary coverage
- Apocalyptic imagery and symbolism explained
- First-century persecution context provided
- Multiple interpretive approaches acknowledged
- Christ-centered application for modern believers
Red letter edition features:
- Words of Christ highlighted in red in verse and chapter displays
- Complete database of Jesus' spoken words across all four Gospels
- Dark mode compatible color scheme
- Enhances readability and focus on Christ's teachings
Total verse commentary database now contains 14,827 verses across
all 66 books of the Bible with theological depth, practical application,
and reflection questions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add CSS to properly space and reset sidenote counters for each verse.
Prevents sidenote numbers from overlapping or appearing too close to
verse numbers.
Changes:
- Add margin to sidenote labels that follow verse numbers
- Reset sidenote counter for each verse paragraph
- Ensures clean numbering within each verse
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implement red verse numbers to distinguish verses that have detailed
JSON-based commentary from those with generic template commentary.
Changes:
- Add is_enhanced flag to commentary generation logic
- Style verse numbers red when enhanced commentary exists
- Support both light mode (crimson) and dark mode (bright red)
Verses with enhanced commentary in verse_commentary.json now display
with red numbers, making it easy for users to identify which verses
have additional study resources available.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add description blocks to verse, chapter, book, and study guide templates
- Include "KJV" in descriptions for better SEO (commonly searched term)
- Verse pages now show verse text in description (155 chars)
- Chapter pages show book/chapter info with first verse excerpt
- Book pages include book introduction excerpt when available
- Homepage and other index pages have descriptive meta tags
- All templates now have proper SEO-friendly meta descriptions
Verified all other resource templates already had descriptions.
All tests passing (268 passed, 1 skipped).
🤖 Generated with Claude Code
https://claude.com/claude-code
Co-Authored-By: Claude <noreply@anthropic.com>
Re-add the filter function that was accidentally removed during
refactoring. This filter injects sidenote markers into verse text
for word study annotations.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create utils/ package with:
- books.py: Book name normalization and abbreviations
- search.py: Full-text search functionality
- helpers.py: Common utilities (verse parsing, daily verse, etc.)
- Create routes/ package with:
- api.py: All /api/* endpoints extracted to APIRouter
- Update server.py to:
- Import from new modular structure
- Include API router for cleaner organization
This is the first step toward breaking up the 12,600+ line server.py
into maintainable modules. The old API routes in server.py are still
present as a transition - they can be removed once tests confirm the
new router works correctly.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Reorder chapter view so commentary appears after the Scripture text
rather than before it, allowing readers to engage with the primary
text before reading interpretive material.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implement automatic word-study sidenote system that adds original language
insights throughout all 66 books of Scripture.
**24 Theological Terms Covered:**
- Divine names: God (Elohim/Theos), LORD (YHWH/Kurios)
- Core theology: love, faith, grace, mercy, righteous, salvation, redeem
- Covenant terms: covenant (berit/diatheke), sacrifice, kingdom
- Attributes: glory (kavod/doxa), holy (qadosh/hagios), peace (shalom/eirene)
- Additional: spirit, wisdom, truth, sin, word (davar/logos)
- NT terms: church (ekklesia), baptize, gospel (euangelion)
**Features:**
- Testament-aware: OT shows Hebrew/Aramaic, NT shows Greek
- Each sidenote includes:
- Original language script (אֱלֹהִים, Θεός, etc.)
- Transliteration (Elohim, Theos, etc.)
- Rich theological explanation
- Cross-references where relevant
**Coverage:**
- Automatic detection in every verse across all chapters
- Multiple word studies per verse when applicable
- Scholarly depth matching professional study Bibles
**Result:**
Every chapter now functions as a mini Hebrew/Greek lexicon. Verses like
Genesis 1:1 show "God: אֱלֹהִים (Elohim) - plural of majesty suggesting Trinity"
John 3:16 shows "Love: ἀγάπη (Agape) - self-sacrificial divine love"
Transforms kjvstudy.org into comprehensive original language study resource.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Clean up chapter pages by removing historical context marginnotes.
Keeps cross-reference sidenotes but removes historical commentary
for cleaner presentation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Chapter page improvements:
- Styled navigation container with modern UI
- Previous/Next chapter buttons prominently displayed
- Chapter dropdown selector for quick jumping
- "Back to book" button for context navigation
- Visual hierarchy with primary/secondary button styles
Keyboard navigation:
- Left arrow key: Navigate to previous chapter
- Right arrow key: Navigate to next chapter
- Prevents navigation when user is in input fields
Enhanced UX:
- Clear visual feedback on button hover
- Helpful tip about keyboard shortcuts
- Accessible select dropdown with all chapters
- Responsive design compatible with mobile styles
The navigation container is styled consistently with
site design using CSS variables for theming support.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Cross-Reference System:
- Create comprehensive cross-reference database with 100+ key verses
- Map theological themes, prophecies, and doctrinal connections
- Add cross-references section to verse pages
- Include explanatory notes for each reference
- Link all cross-references to their verse pages
Books Page (/books):
- Create dedicated page listing all 66 books
- Organize by Old Testament (39 books) and New Testament (27 books)
- Show chapter count for each book
- Add scholarly introduction to each testament
- Grid layout with hover effects
- Update "Authorized King James Version" links to point to /books
Additional Improvements:
- Update verse, book, and chapter templates with /books links
- Add navigation guidance on books page
- Integrate cross-references module into server
- Parse reference strings for proper linking
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implement 8 theological resource pages with scholarly content:
* Biblical Angels: Named angels, orders, and activities
* Biblical Prophets: Major and minor prophets
* Biblical Covenants: Five major covenants
* Biblical Festivals: Spring and fall feasts
* Names of God: Hebrew names and titles
* Parables of Jesus: Categorized with interpretations
* The Twelve Apostles: All twelve with biographies
* Women of the Bible: Notable women throughout Scripture
- Add collapsible sidebar navigation:
* Toggle button with +/- icons
* Starts collapsed by default
* State persists via localStorage
* Clean positioning and animations
- Enhance homepage with theological studies section
- All pages use Tufte CSS with sidenotes
- All pages include verse linking and name linking
- Consistent scholarly tone with Hebrew/Greek annotations
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Check scrollHeight vs clientHeight to determine if content is actually
truncated before showing the fade gradient.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Apply max-height and click-to-expand behavior to both .sidenote
and .marginnote elements. Adds fade gradient and proper positioning.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The commit removes the Scofield commentary feature and sidebar navigation, switching to a cleaner mobile-first layout. The main content is now centered with a max-width, and navigation is handled through a bottom bar.
The longer commit message isn't necessary since the subject line adequately describes the changes - making the chapter page responsive and compatible with the fixed sidebar layout across different screen sizes.
Replaces location.hash with history.pushState to prevent page jumps,
consolidates hash change handling into a single function, and updates
the page title to include the current verse number for better UX.