Commit Graph

232 Commits

Author SHA1 Message Date
kennethreitz 3be0ded5d8 Add Verse of the Day to sidebar navigation
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-06 14:02:05 -05:00
kennethreitz d095b94ba5 Disable verse tooltips on mobile 2025-12-05 15:17:33 -05:00
kennethreitz 3ebf27c0ed Comprehensive mobile UX improvements
- Auto-enable large font mode on mobile (base.html)
- Add swipe gestures for chapter navigation
- Improve verse number tap targets with background
- Make family tree pages full width on mobile
- Enhance homepage mobile layout with larger touch targets
- Increase text sizes and line heights for readability
- Remove sidenote tap target styling per user request

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 15:10:08 -05:00
kennethreitz 02f2628fb1 Remove Strong's tooltip from word studies
The sidenotes already provide context - tooltips on top were overkill.
Strong's links still work for click-through to the full page.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 08:07:27 -05:00
kennethreitz a9844e449f Match Strong's tooltip colors to verse tooltip
Same border, border-radius, box-shadow, and dark mode colors.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 08:02:12 -05:00
kennethreitz 1828c1d79b Simplify Strong's tooltip to minimal design
- Left border accent instead of box
- Inline word + transliteration on first line
- Definition below
- Simple "KJV: ..." line at bottom
- Removed derivation and extra chrome

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 08:01:10 -05:00
kennethreitz d945cf93ac Redesign Strong's tooltip with Tufte-inspired card
New layout features:
- Horizontal header with word, transliteration, and Strong's number
- Serif typography (Crimson Text) matching sidenote style
- Meta section with small-caps labels for KJV usage and derivation
- Subtle border and shadow for elegant appearance
- Proper dark mode support

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 07:57:37 -05:00
kennethreitz 5a7a275b2b Add Strong's tooltip on hover for word study links
Hovering over the Greek/Hebrew term in word study sidenotes now shows
a tooltip with the Strong's card: original word, transliteration,
Strong's number, and definition. Uses same positioning logic as verse
tooltips.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 07:54:29 -05:00
kennethreitz 990ef2e52d Increase verse tooltip font size
Bumped font-size from 0.9rem to 1rem and max-width from 400px to
450px for better readability.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 07:51:55 -05:00
kennethreitz c397e8a8a0 Fix red letter styling bleeding into sidenote links
Links inside sidenotes (like "Jesus" or Strong's references) were
inheriting the red color from .words-of-christ styling due to an
!important rule in base.html. Added more specific sidenote link rules
with !important to override.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 22:51:07 -05:00
kennethreitz a7fe7ec79f Hide sidebar fully on mobile, remove breadcrumb drop shadow
- Push collapsed sidebar further off-screen (-165px)
- Remove box-shadow from sticky breadcrumb

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:41:29 -05:00
kennethreitz 5aa374cace Fine-tune sidebar/content spacing at narrow tablet widths
Add 85px margin at 769-950px range to prevent sidebar overlap

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:33:53 -05:00
kennethreitz 38277fbb82 Fix sidebar layout: content beside sidebar, not overlapping
- Add 30px margin-left to article when sidebar visible (above 768px)
- Reset margin on mobile when sidebar hidden
- Adjust breadcrumb to align with sidebar edge

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:30:48 -05:00
kennethreitz d8271d5ca3 Align breadcrumb with content when sidebar visible
Push breadcrumb over by 140px in the 769px-1200px range to match article margin

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:18:40 -05:00
kennethreitz 07fd584801 Fix sidebar layout: show on wider viewports, sit beside content
- Change sidebar hide breakpoint from 1200px to 768px (mobile only)
- Add margin-left to article only between 769px-1200px (when sidebar visible)
- Above 1200px: no margin (desktop, centered content)
- Below 768px: no margin (mobile, sidebar hidden)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:17:27 -05:00
kennethreitz b7d9ccc859 Move shared CSS rules from base.html to style.css
Relocate shared large font mode and dark mode rules to style.css
for proper separation of concerns. Includes rules for:
- Large font: .intro-text, .verse-ref, .verse-text, .print-btn, etc.
- Dark mode: .words-of-christ, .section-card, .person-card-*, .nav-paragraph.selected

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:13:30 -05:00
kennethreitz 8d02b5b8eb Refactor: consolidate shared dark mode rules in base.html
Move common dark mode CSS rules to base.html:
- .words-of-christ
- .section-card, .section-card h2
- .person-card-name, .person-card-verse
- .nav-paragraph.selected

Reduces duplication across 6 templates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:10:15 -05:00
kennethreitz 8c9cc98a16 Refactor: consolidate shared large font mode rules in base.html
Move common large font mode CSS rules (.intro-text, .verse-ref,
.verse-text, .print-btn, etc.) to base.html to reduce duplication
across templates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 09:58:04 -05:00
kennethreitz 01f5b1ba7b UI improvements: nav pills, breadcrumb positioning, anchor offsets
- Convert verse navigation to pill-style buttons
- Extend breadcrumb bar to the left with padding
- Add scroll-margin-top for verse anchors on chapter page
- Rename 'Chapter X' to 'Read in Chapter X'

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 09:36:08 -05:00
kennethreitz cc02a4afa5 Make cross-references compact and improve sidebar styling
- Cross-references now display as compact pills (always visible, no collapse)
- Hover tooltip shows verse text
- Sidebar current selection is now bold (font-weight: 700)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 09:24:58 -05:00
kennethreitz 1f4bf35e20 Add automatic cache-busting for static files
Use file modification time hash for base.js and tufte.css to
automatically bust browser cache when files are updated.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 23:21:57 -05:00
kennethreitz bc1a70dd3b Add cache-busting version to base.js
Force browsers to load fresh base.js with sidebar close fix.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 23:19:54 -05:00
kennethreitz f57047b9e7 Show font size toggle button on mobile
Keep the font toggle (A) visible on mobile while hiding other
breadcrumb action buttons (speech, bookmark).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 23:11:57 -05:00
kennethreitz 11a1834e03 Collapse mobile sidebar by default on page load
Remove checked attribute so hamburger menu starts closed on mobile.
Desktop sidebar is always visible via CSS regardless of checkbox state.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 22:47:20 -05:00
kennethreitz 0738823b3f Use proper stop button symbol for speech toggle
Change from ■ (black square) to ⏹ (stop button) to better match ▶ (play)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:38:26 -05:00
kennethreitz 671c084e3f Increase large font mode sizes slightly
- Base article: 1.1rem → 1.2rem
- Paragraphs/list items: 1.5rem → 1.7rem
- H1: 3rem → 3.2rem
- H2: 2.2rem → 2.4rem

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:34:21 -05:00
kennethreitz c861a671d2 Fix speech toggle button state and font size toggle display
- Show lowercase 'a' for normal mode, uppercase 'A' for large text mode
- Fix speech button not showing stop icon while playing
- Check all speech sources (KJVResourceSpeech, KJVSpeech, speechSynthesis)
- Clear suppressSpace flag on button click to fix toggle behavior

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:17:31 -05:00
kennethreitz cb49f5e130 Comprehensive mobile experience improvements
- Disable sticky breadcrumb on mobile, hide action buttons
- Add mobile styles to chapter page (nav, touch targets)
- Add mobile styles to verse page (share buttons, tooltips)
- Add mobile styles to books page (responsive grid)
- Add mobile styles to book page (chapter links, nav hints)
- Add mobile styles to search page (full-width, iOS zoom fix)
- Add mobile styles to topics and reading plans pages
- Improve touch targets across all pages (44px min)
- Fix max-width containers for mobile (100%)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:03:35 -05:00
kennethreitz d19074e2bb Remove About link from side nav
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 16:41:27 -05:00
kennethreitz 4819ef36ec Add Stars page for bookmarking with notes and navigation badges
- Create /stars page with collapsible groups, notes, and keyboard nav
- Add yellow star bookmark button in breadcrumb (☆/★)
- Add nav badges showing star count and reading plan % complete
- Change 's' shortcut from Stories to Stars
- Update toast to say "Added to Starred Pages"
- Persist group collapse state in localStorage
- Support notes with monospace font and edit/add functionality
- Update accessibility page and ? help modal

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 15:39:01 -05:00
kennethreitz d09c3c6bb7 Remove copy button from breadcrumb actions
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:45:31 -05:00
kennethreitz de12fbbeb2 Add copy and bookmark buttons to sticky breadcrumb
Copy button (⎘):
- Copies page content to clipboard
- Shows ✓ checkmark briefly when copied

Bookmark button (☆/★):
- Toggle bookmark for current page
- Stored in localStorage as kjvBookmarks
- Star fills in (★) when page is bookmarked

Bookmarks page (/bookmarks):
- View all saved bookmarks
- Shows title and date saved
- Remove individual bookmarks or clear all
- Reads from localStorage on client side

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:44:19 -05:00
kennethreitz 2ab98c08a3 Use play triangle ▶ for speech button
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:41:28 -05:00
kennethreitz 104ac17f24 Simplify font size to single toggle (normal/large)
- One button toggles between normal and large text
- Button shows larger A when large mode is active
- Removed small and x-large sizes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:40:56 -05:00
kennethreitz 5ae3f9292a Use unicode glyphs for speech button (♪ and ■)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:38:47 -05:00
kennethreitz 953ceb4ff4 Add speech button to sticky breadcrumb actions
- Click 🔊 to read page content aloud
- Button changes to ⏹ while speaking
- Click again to stop
- Strips out navigation, buttons, and other non-content elements

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:38:31 -05:00
kennethreitz 8ffd60db2a Make font size buttons more visually distinct (smaller A vs larger A)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:37:41 -05:00
kennethreitz 70d2e48ca9 Fix duplicate dark mode button, add breadcrumbs to search page
- Only show fixed dark mode toggle on pages without breadcrumbs
- Pages with breadcrumbs get dark mode in the sticky breadcrumb actions
- Add breadcrumbs to search page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:34:10 -05:00
kennethreitz 94fc18cc2e Replace separate sticky header with sticky breadcrumb
- Breadcrumb now sticks to top when scrolling (position: sticky)
- Action buttons (font size, dark mode) appear in breadcrumb when stuck
- Remove old separate sticky header element
- Remove fixed font size controls (now in breadcrumb)
- Cleaner, simpler approach using native CSS sticky

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:30:06 -05:00
kennethreitz ea4d8bd1d7 Replace › with / in sticky header breadcrumb
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 14:28:08 -05:00
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 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 8342316752 Highlight Resources nav item for all resource pages
All resource pages (parables, christology, biblical-prophets, etc.)
now correctly highlight the Resources nav item in the sidebar.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 19:48:13 -05:00
kennethreitz e4ef72330a Fix sidebar X button overlapping search input
Add top padding when sidebar is open to make room for the close button.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 17:35:38 -05:00
kennethreitz 11163ba9c1 Highlight Books nav item when viewing any book page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 17:28:56 -05:00
kennethreitz baaabfa648 Remove OT/NT book lists from sidebar navigation
Users can access books via the Books page. Cleaner nav focuses on
features and actions rather than duplicating book navigation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 17:18:10 -05:00
kennethreitz faeea81f07 Add keyboard shortcuts for quick navigation to Genesis and Matthew; update help text 2025-12-02 13:20:50 -05:00
kennethreitz 8322a88edd Extract base.html inline JS to separate file and update test expectations
- Extracted ~1250 lines of JavaScript from base.html to static/base.js
- Reduced base.html from ~2700 lines to ~1440 lines
- Updated tests to expect 404 (not 500) for invalid resources
- Updated CLAUDE.md to reflect proper error handling

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 12:57:57 -05:00
kennethreitz 7b6758c021 Add tooltip support for new chapter anchor verse links
Updated parseVerseUrl to recognize /book/{book}/chapter/{chapter}#verse-{verse} format in addition to the old /verse/ path format.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 12:46:33 -05:00