Commit Graph

49 Commits

Author SHA1 Message Date
kennethreitz 3336863a4d Improve keyboard navigation consistency across site
- Add KJVNav.initGridNav for standardized 2D grid navigation
- Migrate books.html, topics.html, resources.html to use initGridNav
- Add sidebarActive check to all templates with custom keyboard handlers
- Add [ and ] shortcuts for prev/next chapter on chapter pages
- Add [ and ] shortcuts for prev/next book on book pages
- Update accessibility page with comprehensive keyboard shortcut docs
- Add honest note about keyboard navigation complexity
- Fix sidebar nav conflicting with main content selection

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 01:26:09 -05:00
kennethreitz 7606fa8c3a Remove smooth scrolling animation from all keyboard navigation
Changed scrollIntoView behavior from 'smooth' to 'auto' across all
templates for instant, non-animated navigation between selections.

Affected ~75 instances across 50+ template files.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 00:02:24 -05:00
kennethreitz cde67c3a51 Add left/right chapter navigation in book drilldown 2025-11-30 10:56:49 -05:00
kennethreitz 1d7bd64600 Make keyboard navigation viewport-aware on initial keypress
When you scroll the page and then press ↑ or ↓ for the first time, the selection now intelligently starts from what's currently visible in the viewport instead of always starting at the top.

**Behavior:**
- If chapter section is visible → starts there
- If scrolled past chapters → starts at first visible paragraph
- Selection only moves when you press a key (not automatically on scroll)

This makes navigation feel natural when combined with mouse/trackpad scrolling.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 09:06:26 -05:00
kennethreitz 0a2931030a Revert "Add viewport-aware scroll behavior to book view navigation"
This reverts commit 3fc86a09c0.
2025-11-30 09:05:43 -05:00
kennethreitz 3fc86a09c0 Add viewport-aware scroll behavior to book view navigation
Selection now automatically updates when scrolling to match what's visible in the viewport:

- When in chapter drilldown mode, scrolling updates to the first visible chapter
- When viewing paragraphs, scrolling updates to the first visible paragraph
- When chapter section is selected and scrolled off-screen, switches to paragraphs
- Debounced for smooth performance (150ms)

This makes keyboard navigation feel natural when combined with mouse/trackpad scrolling.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 09:05:38 -05:00
kennethreitz 314fe21577 Fix duplicate selection items for blockquotes in book view
Changed selector from selecting all paragraphs to only selecting direct children paragraphs, which prevents selecting both the blockquote and the paragraph inside it.

Before: `section:not(.chapters-section) p` selected p inside blockquotes
After: `section:not(.chapters-section) > p` only selects direct p children

This fixes the issue where Key Verses blockquotes had two selection items.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 09:04:32 -05:00
kennethreitz 2a94971a38 Refactor book view to use drilldown navigation with green box styling
**Book View Changes:**
- Chapter section is now a single item with green box outline
- Press ↓ to select chapter section
- Press Enter to drill down into individual chapters
- Press Esc to exit drilldown mode
- All paragraphs now use green box outline styling (consistent UX)

**Chapter View Changes:**
- Removed 'c' keyboard shortcut (reserved keyword)
- Updated help text

**Navigation Flow:**
1. Start: Press ↓ → selects chapter section (green box)
2. Press Enter → drills into first chapter number
3. Navigate ↑/↓ through chapter numbers
4. Press Enter on a chapter → navigate to that chapter
5. Press Esc → exit back to chapter section
6. Press ↓ from chapter section → move to paragraphs below

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 09:03:33 -05:00
kennethreitz 18c4359e10 Add two-zone keyboard navigation to book and chapter views
Book view now supports navigating both chapter links and introduction paragraphs. Chapter view supports navigating action buttons, verses, and chapter selector controls.

**Book View:**
- Navigate through chapter numbers with ↑/↓
- Continue down to navigate through introduction paragraphs
- Press Enter on chapters to read them
- Visual feedback with green highlights for both zones

**Chapter View:**
- Three-zone navigation: actions, verses, chapter selector
- Press 'c' to jump to chapter selector
- Press Enter in chapter selector to focus dropdown
- Escape to clear selections

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 09:00:07 -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 fb932671b2 Add comprehensive keyboard navigation across entire site
- Add global navigation shortcuts: b (books), s (search), r (resources),
  t (topics), p (plans), f (family tree), c (concordance), v (verse of day),
  g (verse lookup), backtick (toggle sidebar)
- Replace keyboard help alert with styled HTML modal (? key)
- Add arrow/vim-style navigation to all major pages:
  - Topics, topic detail, reading plans, reading plan detail
  - Study guides, parables, search results, resources
  - Family tree pages (main, generation, person)
  - Strong's concordance index pages
  - Biblical timeline, interlinear landing
- Fix click-to-navigate on books and book pages (remove double-click requirement)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:46:41 -05:00
kennethreitz 2c5909f375 Add keyboard navigation to book page
- ↑/↓ or j/k to select chapters with visual highlight
- Enter to navigate to selected chapter
- ←/→ to navigate between adjacent books
- Click to select, click again to navigate
- Added nav hint showing keyboard shortcuts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:31:53 -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 22f934beeb Support cross-chapter verse linking on book pages 2025-11-26 18:47:08 -05:00
kennethreitz a596d5bc47 Apply inline markdown filter to Book Outline descriptions
Complete markdown rendering coverage for all book sections.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 16:06:23 -05:00
kennethreitz 14e5536d3d Apply inline markdown filter to Key Verses section
Add markdown rendering to verse text and significance fields
to properly display bold and italic formatting.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 16:04:50 -05:00
kennethreitz 08a7b8dc36 Add inline markdown filter for Key Themes descriptions
Create new 'mdi' filter for inline markdown (bold/italic only)
without paragraph wrapping. Apply to Key Themes descriptions
to properly render markdown formatting within list items.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 16:04:03 -05:00
kennethreitz d25db83ea0 Fix markdown rendering in Introduction and Historical Context sections
Apply markdown filter to Introduction and Historical Context sections
to properly render bold text and other markdown formatting.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 16:00:47 -05:00
kennethreitz 9388c8733c Fix markdown rendering in book Literary Style section
Apply markdown filter to Literary Style section to properly render
bold text and other markdown formatting. Makes it consistent with
other sections like Theological Significance.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 16:00:01 -05:00
kennethreitz 855565997d Fix large font on chapter links in other sections
Scope the 1.8rem font-size rule to only the .chapters-section
so parenthetical chapter references in other sections don't
get enlarged.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:14:55 -05:00
kennethreitz 9388de679f Add support for cross-book chapter references without verses
Handle patterns like "Hebrews 5-7" (chapter range) and "Hebrews 11"
(single chapter) that don't include verse numbers (no colon).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:10:07 -05:00
kennethreitz 49fb98c3ee Fix single verse links to use /verse/ path for tooltip support
Single verses now use /book/{book}/chapter/{ch}/verse/{v} format
which matches the tooltip parser pattern in base.html.
Verse ranges continue to use #verse-{start}-{end} anchor format.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:09:00 -05:00
kennethreitz 3ae1182266 Fix cross-book verse range inheritance in parentheticals
Track both currentBook and currentChapter context so abbreviated
ranges like "45-49" in "(1 Corinthians 15:21-22, 45-49)" correctly
inherit the book (1 Corinthians) and chapter (15) from the preceding
reference.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:06:56 -05:00
kennethreitz 9aca368cb2 Improve verse reference linking to handle complex patterns
- Add cross-book reference support (e.g., Romans 5:12-21)
- Handle comma-separated verse ranges with inherited chapter context
  (e.g., 27:27-29, 39-40 where 39-40 inherits chapter 27)
- Support semicolon-separated references (e.g., 48:15-16; 49:1-27)
- Fix verse range linking to use #verse-start-end anchor format

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:05:22 -05:00
kennethreitz cd2f83d9c1 Expand Pentateuch book introductions with rich theological content
- Genesis, Exodus, Leviticus, Numbers, Deuteronomy fully expanded
- Each book now includes: multi-paragraph introductions, key themes with
  descriptions, key verses with significance, detailed outlines, historical
  context, literary style, theological significance, Christ in book,
  relationship to NT, and practical application
- Update book.html template to handle new data structure
- Add markdown filter for bold text conversion
- Template now supports both old and new data formats

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 14:41:35 -05:00
kennethreitz cf212062f7 Add individual book introduction JSON files for all 66 books
- Create books.py loader module with caching for book data
- Add JSON files for each book with introduction, themes, key verses,
  outline, historical context, literary style, Christ in book, and
  practical application sections
- Update API routes to include book metadata and introduction data
- Update book.html template to display rich book content
- Template falls back to commentary data when book_intro unavailable

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 14:26:11 -05:00
kennethreitz 1156fb68e1 silly 2025-11-26 01:16:45 -05:00
kennethreitz 206098905f Increase chapter number font size on book pages
Make chapter numbers more prominent and easier to click (1.8rem).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:50:04 -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 9fe291f7af updates 2025-11-11 12:24:34 -05:00
kennethreitz 56c883cb79 Add scale animation to chapter tooltip hover effect 2025-05-30 13:15:06 -04:00
kennethreitz 3bfbcdc692 Replace browser tooltips with custom wide tooltips 2025-05-30 13:14:21 -04:00
kennethreitz ef41bded53 Remove custom tooltips in favor of native ones 2025-05-30 13:13:30 -04:00
kennethreitz 59c7004369 Remove star icon from chapter links 2025-05-30 13:12:47 -04:00
kennethreitz a83c7ce290 Add chapter popularity tooltips and explanations 2025-05-30 13:12:40 -04:00
kennethreitz ba94a1bf5c Add popularity scoring and visual indicators for chapters
The changes add a system to highlight well-known Bible chapters with color
coding and visual indicators based on their popularity/significance. This
helps readers quickly identify important passages and commonly studied
chapters.
2025-05-30 13:07:24 -04:00
kennethreitz c1b25f5959 Update book template typography and color scheme
Switch from Playfair Display/EB Garamond to Crimson Text for
consistent typography and replace hardcoded white/color values
with CSS variables for better theme consistency.
2025-05-26 20:59:32 -04:00
kennethreitz 9b433e3889 Ad 2025-05-26 20:51:12 -04:00
kennethreitz 20a905a1c7 Center commentary section and limit max width 2025-05-26 20:50:38 -04:00
kennethreitz 6b0d55f087 Add responsive styles for verse tooltips
Improves tooltip display across mobile, tablet, and desktop
breakpoints with appropriate sizing, positioning, and typography
adjustments for each screen size.
2025-05-26 20:20:34 -04:00
kennethreitz aa44e57756 Improve tooltip styling and readability
Increase padding, font size, and width constraints for better text
display and user experience across both main CSS and book template
2025-05-26 20:19:26 -04:00
kennethreitz 8ae37ec451 Reduce font sizes and spacing across book template 2025-05-26 17:32:45 -04:00
kennethreitz e97212e604 Add verse text tooltips to book highlights and fix reference display
- Create get_verse_text() helper function to retrieve actual verse content
- Add "text" field to all book highlight entries using verse lookup
- Update tooltip display to show actual verse text instead of descriptions
- Fix template field references from "text" to "verse_text" for consistency
2025-05-26 15:15:18 -04:00
kennethreitz b60515fe84 Add URL links to book highlights and verse tooltips 2025-05-26 15:10:08 -04:00
kennethreitz 333497f9ba Add book commentary data to book page template
Generate and display introduction, historical context, themes, and key
passages for each book using the generate_book_commentary function.
Includes enhanced typography with EB Garamond and improved styling.
2025-05-26 15:00:42 -04:00
kennethreitz 59cb5df09e Add AI commentary to Bible study application 2025-05-26 14:05:05 -04:00
kennethreitz 10583fc472 Replace FastAPI CLI with uvicorn and improve SEO metadata
Updates Dockerfile to use uvicorn directly instead of FastAPI CLI.
Enhances HTML templates with comprehensive SEO metadata including
structured data, Open Graph tags, and KJV-specific keywords throughout
all page titles and descriptions.
2025-05-26 13:25:35 -04:00
kennethreitz 920707ca24 Rename package from kjvstudy to kjvstudy_org and refactor for production deployment
Restructures the project for deployment with a more organized package
structure and enhanced web interface. Moves Bible data to package
static directory and adds comprehensive styling, JavaScript features,
and mobile responsiveness.
2025-05-26 12:54:34 -04:00