Commit Graph

1341 Commits

Author SHA1 Message Date
kennethreitz 6dd622fe3f Fix stanza breaks in Lamentations, Ecclesiastes, and more Psalms
- Lamentations 1: [6,11,17,22] → [7,12,18] - first-person speech starts v12
- Lamentations 3: [18,33,42,54] → [19,40,48,55] - hope v19, repentance v40
- Ecclesiastes 3: [8,15,22] → [9,16] - "times" poem ends v8
- Psalm 44: [8,17,23] → [9,17,23] - lament starts v9
- Psalm 45: [8,13] → [10,16] - bride addressed from v10
- Psalm 50: [6,15,22] → [7,16,22] - God's speech v7, wicked v16
- Psalm 55: [8,16,20] → [9,16,22] - imprecation v9, conclusion v22
- Psalm 72: [8,12,17] → [8,12,18] - doxology starts v18

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 19:41:46 -05:00
kennethreitz fc2048b1cd Fix Proverbs stanza breaks
- Prov 8: [11,17,22,32] → [12,22,32] - wisdom speaks first person from v12
- Prov 31: [9,20,28] → [10,28] - virtuous woman acrostic starts v10

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 19:37:44 -05:00
kennethreitz a55deb7591 Fix more stanza break issues in Psalms and Isaiah
Psalms:
- Ps 107: [9,16,22,32,39] → [10,17,23,33] - sections start after
  refrain "Oh that men would praise the LORD"
- Ps 136: [9,16,22] → [10,16,23] - Egypt v10, deliverance v23

Isaiah:
- Isa 42: [5,9,13,17,22] → [5,10,13,18] - new song v10, blindness v18
- Isa 49: [6,13,18,23,26] → [7,13,22] - restoration v7, nations v22

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 19:36:24 -05:00
kennethreitz 5c4417b27f Fix stanza breaks across Psalms and Prophets
Psalms:
- Ps 18: [7,17,28,43] → [7,20,28,43] - righteousness theme starts v20
- Ps 68: [7,14,20,27,33] → [7,15,21,28,32] - multiple section fixes
- Ps 69: [5,14,22,30] → [6,14,22,30] - suffering for God starts v6
- Ps 89: [5,15,19,39,47] → [5,15,19,38,46] - lament v38, plea v46
- Ps 104: [9,18,27,32] → [10,19,27,33] - springs v10, sun/moon v19

Prophets:
- Isaiah 9: [5,8,13,17,21] → [6,8,13,17] - "child is born" v6
- Isaiah 11: [5,9,12,16] → [6,10,13] - peaceable kingdom v6
- Hosea 11: [5,9,12] → [5,8,10] - "How shall I give thee up" v8
- Zechariah 9: [8,13,17] → [9,13] - Messianic "Rejoice greatly" v9
- Zephaniah 3: [7,13,17,20] → [8,14,18] - "Sing, O daughter" v14
- Nahum 1: [6,11,15] → [7,11,15] - "LORD is good" v7
- Malachi 3: [6,12,18] → [7,13] - tithing section v7

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 19:34:16 -05:00
kennethreitz acc8b85d40 Fix stanza breaks in Prophets and Psalms
Prophets:
- Jeremiah 31: [9,14,20,26,31,37,40] → [10,15,21,27,31,38] - proper
  divisions for nations (v10), Rachel (v15), waymarks (v21),
  New Covenant (v31), city rebuilt (v38)
- Isaiah 55: [5,9,13] → [6,10,12] - "Seek ye the LORD" v6, rain
  metaphor v10, joy/peace v12
- Joel 2: [11,17,21,27,32] → [12,18,21,28] - repentance call v12,
  LORD's response v18, Spirit poured out v28 (Pentecost)
- Amos 5: [7,13,17,21,27] → [7,14,18,21] - "Seek good" v14,
  "Woe unto you" v18

Psalms:
- Ps 42: [5,9] → [6] - refrain at v5 ends section, v6 starts new
- Ps 84: [5,9] → [5,10] - final "day in thy courts" section at v10

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:40:58 -05:00
kennethreitz e74efcb5cf Fix more stanza break issues in Psalms, Prophets, and Historical books
Psalms:
- Ps 22: [6,12,19,23,27] → [6,12,19,22,27] - vow to praise starts v22
- Ps 51: [4,9,13,17] → [7,10,13,18] - proper confession/cleansing/renewal divisions
- Ps 139: [6,13,19] → [7,13,19,23] - omnipresence starts v7, final prayer at v23

Prophets:
- Isaiah 40: [5,11,17,22,27,31] → [6,12,18,22,27] - sections properly divided
- Micah 6: [5,9,16] → [6,9] - "what does LORD require" starts v6
- Habakkuk 3: [6,11,16,19] → [8,12,16] - rhetorical questions start v8

Historical:
- Judges 5: [6,11,18,23,28,31] → [6,12,19,23,28,31] - muster at v12, battle at v19
- 1 Samuel 2: [5,10] → [6,10] - "LORD killeth" section starts v6

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:37:59 -05:00
kennethreitz f9d65219d5 Fix additional stanza break issues across Bible
- Ephesians 1: [6,10,14,19,23] → [7,13,15,20] - properly separates
  Father (vv 3-6), Son (vv 7-12), Spirit (vv 13-14), prayer (vv 15+)
- Hebrews 1: [4,8,13] → [5,8,13] - prologue ends v4, OT quotations start v5
- Luke 1: [50,55,68,75,79] → [51,55,68,76] - Magnificat action at v51,
  Benedictus prophecy to John starts v76
- Genesis 49: [4,8,13,18,21,27,33] → [5,8,13,19,22,27,28] - keeps each
  son's blessing together (Reuben vv 3-4, Dan vv 16-18, etc.)
- 2 Timothy 2: [7,13,19,26] → [11,14,19,26] - faithful saying hymn
  (vv 11-13) stays together

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:33:47 -05:00
kennethreitz e02288ab91 Fix off-by-one stanza break issues in NT hymns
- Colossians 1: [17,20] → [18,21] - properly groups creation (vv 15-17)
  and redemption (vv 18-20) themes in Christ hymn
- John 1: [5,9,14,18] → [6,9,14] - keeps light theme (vv 1-5) together,
  v6 starts John the Baptist section
- Revelation 5: [10,13,14] → [11,13] - new song (vv 9-10) stays together,
  angels join at v11

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:15:42 -05:00
kennethreitz e2e9cda7f8 Fix Philippians 2 Christ hymn stanza breaks
Changed from [8, 11] to [9, 12]:
- Break before v9 (start of exaltation section)
- Break before v12 (end of hymn, start of application)
2025-12-05 16:12:13 -05:00
kennethreitz d7de6aac34 Add all remaining poetic sections (45 books total)
Final additions:
- 2 Chronicles 6 (Solomon's temple prayer)
- 1 Kings 8 (Solomon's dedication prayer)
- Nehemiah 9 (Levites' confession)
- Daniel 2, 9 (prayers and hymns)
- Ephesians 1 (blessing hymn)
- Hebrews 1 (poetic opening)
- 2 Timothy 2 (faithful saying)
- Jude (with doxology)

Now covers all significant poetic content in the Bible.
2025-12-05 16:08:51 -05:00
kennethreitz dd355cce9a Add remaining poetic sections (37 books total)
Old Testament:
- Ezekiel (laments: ch 19, 26-28, 31-32)
- Numbers (Well song, Balaam's oracles: ch 21, 23-24)
- 1 Chronicles 16 (David's psalm)

New Testament hymns/poetry:
- John 1:1-18 (Prologue)
- Philippians 2:6-11 (Christ hymn)
- Colossians 1:15-20 (Christ hymn)
- 1 Timothy 3:16 (hymn fragment)
- Revelation (songs in ch 4, 5, 7, 11, 15, 19)
- Romans 8:31-39, 11:33-36 (doxologies)
- 1 Corinthians 13 (love), 15 (resurrection)
2025-12-05 16:07:41 -05:00
kennethreitz 3416c56d0b Add prophets and embedded poems to poetry formatting
Major additions:
- Isaiah (66 chapters) - full prophetic poetry
- Jeremiah (31 key chapters)
- Minor Prophets: Hosea, Joel, Amos, Obadiah, Jonah, Micah,
  Nahum, Habakkuk, Zephaniah, Haggai, Zechariah, Malachi

Embedded poems in narrative:
- Genesis 49 (Jacob's blessing)
- Exodus 15 (Song of the Sea)
- Deuteronomy 32-33 (Moses' song & blessing)
- Judges 5 (Song of Deborah)
- 1 Samuel 2 (Hannah's prayer)
- 2 Samuel 1, 22 (David's laments)
- Luke 1-2 (Magnificat, Benedictus, Nunc Dimittis)

Total: 27 books with stanza break data
2025-12-05 16:06:22 -05:00
kennethreitz 22c5f73c5f Add comprehensive stanza breaks for Proverbs, Lamentations, Ecclesiastes
- Proverbs: All 31 chapters with breaks for wisdom discourses
- Lamentations: Proper divisions respecting acrostic structure
- Ecclesiastes: All 12 chapters with thematic breaks
- Famous passages properly grouped (Eccl 3 'time poem', Lam 3 hope, Prov 31 virtuous woman)
2025-12-05 16:02:41 -05:00
kennethreitz 0448ea6721 Add comprehensive stanza breaks for all Job poetic chapters
- All 39 poetic chapters (3-41) now have thematic breaks
- Job 28 Wisdom poem: breaks at key refrains and conclusion
- Dialogue cycles properly divided
- God's speeches divided by topic (creation, animals, etc.)
2025-12-05 16:01:11 -05:00
kennethreitz bfab2d6c81 Regenerate poetry stanza breaks from scratch
- Fix Psalm 119: now breaks every 8 verses for acrostic structure
- Fix Song of Solomon: correct speaker change breaks
- Add scholarly stanza breaks for all 150 Psalms
- Add breaks for Job, Proverbs, Lamentations, Ecclesiastes
2025-12-05 15:58:44 -05:00
kennethreitz fea878726d Reduce search input width to 400px 2025-12-05 15:47:55 -05:00
kennethreitz 7ce3f6ab89 Add Strong's number support to search
- Sidebar search box now recognizes Strong's numbers (H1, G3056, etc.)
  and shows a "Go to" option to navigate directly to the concordance
- Main search page redirects Strong's number queries to /strongs/{number}
- Supports both uppercase and lowercase prefixes (H/h, G/g)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 15:46:12 -05:00
kennethreitz 994e254c51 Force 8 pytest workers in config 2025-12-05 15:36:54 -05:00
kennethreitz 6067a2b3a3 Enable uv cache in CI to speed up tests 2025-12-05 15:35:36 -05:00
kennethreitz 0525a37c5b Remove auto-linking to family tree on verse and chapter pages 2025-12-05 15:34:22 -05:00
kennethreitz 2216dedb19 Fix interlinear data for Song of Solomon (was Solomon's Song) 2025-12-05 15:20:15 -05:00
kennethreitz 1fa89c01a1 Increase verse text size on chapter view for mobile 2025-12-05 15:18:51 -05:00
kennethreitz d095b94ba5 Disable verse tooltips on mobile 2025-12-05 15:17:33 -05:00
kennethreitz 83bdc09cf2 Fix verse text size override on mobile with !important 2025-12-05 15:15:24 -05:00
kennethreitz d784504137 Increase verse text size on verse page for mobile 2025-12-05 15:14:28 -05:00
kennethreitz bf53489ab0 Increase text sizes on homepage for mobile 2025-12-05 15:12:51 -05:00
kennethreitz b53e04f2eb Reduce chapter nav button width on mobile 2025-12-05 15:11:02 -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 142875d3c7 Make chapter numbers bigger on mobile book view
Increased from 1.4rem to 2.2rem for better tap targets and readability.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:58:59 -05:00
kennethreitz 3ebf7d83b8 Fix verse number underline on mobile (border-bottom)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:53:03 -05:00
kennethreitz 2ebddfbdc0 Improve mobile chapter reading experience
- Full width poetry verses on small screens (no 55% constraint)
- Larger verse text on mobile (1.2rem, 1.8 line-height)
- Remove underlines from verse numbers on mobile

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:51:44 -05:00
kennethreitz c28376e761 Add Pydantic schema for poetry_formatting.json
Validates:
- books dict contains only valid poetry books
- poetry_chapters are sorted and unique
- stanza_breaks have valid chapter keys with sorted verse lists

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:44:47 -05:00
kennethreitz 132bd657b2 Add poetry formatting for Job, Proverbs, Song of Solomon, Lamentations, Ecclesiastes
Expand poetry support beyond Psalms using stanza break data extracted from
World English Bible USFM source:

- Job: 40 poetry chapters (3-42), 133 stanza breaks
- Proverbs: 31 chapters, 54 stanza breaks
- Song of Solomon: 8 chapters, 17 stanza breaks
- Lamentations: 5 chapters, 86 stanza breaks
- Ecclesiastes: 4 poetry chapters (3, 10, 11, 12)

Updates:
- Restructure poetry_formatting.json to support multiple books
- Add is_poetry_chapter() for mixed prose/poetry books like Job
- Poetry verses wrap at 55% width to respect sidenote margin
- Stanza breaks use simple vertical spacing (3.5em)
- Section headings appear below stanza breaks when both present
- Update PDF templates for per-chapter poetry detection

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:42:52 -05:00
kennethreitz 52930be764 Add poetry formatting for Psalms with stanza breaks
- Extract stanza break data from eBible USFX (199 breaks across 127 psalms)
- Add poetry_loader utility to identify poetry books and stanza breaks
- Render Psalms with verse-per-line layout and ❧ ornament at stanza breaks
- Add stanza break styling to chapter and book PDF exports
- Web view: decorative hedera with subtle line divider
- PDF view: simple horizontal rule for stanza breaks

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:21:27 -05:00
kennethreitz fa951a71cd Improve PDF exports: section headings, cross-ref sorting, remove links
- Add section headings to chapter and book PDF exports
- Sort cross-references numerically (3:7 before 3:14)
- Condense same-book refs in PDFs (Revelation 1:20; 1:16; 3:1)
- Remove link_names/link_verses filters from all PDF templates
- Add strip_links filter for word study notes in PDFs
- Bold cross-reference descriptions (e.g., "Parallel theme")

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 13:58:52 -05:00
kennethreitz 9d731c5953 Add action button styles to verse page
Matches the standard button styling from chapter page.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:57:26 -05:00
kennethreitz 65807c8f78 Move PDF button to top of verse page
Standard action button at top instead of share section at bottom.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:56:21 -05:00
kennethreitz 194c74880a Remove Copy Verse Text button, keep only Download PDF
Also removed unused copyToClipboard JS function.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:55:29 -05:00
kennethreitz 020872efaa Simplify verse page actions: Copy Verse Text, Download PDF
Removed Tweet button, renamed buttons for clarity, removed
section heading.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:54:44 -05:00
kennethreitz 8065e95bc8 Remove non-functional Facebook share button from verse page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:54:21 -05:00
kennethreitz 5485e19b27 Add link_verses filter to 11 templates missing it
Fixed biblical_angels, biblical_covenants, biblical_festivals,
biblical_prophets, names_of_god, parables, parable_detail, and
their PDF variants to apply link_verses | link_names filters.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:51:30 -05:00
kennethreitz bc9b109d75 Add chapter-only verse linking (e.g., "Isaiah 53")
The link_verses filter now handles chapter references without
verse numbers, linking "Isaiah 53" to /book/Isaiah/chapter/53.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:48:50 -05:00
kennethreitz e71cdf2d5b Fix filter order: link_verses before link_names
The link_names filter was converting book names like "Daniel" to
family tree links before link_verses could match them as verse
references. Now link_verses runs first so "Daniel (8:16, 9:21)"
gets properly linked before "Daniel" becomes a person link.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:47:31 -05:00
kennethreitz 34e715fb65 Add verse linking for parenthetical refs, fix resource sidenotes
- link_verses filter now handles "Daniel (8:16, 9:21)" format
- Reduced resource detail column width to 55% for sidenote room
- Removed right padding on article to prevent sidenote cutoff

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:43:43 -05:00
kennethreitz d6f0b9597e Improve cross-ref ordering and show up to 5 refs
- Sort cross-ref groups by theological priority (Prophecy/Covenant
  first, generic "Parallel theme" last)
- Show up to 5 refs without expansion (was 3)
- Show all if 6 or fewer to avoid "+1"

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:39:06 -05:00
kennethreitz 9c6b5b9b76 Prioritize same-book cross-refs first
Cross-refs from the current book now appear first, followed by
other books in canonical order. E.g., viewing John shows John
refs first, then Genesis → Revelation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:34:45 -05:00
kennethreitz ae4053f1e3 Sort cross-refs in canonical book order (Genesis → Revelation)
Instead of alphabetical sorting, cross-references now appear in
biblical book order. Isaiah refs come before Matthew refs, which
come before Revelation refs.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:34:16 -05:00
kennethreitz 98630f93ba Sort cross-refs by book before condensing display
Groups same-book references together so instead of jumping like
"Isaiah 44:6, Revelation 22:13, Isaiah 41:4" it shows
"Isaiah 44:6, 41:4, Revelation 22:13".

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:31:05 -05:00
kennethreitz d303d70f02 Add section headings for all 66 books of the Bible
Adds 2,543 section headings (e.g., "The Sermon on the Mount",
"The Suffering Servant") that display before verses in chapter
pages. Headings are loaded from JSON and rendered as styled h3
elements in the Tufte typography style.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 09:37:46 -05:00
kennethreitz 3bbe683a60 Condense cross-refs: show book only when it changes
Instead of "Revelation 1:20; Revelation 1:16; Revelation 3:7"
now shows "Revelation 1:20, 1:16, 3:7" - much cleaner.

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

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