Commit Graph

1264 Commits

Author SHA1 Message Date
kennethreitz fe23aebf5d Fix tooltip right-edge overflow by measuring off-screen first
The tooltip now renders off-screen first to get accurate dimensions
before calculating the final position. This ensures the flip logic
works correctly when the tooltip would overflow the right edge.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 07:47:46 -05:00
kennethreitz a46524fef8 Fix verse tooltip viewport overflow
Tooltips now stay within viewport bounds on all edges (left, right,
top, bottom) with a 10px padding from the edge.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 07:46:22 -05:00
kennethreitz dac440527b Add 5-verse cooldown for word study repetition
Word studies can now appear multiple times per chapter, but with a
5-verse gap between repetitions of the same word. This reduces
clutter while still surfacing important theological terms.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 07:44:50 -05:00
kennethreitz 9585617ecd Remove every-other-verse restriction for word studies
Word studies now appear on any verse with matching words,
not just odd-numbered verses.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 07:39:29 -05:00
kennethreitz a57276104a Allow word studies to repeat across chapter
Remove the once-per-chapter restriction on word studies.
Same word can now appear multiple times if it occurs in
different verses.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 00:09:59 -05:00
kennethreitz 4f22d1ef02 Only collapse cross-refs when 3+ are hidden
Show +1 or +2 refs expanded inline. Only show the +N collapse
indicator when there are 3 or more hidden refs.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 00:08:08 -05:00
kennethreitz 84b2316bb5 Add .coverage to gitignore 2025-12-04 23:26:54 -05:00
kennethreitz f8640eadbb Limit word studies to 1 per verse
Prevents sidenote collision when two word studies appear
on the same line, which causes horizontal displacement.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:26:36 -05:00
kennethreitz bd6ce112d9 Add margin-bottom to sidenotes for vertical spacing
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:25:24 -05:00
kennethreitz aa7929205e Fix sidenotes pushing each other horizontally
Add clear:right to ensure sidenotes stack vertically
instead of being pushed off to the side.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:23:45 -05:00
kennethreitz cb39aa5a8f Show 1 ref per theme, max 3 themes unexpanded
Cross-refs collapsed view now shows:
- First ref from up to 3 theme groups
- Click to expand and see all refs in all groups

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:21:04 -05:00
kennethreitz bcc96b8be5 Show up to 3 refs per theme before expanding
Cross-references now show first 3 verses per theme group in the
collapsed view. Additional refs beyond 3 per group are hidden
until expanded.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:20:20 -05:00
kennethreitz 27800962d7 Fix word study collapse with !important
Ensure word-study-details is properly hidden by adding !important
to override any conflicting Tufte CSS rules.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:18:02 -05:00
kennethreitz be82b91ac5 Add 31 more word studies (103 total)
New entries: messiah, lamb, shepherd, light, darkness, obey,
commandment, servant, promise, fulfill, transgression, iniquity,
abomination, blessed, curse, remnant, firstborn, cornerstone,
vine, bread, water, rock, door, crown, throne, king, bride,
dwell, abide, walk, call

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:16:29 -05:00
kennethreitz 4e98b5c083 Remove arrow from cross-ref count indicator
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:13:29 -05:00
kennethreitz da84f66fbc Add ▸ arrow indicator to cross-ref +N count
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:13:09 -05:00
kennethreitz 38c0ee8d2f Fix cross-ref layout shift by using inline expand
Extra refs now appear inline when expanded rather than
swapping between preview/details elements. This prevents
any layout shift when clicking to expand.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:12:20 -05:00
kennethreitz 803c3cbe39 Simplify cross-ref expand CSS to reduce layout shift
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:10:29 -05:00
kennethreitz 46e2c042b1 Show first ref from each group in collapsed cross-refs
Collapsed view now shows one ref per theme/description group
(e.g., "Prophecy: Isa 7:14; Fulfillment: Matt 1:23 +3")
so users see the variety of cross-reference types at a glance.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:09:05 -05:00
kennethreitz 22de2194cd Collapse cross-refs by default, show first ref with expand for all
Cross-reference sidenotes now show just one verse reference by default
with a "+N more" indicator. Click to expand and see all grouped refs.
This reduces sidebar clutter while keeping all cross-refs accessible.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:08:13 -05:00
kennethreitz 5332c79c45 Collapse word studies by default, show only word + Greek term
Word study sidenotes now show just the word and Greek/Hebrew term by default.
Click to expand and reveal transliteration and full definition.
Adds a subtle ▸ indicator showing the sidenote can be expanded.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:06:29 -05:00
kennethreitz e9cd2dd8f8 Limit cross-references to 3 groups, 4 refs per group
Reduces sidebar clutter by capping cross-references displayed per verse.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 23:05:09 -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 db8e5314ac Add 20 theological word studies and Strong's links in sidenotes
New word studies for theologically significant terms:
- Salvation/soteriology: save, justify, sanctify, propitiation, atonement,
  reconcile, redeem, impute
- Faith/belief: repent, believe, confess, born again
- Ecclesiology: elect, predestine, adoption, inheritance
- Other: forgive, mediator, comforter, witness

Also links Greek/Hebrew terms in sidenotes to their Strong's concordance
pages (e.g., λόγος links to /strongs/G3056).

Total word studies: 72

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 22:48:03 -05:00
kennethreitz 3eb4ec2bc8 Add fallback to find alternative word studies when Strong's don't match
When the English word appears in a verse but doesn't match the expected
Strong's number (e.g., "word" using G4487/rhema instead of G3056/logos),
the system now tries to find another word study that DOES match one of
the verse's actual Strong's numbers.

This prevents leaving the user with no word study when we have a
relevant definition for another Greek/Hebrew term in the verse.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 22:37:55 -05:00
kennethreitz 89eeec24a8 Cross-reference word studies with interlinear Strong's numbers
Word study sidenotes on chapter views now verify that the Greek/Hebrew
word in the verse matches the expected Strong's number before displaying.
This prevents showing definitions for the wrong underlying word when the
same English word translates different original language terms.

Changes:
- Add Strong's numbers to all 50+ word studies in word_studies.json
- Update generate_word_study_sidenotes() to check interlinear data
- Only show word study if one of its Strong's numbers is in the verse

Example: "word" in Matthew 4:4 uses G4487 (rhema), not G3056 (logos),
so the logos-focused word study won't appear there incorrectly.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 22:34:58 -05:00
kennethreitz fa4afcd76e Fix red letter markup in Revelation 1-3
The narrative introductions to the seven church letters ("And unto the
angel of the church in X write;") were incorrectly marked as Jesus's
words. Only the portion after "write;" where Jesus actually speaks
should be red.

Fixed 8 verses:
- Rev 1:17: Exclude John's narrative intro
- Rev 2:1, 2:8, 2:12, 2:18: Exclude "unto the angel...write" intros
- Rev 3:1, 3:7, 3:14: Same fix for remaining church letters

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 22:19:00 -05:00
kennethreitz cf1e93ebdc Add large font mode for verse text on verse page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 14:20:50 -05:00
kennethreitz ba878bb295 Redesign interlinear analysis: stack words vertically
- Original word on top, English translation and Strong's number below
- Centered alignment for cleaner reading
- Improved spacing and typography

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 14:13:50 -05:00
kennethreitz 112381ada1 Fix search dropdown background in light mode
- Set explicit #ffffff background for family tree search dropdown
- Darken border slightly for better definition

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:51:41 -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 45881e9852 Remove script for adding commentary to 1 Chronicles 2025-12-04 10:48:18 -05:00
kennethreitz 51ca77249d Remove unused verse_collections module and data file
Dead code identified via test coverage analysis (0% coverage, no imports)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:46:23 -05:00
kennethreitz 115acd784c Fix critical Python code issues: bare except and unclosed file handles
- Replace bare except with specific exceptions in helpers.py
- Use context managers for all JSON file operations in about.py and api.py
  to ensure proper file handle cleanup

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:40:30 -05:00
kennethreitz 4b63f9dc6a Improve verse page layout: move cross-refs up, restyle share section
- Move cross-references section above share section
- Convert share buttons to pill style matching cross-refs
- Unify heading styles (1.4rem) for Cross References, Original Language
  Analysis, and Share sections
- Fix tooltip exclusion for share section links

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:28:05 -05:00
kennethreitz ad4f611370 Fix: support space-separated verse refs in nav search (e.g., "rev 22 20")
Added pattern to parseVerseReference() to handle "Book Chapter Verse"
format in addition to "Book Chapter:Verse".

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:21:07 -05:00
kennethreitz bed94494ff Fix: restore dark mode rules to templates where needed
CSS cascade order means template <style> blocks load after style.css,
so dark mode overrides for template-specific classes must stay inline.
Restored .section-card and .person-card-* rules to family_tree templates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:15:32 -05:00
kennethreitz 09c943e795 Fix: add !important to section-card dark mode rules
Template inline styles have higher specificity than external CSS,
so dark mode overrides need !important to take precedence.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:14:26 -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 9a74654d9f Update CLAUDE.md: reflect actual test count (941 tests)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:01:25 -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 fc00f1349b Remove temporary summary file 2025-12-04 09:54:18 -05:00
kennethreitz 7ee55edd69 Add commentary for 22 verses and large font mode for templates
New verse commentary:
- Job: 13:2, 27:21, 28:16, 28:21, 35:11
- Exodus: 7:4, 7:5, 7:8, 7:9, 7:11
- John: 14:17, 14:18, 14:20, 15:2, 15:15 (Upper Room Discourse)
- Acts: 13:23, 13:30, 13:33, 16:5, 16:10, 17:30, 17:31 (Paul's sermons)

Also adds large font mode CSS to multiple detail templates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 09:52:16 -05:00
kennethreitz 7c68d633d1 Add large font mode support for story cards and concordance
Enlarge text in story cards (stories index, kids stories) and
occurrence cards (Strong's concordance) when big font mode is enabled.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 09:48:08 -05:00
kennethreitz c572c72669 Add grid keyboard navigation for interlinear words
Arrow keys now navigate words in a 2D grid pattern:
- Left/Right: move to adjacent words in same row
- Up/Down: move to closest word in row above/below
- Enter: expand word details
- Escape: exit word mode

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 09:41:32 -05:00