Added dark mode styles for the kids-callout aside with appropriate
purple gradient background and lighter text colors.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added ` key to Global Shortcuts table and keyboard help modal.
Also added 'n' key to help modal for sidebar navigation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add stopPropagation() and return statements to sidebar keyboard
handlers to prevent events from reaching content navigation handlers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Opens the sidebar (on mobile/collapsed) when pressing 'n'
- Closes sidebar when exiting nav mode with Escape
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Accurately document that we prefer the Daniel (British English) voice,
with fallback to en-GB then any English voice, rather than claiming
to use the system default.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- [ goes to previous verse
- ] goes to next verse
- Update accessibility page to document verse page shortcuts
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
- Create dedicated accessibility page at /about/accessibility
- Add skip link for keyboard/screen reader users
- Add keyboard navigation to interlinear landing page
- Implement 2D grid navigation for theological studies on homepage
- Add accessibility section to homepage with keyboard shortcut info
- Fix verse text color contrast on fruits of the spirit page
- Fix malformed proverbs commentary data
- Update about page with accessibility link
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When using ?person= URL parameter, automatically finds the closest
"save point" ancestor (David > Jacob > Abraham > Noah > Adam) and
starts the tree from there for a better viewing experience.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix verse tooltip getting stuck after browser back (Safari bfcache)
- Remove kekule number badges from ancestors/descendants pages
- Keep gold border lines for Christ's lineage highlighting
- Fix Interactive Tree button text color in light mode
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Now checks actual DOM state instead of collapsedNodes set,
which fixes behavior with depth-based auto-collapse.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cleaner multi-line layout: name, generation, details on separate lines
- Simple +/− expand toggles instead of arrows
- Wider container (80%) for better readability
- Gold kekule styling consistent with other pages
- Details line with lifespan, children count, spouse, verse reference
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added kekule-badge and gold border styling
- Pass kekule_number in tree data from routes
- Show gold left border for ancestors of Christ
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Show lifespan (e.g., "930 yrs") when available
- Show number of children
- Add scripture reference link for each person
- Make spouse names clickable links when they exist in data
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When expanding a path to a person, add all ancestor nodes to
expandedNodes set so they override the depth limit.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fourth batch of commentary expansion via 10 parallel agents:
- Hosea: 68 new (now 100 total)
- Daniel: 80 new (now 136 total)
- Esther: 100 new (now 138 total)
- 1 Peter: 100% complete (105 verses)
- Joel, Amos, Obadiah, Jonah: 47 new
- Nahum, Habakkuk: 34 new
- Various minor prophets expanded
Total commentary now covers 18,701 verses across all 66 books.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Allows linking directly to a person, e.g., ?person=i77
Will expand the path and highlight the person.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replaced complex D3.js SVG visualization with simple HTML/CSS tree:
- Collapsible branches with ▶/▼ toggles
- Default depth limit of 3 levels for performance
- Keyboard navigation (arrows, hjkl, Enter, e/c)
- Search to find and jump to any person
- Multiple starting points (Adam, Noah, Abraham, etc.)
- Jesus ancestors view
- Gold highlighting for Christ's lineage (Kekulé numbers)
- Expand/Collapse All buttons
- Dark mode support
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use getAttribute('class') instead of classList for SVG elements
- Fix hasExpandableChildren to check for empty children array
- Apply fixes to all click handlers (renderTree, renderTreeFromId, updateTree)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The renderTreeFromId click handler was missing the expand
indicator logic, so clicking the "+" button didn't work.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed scripture links to use chapter view with anchor
(e.g., /book/Genesis/chapter/5#verse-3) for better context.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Scripture references in the sidebar now link to the actual
verse pages instead of being disabled with onclick="return false".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added sidenote selection styles to style.css instead of
tufte.css to keep third-party CSS unmodified.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Moved sidenote user-select styles to tufte.css so they apply
across all pages, not just chapter pages.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When selecting multiple verses, each verse is now separated
by a newline in the clipboard. Single verse or partial
selections still get normalized whitespace.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added vendor prefixes for user-select and transparent
selection background to prevent sidenotes from showing
blue highlight when selecting verse text.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
If the selection is entirely within a sidenote or marginnote,
allow normal copy behavior. Only strip sidenotes from copied
text when selecting verse content that includes sidenotes.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added copy event handler that cleans selected text before
copying to clipboard, removing sidenotes, marginnotes, and
verse number links. Also added user-select: none to verse
number links for visual consistency.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Sidenotes, marginnotes, and sidenote number labels are now
excluded from text selection, so selecting verse text only
captures the actual verse content.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed click behavior so text can be selected:
- Single click now allows normal text selection
- Double-click navigates to verse page
- Verse number link still works for single-click navigation
- Updated nav help tip to explain new behavior
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>