Commit Graph

811 Commits

Author SHA1 Message Date
kennethreitz 30a59c206d Increase foreign text size in interlinear PDF
Hebrew: 15pt → 20pt, Greek: 14pt → 18pt

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 23:34:08 -05:00
kennethreitz d829041796 Add PDF download for interlinear chapter pages
- Create chapter_interlinear_pdf.html template for PDF export
- Add /book/{book}/chapter/{chapter}/interlinear/pdf route
- Add PDF download button to interlinear page alongside print
- Include Hebrew/Greek text, English translations, and Strong's numbers

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 23:33:17 -05:00
kennethreitz 3177b097a4 Add print functionality to interlinear chapter pages
- Add print button with printer icon
- Add print-specific CSS styles that hide navigation, tooltips, and popups
- Format interlinear words compactly for printing
- Prevent verse sections from breaking across pages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 23:30:01 -05:00
kennethreitz 742a2efb7f Default sidebar to collapsed on mobile
On screens <= 768px, the sidebar now defaults to collapsed
for first-time visitors. User preference is still saved and
respected on subsequent visits.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 23:27:39 -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 1279fde038 Fix case-insensitive book name redirects (301)
URLs like /book/gen/chapter/1/verse/3 now properly redirect
to /book/Genesis/chapter/1/verse/3 with a 301 status.

The normalize_book_name function now does case-insensitive lookup
for both abbreviations and canonical book names.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 19:14:05 -05:00
kennethreitz e32692e830 Add random verse hotkey (.)
Press . to go to a random Bible verse.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 19:11:55 -05:00
kennethreitz 84c514be0c Update story pages keyboard navigation
- Up/down now navigates between reading paragraphs
- Left goes to stories index (parent)
- Right goes to next story
- Updated both adult and kids story templates

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 19:07:28 -05:00
kennethreitz 6f2930e7aa Update verse page keyboard navigation
- Up/down now navigates between reading sections (verse text,
  interlinear, cross references, analysis, etc.)
- Right arrow goes to next verse
- Left arrow goes back to chapter view

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 19:03:58 -05:00
kennethreitz 61b44f278e Add keyboard navigation to interactive family tree
- +/- or =/_ for zoom in/out
- 0 to reset zoom
- f to fit to view
- i to toggle info sidebar
- Escape to close sidebar
- h or ← to navigate back (tree history then browser)
- Updated hint text to show keyboard shortcuts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 19:02:51 -05:00
kennethreitz 5f63e7d18e Fix sidebar collapse state persistence across page views
The sidebar now correctly remembers its collapsed/expanded state.
Previously, the logic only set checked=true for 'true' but didn't
handle the 'false' case to collapse the sidebar.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 19:00:09 -05:00
kennethreitz d5f97540c3 Add autofocus to Strong's Concordance search input
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:59:25 -05:00
kennethreitz 78efc7e2fc Add keyboard navigation to commentary and stories pages
- commentary.html: verse card navigation with up/down, enter to view
- stories_index.html: 2D grid navigation for story cards
- stories_kids_index.html: 2D grid navigation for kids story cards

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:57:47 -05:00
kennethreitz b61baf0d9e Add keyboard navigation to more pages
- resource_index.html: up/down for entries, enter to open
- story_detail.html: left/right for prev/next story, up for kids version
- story_kids.html: left/right for prev/next, down for adult version
- family_tree_ancestors.html: tree node navigation
- family_tree_descendants.html: tree node navigation
- family_tree_lineage.html: left/h to go back
- family_tree_search.html: search result navigation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:56:58 -05:00
kennethreitz 657de68878 Add keyboard navigation to more pages
- Books page: 2D grid navigation (up/down moves by row)
- Fruits of Spirit: entry navigation
- Tetragrammaton: section navigation
- Verse of the Day: archive table navigation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:54:07 -05:00
kennethreitz e7683ecd9e Add keyboard navigation to theological resource pages
- Biblical angels, covenants, festivals, maps, prophets
- Names of God, twelve apostles, women of the Bible
- Up/down/j/k to navigate entries, left/h to go back, Enter to open

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:53:04 -05:00
kennethreitz 98a899a59e Add keyboard navigation to interlinear chapter view
- Up/down navigates between verses
- Right arrow enters word-by-word mode within a verse
- Left/right moves between words, Enter expands word details
- Escape exits word mode or clears selection
- Left/right navigates chapters when no selection active

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:50:50 -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 51e8c9c239 Enhance homepage keyboard nav and add featured highlights
- Keyboard nav now includes both feature cards and explore links
- Proper 2D grid nav (3 cols for features, 4 cols for explore)
- Add yellow/gold featured highlight for Biblical Timeline and Genealogies
- Add selected state styling for explore links

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:36:15 -05:00
kennethreitz 4450584f7d Update homepage keyboard nav to 2D grid navigation
- ←/→ or h/l moves left/right between cards
- ↑/↓ or j/k moves up/down by row (3 cols on desktop, 1 on mobile)
- Respects responsive layout column count

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:34:52 -05:00
kennethreitz be3fd0c1cf Add keyboard navigation to homepage
- ↑/↓ or j/k to navigate feature cards with visual selection
- Enter to go to selected card, or /books if none selected
- / to focus search box (existing)
- Green highlight for selected card

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:33:45 -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 f91c81af5f Add keyboard navigation to books listing page
- ↑/↓ or j/k to select books
- Enter to navigate to selected book
- Click to select, click again to navigate
- Visual highlight with green border for selected book

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:30:55 -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 408f5edf6a Enhance interactive family tree and Strong's derivation display
Interactive family tree improvements:
- Add hamburger menu toggle for sidebar with localStorage persistence
- Smooth tween animation when navigating between people
- Preserve zoom level during navigation
- Narrower node cards (120px) with adjusted font sizes
- Remove minus indicators, keep only + for expandable nodes
- Add info button (i) on each node to open sidebar
- Enhanced info panel with more fields: title, Kekulé number,
  siblings, children links, scripture references
- Add View Ancestors/Descendants links in sidebar
- Make ancestor nodes semi-transparent (60% opacity)
- Fix search input width with box-sizing

Strong's Concordance:
- Embed related Strong's entries in derivation section
- Show preview cards for referenced entries (e.g., H1 on H2 page)
- Display word, transliteration, and definition excerpt

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:25:42 -05:00
kennethreitz d2258af114 Show parents above selected person in interactive family tree
- Add buildBidirectionalTreeData function to build both ancestors and descendants
- Render ancestors above the selected person (flipped tree)
- Render descendants below as before
- Shows up to 2 generations of ancestors and configurable descendants
- Double-click any node to re-center the tree on that person

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:07:46 -05:00
kennethreitz ee054ff9db Fix interactive link on generation page to link to first person
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:05:54 -05:00
kennethreitz 0911184c26 Add dark mode support to interactive family tree page
- Dark backgrounds for controls, viewport, breadcrumb, sidebar
- Dark styling for buttons, dropdowns, inputs, and hints
- Proper contrast for all labels, text, and links
- Kekulé ancestor gradient preserved in dark mode

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:05:11 -05:00
kennethreitz e77846ae61 Reduce search box width on family tree page to 320px
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:04:40 -05:00
kennethreitz 863091647a Fix feature card link color in dark mode on family tree page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:04:11 -05:00
kennethreitz 418e0603f2 Add dark mode support to resources page
- Dark backgrounds for resource cards
- Dark gradient for featured cards (preserves gold border)
- Proper contrast for titles, counts, and descriptions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:03:35 -05:00
kennethreitz f32d7d34c8 Add dark mode support to family tree generation page
- Dark backgrounds for stats bar and person cards
- Dark styling for navigation links
- Proper contrast for dates, family links, and verse references
- Kekulé ancestor gradient preserved in dark mode

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:02:30 -05:00
kennethreitz ba9dea1984 Add dark mode support to family tree person page
- Dark backgrounds for main card, section cards, family cards, verse cards
- Dark styling for navigation, vitals, biography, and bottom nav
- Proper contrast for all text elements and links
- Kekulé ancestor gradient preserved in dark mode

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:02:07 -05:00
kennethreitz a7faccb90d Fix search dropdown text color in dark mode
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:01:36 -05:00
kennethreitz aeafa0a940 Disable browser autocomplete on family tree search
Add autocorrect, autocapitalize, spellcheck, and data-form-type
attributes to prevent Safari and other browsers from showing
autocomplete suggestions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:01:14 -05:00
kennethreitz 8db1d8b9a5 Add dark mode support to family tree page
- Dark backgrounds for search, feature, stats, and section cards
- Dark styling for search input and dropdown
- Dark mode for generation cards and person cards
- Proper contrast for text, labels, and links

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:00:28 -05:00
kennethreitz a9533f38dc Limit search box width on family tree page
Set max-width: 400px on search card to prevent it from being too wide

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:59:29 -05:00
kennethreitz 8228341fcd Add missing pages to sitemap
Added 31 new URLs:
- /stories, /stories/kids
- Theology pages: anthropology, armor-of-god, beatitudes, bibliology,
  blood-in-scripture, christology, ecclesiology, eschatology, grace,
  hamartiology, i-am-statements, justification, kingdom-of-god,
  law-and-gospel, messianic-prophecies, miracles-of-jesus, names-of-christ,
  personifications, pneumatology, prayers-of-the-bible, providence,
  sanctification, soteriology, spirits-and-demons, ten-commandments,
  theology-proper, trinity, types-and-shadows, worship

Total sitemap URLs now: 46,745

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:31:35 -05:00
kennethreitz 9b28461ba5 Add Strong's Concordance entries to sitemap
- Replace /concordance with /strongs, /strongs/hebrew, /strongs/greek
- Add all 14,197 Strong's entries (H1-H8674, G1-G5624) to sitemap
- Sitemap now includes full Strong's coverage for SEO

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:24:06 -05:00
kennethreitz 826c6a1a95 Update homepage concordance link to Strong's Concordance
- Change /concordance to /strongs
- Update title and description to reflect Strong's features

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:15:44 -05:00
kennethreitz a1f2228c1a Add comprehensive Strong's Concordance test suite
62 new tests covering:
- Data loading and basic lookup (Hebrew/Greek entries)
- Helper functions (definition, word, transliteration, KJV usage)
- format_strongs_entry function
- Search functionality (both languages, limits, case-insensitive)
- Paginated listing (get_all_strongs)
- Web routes (index, search, entry, Hebrew/Greek indexes, pagination)
- API endpoints
- Edge cases (boundaries, common words, derivation links)
- Integration tests (search flow, navigation, breadcrumbs)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:11:19 -05:00
kennethreitz 4b1ccdd22c Update tests for Strong's Concordance (replaces old concordance)
- Replace TestConcordanceRoutes with TestStrongsRoutes
- Add tests for Strong's index, search, entry pages
- Add tests for Hebrew and Greek language indexes
- Add tests for pagination and invalid entries
- Update integration tests to use /strongs instead of /concordance

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:07:10 -05:00
kennethreitz 340901d7de Add paginated Hebrew and Greek Strong's indexes
- Add get_all_strongs() function for paginated entry listing
- Create /strongs/hebrew and /strongs/greek routes with pagination
- Add strongs_language_index.html template with entry cards
- Update main Strong's page with browse cards for each language
- Hebrew: 8,674 entries across 87 pages
- Greek: 5,523 entries across 56 pages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:03:15 -05:00
kennethreitz 763874d5f9 Add verse occurrences with full text to Strong's entry pages
- Show all verses containing a Strong's number from interlinear data
- Display each verse as a card with reference, original word, and full text
- Highlight the translated English word in yellow
- Add dark mode support for highlighted text

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:00:27 -05:00
kennethreitz 202c88e6d9 Replace old concordance with Strong's Concordance
- Update sidebar link to point to /strongs
- Remove old /concordance route and template
- Update cache control settings

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:53:54 -05:00
kennethreitz 6da85ae7d0 Add italic styling to Strong's definition cards
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:52:44 -05:00
kennethreitz 52bb08bf70 Redesign Strong's entry page with card-style layout
- Large centered word card with original Hebrew/Greek
- Definition, KJV translations, and derivation in separate info cards
- Color-coded left borders for each card type
- Improved navigation with prev/next buttons
- Dark mode support
- Mobile responsive

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:52:15 -05:00
kennethreitz eca61cb1f3 Fix bible.books -> bible.get_books() in Strong's routes
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:51:21 -05:00
kennethreitz fc9045fd73 Fix Strong's derivation linkification
- Replace naive string replace with regex-based filter
- Only linkify actual Strong's references (G/H followed by digits)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:50:35 -05:00