Commit Graph

82 Commits

Author SHA1 Message Date
kennethreitz 7f25e58c81 Add left/right arrow navigation for action buttons
- 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>
2025-11-30 00:54:29 -05:00
kennethreitz 71462d3097 Add keyboard-selectable action buttons on chapter pages
- 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>
2025-11-30 00:53:38 -05:00
kennethreitz df2272188f Add universal text-to-speech for keyboard-selected content
- 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>
2025-11-30 00:50:20 -05:00
kennethreitz 0d9cf71a87 Add viewport-aware keyboard navigation site-wide
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>
2025-11-30 00:39:20 -05:00
kennethreitz 40b86ffaf7 Comprehensive keyboard navigation improvements
- 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>
2025-11-30 00:24:33 -05:00
kennethreitz d8e7c999bd Use browser back when navigating from verse-highlighted chapter
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>
2025-11-30 00:01:30 -05:00
kennethreitz f852ad602f Improve keyboard navigation consistency
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>
2025-11-29 23:25:34 -05:00
kennethreitz 1e901d7118 Initialize verse keyboard nav from URL hash
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>
2025-11-29 18:29:42 -05:00
kennethreitz dd0a9d0f9b Add keyboard navigation for verses on chapter and verse pages
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>
2025-11-29 18:28:56 -05:00
kennethreitz b025280cf1 Add interlinear link to chapter view
- 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>
2025-11-29 16:12:17 -05:00
kennethreitz d782378947 Remove chapter overview section from chapter pages
- Removed chapter overview HTML block and conditional rendering
- Removed .chapter-overview-divider CSS styling
- Removed JavaScript code that linked verse references in overview
- Streamlines chapter pages to focus on verse content

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 20:39:45 -05:00
kennethreitz 3ac3498d33 Remove space before period in cross-reference groups
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>
2025-11-28 16:22:53 -05:00
kennethreitz 86d111942d Add period at end of each cross-reference group line
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>
2025-11-28 16:22:02 -05:00
kennethreitz 46fb97dd97 Group cross-references by description
Cross-references are now organized by their thematic description
instead of being listed individually. This creates a cleaner display:

Before:
Colossians 3:10 — Parallel theme; Ephesians 4:24 — References God;
Genesis 3:22 — References God; Psalms 100:3 — References God...

After:
**References God:** Ephesians 4:24; Genesis 3:22; Psalms 100:3
**Parallel theme:** Colossians 3:10; 2 Corinthians 3:18

Much more readable and scannable!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 16:21:05 -05:00
kennethreitz 4b97e8e959 Use semicolons to separate cross-references
Changed from line breaks to semicolons for more compact
cross-reference display in sidenotes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 16:17:04 -05:00
kennethreitz d2bfbfd6a3 Group cross-references into single sidenote per verse
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>
2025-11-28 16:16:32 -05:00
kennethreitz 4ed7706577 Remove sidenote counter reset per verse
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>
2025-11-28 16:09:55 -05:00
kennethreitz c4485423cf Fix red letter color inheritance by using explicit colors
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>
2025-11-28 15:17:40 -05:00
kennethreitz 6cc7c3f5e0 Add .sidenote-number to red letter color exclusions
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>
2025-11-28 15:16:16 -05:00
kennethreitz f0b3dc5d27 Fix sidenote markers appearing over verse numbers
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>
2025-11-28 15:14:00 -05:00
kennethreitz 099dc253e0 Add comprehensive Revelation commentary and red letter edition support
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>
2025-11-28 14:58:19 -05:00
kennethreitz e40c60e200 Fix sidenote markers appearing over verse numbers
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>
2025-11-28 13:09:20 -05:00
kennethreitz 96ccd613fa Add visual indicator for verses with enhanced commentary
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>
2025-11-28 13:01:32 -05:00
kennethreitz c5e71d652e Add meta description tags to all major page templates
- 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>
2025-11-27 22:16:17 -05:00
kennethreitz 87b31f7b6a Move chapter PDF button to header 2025-11-26 01:22:06 -05:00
kennethreitz 1156fb68e1 silly 2025-11-26 01:16:45 -05:00
kennethreitz bcae0d8832 Restore inject_word_markers filter for word studies
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>
2025-11-24 20:39:19 -05:00
kennethreitz 3492bcf182 Fix missing inject_word_markers filter in chapter template
Remove call to non-existent filter that was breaking tests.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 20:36:26 -05:00
kennethreitz 0dd02c6bf9 Add modular code structure with utils and routes packages
- 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>
2025-11-24 17:42:42 -05:00
kennethreitz d271cc29d9 Move chapter commentary after Bible text
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>
2025-11-22 16:16:02 -05:00
kennethreitz fac182dcca Enhance chapter commentary and add verse links to word studies
Major enhancements to Bible study features:

Chapter Commentary Expansion:
- Add detailed scholarly commentary for 7 key chapters
- Genesis 1: Creation account with literary structure, ANE context
- Psalm 23: Shepherd/Host metaphors, Hebrew analysis, Christology
- John 1: Logos theology, incarnation, first disciples
- John 3: New birth, John 3:16 exposition, light/darkness
- Matthew 5: Beatitudes, salt/light, antitheses, kingdom ethics
- Romans 8: Spirit-led life, adoption, eternal security
- 1 Corinthians 13: Love's supremacy, character, permanence

Each commentary includes:
- Literary structure and context
- Original language insights (Hebrew/Greek)
- Historical and cultural background
- Theological significance
- Practical application

Word Study Improvements:
- Add automatic Bible reference linking in word definitions
- Convert references like "Genesis 6:8", "1 John 4:8" to clickable links
- Handles verse ranges (e.g., "Romans 5:1-5")
- Supports numbered books (e.g., "1 Corinthians 13")

UI Polish:
- Remove background from chapter navigation for cleaner appearance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 08:11:54 -05:00
kennethreitz a288194398 Add comprehensive Hebrew/Greek/Aramaic word study sidenotes across entire Bible
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>
2025-11-21 21:13:16 -05:00
kennethreitz bcded2e6df Remove historical context sidenotes from chapter view pages
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>
2025-11-21 21:03:54 -05:00
kennethreitz be68358245 Fix dark navigation buttons to match Tufte aesthetic
Replace dark/black buttons with light bordered buttons:
- Default buttons: light background with border, hover with subtle fill
- Secondary buttons: transparent with lighter styling
- Consistent with overall clean, minimal design
- Better visual hierarchy and readability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:01:13 -05:00
kennethreitz 68e9d9bc9b Add enhanced chapter navigation with keyboard shortcuts
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>
2025-11-20 19:14:15 -05:00
kennethreitz c07ba06316 Add cross-references system and /books page
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>
2025-11-20 18:57:59 -05:00
kennethreitz b78b86a2f5 Add comprehensive theological resources and collapsible sidebar
- 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>
2025-11-20 18:50:40 -05:00
kennethreitz d2fc2748c7 Only show gradient on truncated sidenotes/marginnotes
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>
2025-11-14 16:50:31 -05:00
kennethreitz fe7a23306e Fix sidenote/marginnote expand functionality
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>
2025-11-14 16:49:19 -05:00
kennethreitz bb46f6d458 updates 2025-11-11 12:30:19 -05:00
kennethreitz 9fe291f7af updates 2025-11-11 12:24:34 -05:00
kennethreitz 417c392b26 Remove Scofield commentary and sidebar
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.
2025-06-02 12:49:31 -04:00
kennethreitz e71d2f9cb7 Split Scofield commentary script into separate block 2025-06-01 12:49:49 -04:00
kennethreitz eb2cceaff7 Make chapter page fully responsive with sidebar
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.
2025-06-01 12:49:19 -04:00
kennethreitz 7104f0789f Add function to escape Jinja2 syntax in text content 2025-05-30 21:13:53 -04:00
kennethreitz f4494a75f6 Add margin notes styling and layout for Bible chapters 2025-05-30 16:18:25 -04:00
kennethreitz 646196abd2 Enhance Scofield commentary UI and click handlers 2025-05-30 16:16:38 -04:00
kennethreitz 24c98a3be2 Add Scofield Commentary sidebar to chapter view 2025-05-30 16:14:52 -04:00
kennethreitz 63f633c32e Add per-verse sharing tools and legacy URL redirect 2025-05-30 12:54:01 -04:00
kennethreitz 431fa3236c Update verse navigation to use pushState and set page title
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.
2025-05-26 21:24:31 -04:00