1. Sticky header on scroll
- Shows current page title and breadcrumb navigation
- Appears when scrolling past the main breadcrumb
- Smooth slide-down animation
2. Font size controls (A/A buttons)
- Small, normal, large, x-large sizes
- Persisted to localStorage
- Positioned next to dark mode toggle
3. Prefetch next/prev pages
- Uses requestIdleCallback for non-blocking prefetch
- Prefetches chapter/verse/book navigation links
- Makes page-to-page navigation feel instant
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove sidebar toggle button on desktop (>1200px)
- Sidebar now always visible on desktop for better navigation
- Keep hamburger menu toggle on mobile/tablet (<1200px)
- Remove backtick keyboard shortcut for sidebar toggle
- Update accessibility page to remove backtick reference
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Remove redundant "Strong's Concordance: Hxxx" heading - the Strong's
number is already displayed in the card. The original word itself
is now the h1, which is better for SEO and visual hierarchy.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Button elements don't inherit color by default - added appearance reset
and font-family inherit to ensure consistent styling.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add manifest.json for PWA support (stops 404 requests)
- Add [ and ] keys to navigate between Strong's numbers
- Add info-card selection styles for keyboard nav
- Update accessibility page with Strong's shortcuts
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Improved title: "Strong's H7969 - שָׁלוֹשׁ (shâlôwsh) - Hebrew Definition"
- Rich meta description with definition preview
- JSON-LD structured data (Schema.org DefinedTerm)
- Semantic HTML: article, section, nav elements
- H2 headings include Strong's number for keyword relevance
- lang attributes on Hebrew/Greek text
- rel="prev/next" on navigation links
- aria-label for accessibility
- title attributes on nav links
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove dark gradient hero background
- Use site's standard background with border
- Make Strong's number larger and bolder (1.5rem)
- Keep colored language badges (brown Hebrew, blue Greek)
- Proper dark mode support
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Reverted semantic HTML changes (article/section tags) but kept:
- Prominent H1 with "Strong's H7969" format
- Improved title and meta description
- Show more button for occurrences
- Hero word card design
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add prominent H1 with "Strong's H7969" format
- Use article/section/nav semantic HTML elements
- Add Schema.org DefinedTerm microdata
- Include Strong's number in all H2 headings for SEO
- Add rel="prev/next" for navigation links
- Add aria-label for accessibility
- Improve title and meta description format
- Add lang attributes for Hebrew/Greek text
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Hero card with gradient background (brown for Hebrew, blue for Greek)
- Definition displayed in hero card for quick scanning
- Show only 10 occurrences initially with "Show more" button
- Load 20 more at a time for performance with large word lists
- Underline-style highlighting for matched words
- Improved dark mode support
- Better responsive design for mobile
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
User preference is still saved in localStorage - if expanded, stays expanded on subsequent visits.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed hardcoded #e8e8e8 (light gray) to var(--text-secondary)
so verse text is readable in both light and dark modes.
Affected templates:
- resource_detail.html
- biblical_angels.html
- twelve_apostles.html
- biblical_prophets.html
- names_of_god.html
- biblical_covenants.html
- biblical_festivals.html
- parables.html
- women_of_the_bible.html
- tetragrammaton.html
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
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>
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>