Commit Graph

1354 Commits

Author SHA1 Message Date
kennethreitz 8dd1b4dafe Break up long paragraphs on Biblical Prophets page
Add </p><p> HTML paragraph breaks to prophet descriptions for
improved readability:
- Non-Writing Prophets: Moses, Samuel, Nathan, Elijah, Elisha
- Major Prophets: Isaiah, Jeremiah, Ezekiel, Daniel
- Minor Prophets: Hosea, Joel, Amos, Jonah, Micah, Zechariah, Malachi

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 13:19:52 -05:00
kennethreitz d0a6082bad Fix stanza breaks in 27 more Psalms via parallel agent review
Systematic review of remaining 64 unchecked Psalms using 8 parallel
agents. Fixed off-by-one errors and added missing breaks.

Fixed: 9, 14, 20, 28, 29, 31, 33, 43, 48, 52, 53, 55, 94, 99, 101,
113, 114, 124, 125, 130, 132, 135, 138, 140, 141, 143, 147

Added breaks: 48 (+v12), 130 (+v7), 138 (+v7), 140 (+v12)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 12:00:41 -05:00
kennethreitz 620d382297 Fix stanza breaks in 22 Psalms (off-by-one corrections)
Systematically reviewed Psalm stanza break placements and fixed
off-by-one errors where breaks were at section endings rather than
beginnings of new sections.

Fixed Psalms: 35, 38, 56-61, 64, 69-71, 74-76, 79-80, 82-83, 85, 88

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 11:55:26 -05:00
kennethreitz 2b3ab4ea58 Fix stanza breaks in Psalms 66, 77, 90
- Psalm 66: [7,12,16] → [7,13,16] - vow section starts v13
- Psalm 77: [4,10,14] → [5,10,14] - reflection starts v5
- Psalm 90: [6,11,14] → [7,12,14] - anger v7, prayer v12

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 11:46:54 -05:00
kennethreitz a4894525f1 Fix stanza breaks in Psalms 4, 5, 6, 7, 12
- Psalm 4: [3,5] → [3,6] - "There be many" starts v6
- Psalm 5: [4,8] → [4,7] - "But as for me" starts v7
- Psalm 6: [4,8] → [5,8] - reasons/suffering start v5
- Psalm 7: [6,10,13] → [6,10,14] - wicked's self-destruction v14
- Psalm 12: [4] → [5] - God's response starts v5

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 11:45:26 -05:00
kennethreitz c60178210b Fix stanza break in Psalm 96
- Psalm 96: [6,10] → [7,10] - "Give unto the LORD" starts v7

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 11:41:23 -05:00
kennethreitz b1b28b4050 Fix stanza breaks in Psalms 19, 24, 40, 67, 100
- Psalm 19: [5,8,12] → [7,12] - law section starts v7
- Psalm 24: [3,6] → [3,7] - "Lift up your heads" starts v7
- Psalm 40: [4,10,14] → [4,11,14] - prayer starts v11
- Psalm 67: [4] → [6] - preserve chiastic structure
- Psalm 100: [3] → [4] - "Enter into his gates" starts v4

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 11:40:28 -05:00
kennethreitz c9a45c34a6 Fix stanza breaks in Psalms 16, 32, and 121
- Psalm 16: [4,8] → [5,8] - "LORD is my portion" starts at v5
- Psalm 32: [5,7] → [6,8] - application v6, instruction v8
- Psalm 121: [4] → [5] - "thy/thee" direct address starts at v5

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 11:36:49 -05:00
kennethreitz c5a2ff2a61 Remove merge_headings.py
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 21:19:14 -05:00
kennethreitz 34b7e16bea Fix poetry loader and validation for "all" chapters
- Add pytest-xdist to dev dependencies for parallel test execution
- Handle "all" string value in is_poetry_chapter() for fully poetic books
- Update PoetryBookData model to accept "all" or list of ints
- Expand valid poetry books list to include all Bible books with poetic sections

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 20:25:03 -05:00
kennethreitz c4bba295f9 Remove border from chapter navigation
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 20:04:18 -05:00
kennethreitz f698e5e0fc Fix stanza breaks in Luke and Revelation hymns
- Luke 2: [14,32,35] → [14,33] - break after Nunc Dimittis ends at v32
- Revelation 7: [12,17] → [13] - v12 is part of angels' hymn, v13 starts elder's question

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 19:48:00 -05:00
kennethreitz 278556ad1b Fix stanza breaks in Minor Prophets
- Amos 1: [5,8,10,13,15] → [6,9,11,13] - align with oracle formula "Thus saith"
- Amos 2: [5,8,13,16] → [4,6,9,13] - Judah v4, Israel v6, history v9
- Hosea 2: [5,13,18,23] → [6,14,18,23] - judgment v6, restoration v14
- Micah 1: [5,9,16] → [6,8,10] - judgment v6, lament v8, city oracles v10

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 19:45:59 -05:00
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