Commit Graph

752 Commits

Author SHA1 Message Date
kennethreitz c42d01d4f4 Add sticky header, font size controls, and page prefetch
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>
2025-12-03 14:26:39 -05:00
kennethreitz 789fd68ad2 Make sidebar always visible on desktop, toggle only on mobile
- 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>
2025-12-03 14:18:05 -05:00
kennethreitz 9adcb64dfb Make Hebrew/Greek word the h1 heading on Strong's pages
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>
2025-12-03 14:11:37 -05:00
kennethreitz ca9906e100 Fix show-more button text color in light mode
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>
2025-12-03 14:10:06 -05:00
kennethreitz 4dd606e4a0 Add PWA manifest and improve Strong's keyboard navigation
- 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>
2025-12-03 13:52:16 -05:00
kennethreitz ae8eaa6484 SEO optimize Strong's Concordance page
- 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>
2025-12-03 13:45:10 -05:00
kennethreitz 26ecd75b5c Add Strong's number to H1 heading for SEO
H1 now reads "Strong's Concordance: H7969" etc.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 13:43:39 -05:00
kennethreitz 049127314c Use regular background for Strong's word card
- 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>
2025-12-03 13:42:58 -05:00
kennethreitz cb5f77b95b Increase text size for KJV Translations and Derivation sections
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 13:41:52 -05:00
kennethreitz 5edc829955 Revert Strong's page to original design 2025-12-03 13:40:30 -05:00
kennethreitz 9e1a70e7ee Simplify Strong's page - keep H1 and title improvements only
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>
2025-12-03 13:40:11 -05:00
kennethreitz f26ec0eab7 Improve Strong's page SEO and semantic structure
- 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>
2025-12-03 13:37:55 -05:00
kennethreitz cb89a80f76 Improve Strong's Concordance page design
- 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>
2025-12-03 13:33:50 -05:00
kennethreitz d1fc66291a Make cross references collapsed by default on verse pages
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>
2025-12-03 12:40:02 -05:00
kennethreitz a653cfc2b2 Fix verse text color for light mode in resource pages
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>
2025-12-03 11:35:10 -05:00
kennethreitz cae139e890 Fix maps link on homepage
Changed /maps to /biblical-maps to match actual route.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 02:46:47 -05:00
kennethreitz cb90b2fb3a Fix kids callout dark mode styling
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>
2025-12-03 01:44:21 -05:00
kennethreitz 8748e10f8f Document backtick key for sidebar toggle in accessibility page
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>
2025-12-03 01:40:11 -05:00
kennethreitz 20ded95d36 Add sidebarActive check to accessibility page
Prevents sidebar nav from interfering with content nav on
the accessibility page.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 01:37:05 -05:00
kennethreitz 31568521e3 Fix text-to-speech voice documentation
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>
2025-12-03 01:30:07 -05:00
kennethreitz a3faf65ab4 Add [ and ] navigation to verse pages
- [ 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>
2025-12-03 01:27:12 -05:00
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 9d989e2189 Add accessibility page and improve site-wide accessibility
- 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>
2025-12-03 01:13:29 -05:00
kennethreitz 079b6a2de4 Update homepage commentary example verses 2025-12-03 00:21:23 -05:00
kennethreitz f0a4b34bfa Redesign homepage and add section IDs across site
Homepage improvements:
- Cleaner title section with divider and prominent daily verse
- Simplified search bar design
- Button-style quick links with primary action
- 2-column resource grid with breathing room
- Original Language Study section with Hebrew (Gen 1:1) and Greek (John 1:1) samples
- Theological Commentary section highlighting 20,000+ verses with commentary
- Interactive Resources section (Genealogies, Timeline, Maps, Stories)
- Full theological studies grid
- Streamlined footer

Section IDs for anchor links:
- verse.html: #interlinear, #cross-references, #commentary, #analysis, #historical, #theological, #questions
- books.html: #old-testament, #new-testament
- chapter.html: #related-resources
- resources.html: dynamic category IDs
- topics.html: #major-topics
- study_guides.html: dynamic category IDs
- reading_plans.html: #your-reading-plans, #available-reading-plans
- stories_index.html: #categories
- biblical_timeline.html: #timeline-introduction, #conclusion
- resource_detail.html: #description, #key-verses

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 23:50:15 -05:00
kennethreitz 70cfa2a1d6 Auto-select nearest root when navigating to person in interactive tree
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>
2025-12-02 23:14:53 -05:00
kennethreitz d9abc3537f Remove kekule number badges from interactive family tree
Keep gold border lines for Christ's lineage highlighting.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 23:11:47 -05:00
kennethreitz 42a709a236 Fix tooltip stuck on back button and clean up family tree UI
- 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>
2025-12-02 23:10:47 -05:00
kennethreitz a132b3634e Fix left/right arrow expand/collapse logic
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>
2025-12-02 22:05:43 -05:00
kennethreitz c15b69e3e7 Reduce tree indentation for more horizontal space
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 22:00:47 -05:00
kennethreitz 7fd0fb5271 Start with 2 generations by default
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:58:43 -05:00
kennethreitz 95255b5545 Start with 3 generations by default
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:58:12 -05:00
kennethreitz 4aafd599e6 Restyle interactive tree to match ancestors/descendants pages
- 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>
2025-12-02 21:57:50 -05:00
kennethreitz 6d69fb8c93 Add gold kekule highlighting to ancestors/descendants pages
- 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>
2025-12-02 21:54:38 -05:00
kennethreitz 9811ee65cb Add more info to interactive family tree
- 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>
2025-12-02 21:52:42 -05:00
kennethreitz 87ca3707e2 Fix expandPathTo to properly add nodes to expandedNodes
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>
2025-12-02 21:00:17 -05:00
kennethreitz 68c607fb07 Increase default depth to 9 generations
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 20:59:06 -05:00
kennethreitz d786f82284 Support ?person= URL parameter in interactive tree
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>
2025-12-02 20:58:13 -05:00
kennethreitz 1f6b8d1000 Update interactive tree description on family tree page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 20:45:35 -05:00
kennethreitz fadb55bb57 Rewrite interactive family tree as text-based collapsible tree
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>
2025-12-02 20:44:51 -05:00
kennethreitz 35e2c451f7 Fix expand button click detection in family tree
- 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>
2025-12-02 20:39:09 -05:00
kennethreitz 4f5868366a Fix expand button click in interactive family tree
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>
2025-12-02 20:37:46 -05:00
kennethreitz 42cc5892a9 Link scripture to chapter view with anchor
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>
2025-12-02 20:36:58 -05:00
kennethreitz 747022cb46 Fix scripture links in interactive family tree
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>
2025-12-02 20:36:25 -05:00
kennethreitz 9a1657558c Make sidenotes unselectable site-wide via style.css
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>
2025-12-02 20:32:59 -05:00
kennethreitz cfe5327785 Revert "Make sidenotes unselectable site-wide"
This reverts commit 31541c9b4b.
2025-12-02 20:32:30 -05:00
kennethreitz 31541c9b4b Make sidenotes unselectable site-wide
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>
2025-12-02 20:32:20 -05:00
kennethreitz 2e3e7703bb Add newline between verses when copying multiple verses
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>
2025-12-02 20:21:28 -05:00
kennethreitz 1371fa615d Fix sidenote selection highlight showing through
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>
2025-12-02 20:20:41 -05:00
kennethreitz aa0b940641 Normalize whitespace when copying verse text
Collapses multiple spaces/newlines into single spaces for
cleaner clipboard content.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 20:19:52 -05:00