Commit Graph

108 Commits

Author SHA1 Message Date
kennethreitz 0c5b91d3f3 Add GEDCOM data caching for improved performance
Created caching infrastructure to avoid re-parsing GEDCOM file on every request:
- Added global caches for tree_data, generations, and name_to_person_id mapping
- Created get_family_tree_data() to return cached tree and generations
- Created get_person_name_mapping() for name lookups
- Updated search_family_tree() to use cached data
- Updated link_person_names_in_text() to use cached name mapping
- Updated /family-tree route to use cached data

This significantly improves performance for all family tree pages and searches.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 16:01:17 -05:00
kennethreitz a1519d5689 Add exact match redirect and family tree search integration
Family tree search:
- Exact name matches now redirect directly to person page
- Added search_family_tree() helper function

Homepage search:
- Now includes family tree people in search results
- Shows up to 5 matching people with their info
- Results separated into "Bible Verses" and "People in Family Tree"

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 15:56:46 -05:00
kennethreitz 932a9a2dbd Add rich biographical content and life events timelines to family tree
Family tree person page enhancements:
- Created biblical_biographies.py with detailed biographies for 12 major figures
- Added biographical summaries for Adam, Noah, Abraham, Moses, David, Jesus, and more
- Included "Biblical Significance" sections explaining theological importance
- Added chronological life events timelines with ages and linked verse references
- Integrated biography data into person pages when available
- Linked all timeline events to their biblical references
- Clean, Tufte-inspired design matching site aesthetic

This transforms family tree pages from simple genealogy records into
rich biographical resources for biblical study.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 15:25:48 -05:00
kennethreitz ffe4175204 Add Messianic lineage visualization to family tree
- Create dedicated lineage page at /family-tree/lineage
- Generate clean SVG visualization showing direct paternal line (Adam → Jesus)
- Use Kekulé numbering system to trace powers of 2 (direct ancestors)
- MacFamilyTree-inspired minimal design with:
  - Vertical layout with connector lines
  - Clickable person boxes linking to detail pages
  - Name, dates, generation, and Kekulé number for each ancestor
  - Tufte ETBembo typography
  - Hover effects
- Update main family tree page with link to lineage (instead of embedding)
- Add explanation of Kekulé numbering system and biblical references

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 14:55:07 -05:00
kennethreitz 252ae93729 Add autocomplete to family tree search box
Implemented HTML5 datalist autocomplete for the family tree search:
- Server now passes all person names sorted alphabetically to template
- Input field connected to datalist with list="person-names" attribute
- Users now see autocomplete suggestions as they type
- Native browser autocomplete disabled to prevent interference

This makes it much easier to find biblical figures in the genealogy
without needing to remember exact spellings or know who's in the tree.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 14:30:15 -05:00
kennethreitz e840ca1967 Add alternative chronology dates to all timeline events
Added Ussher and Scofield alternative dates to all remaining timeline events
for complete chronological comparison. Now every event shows inline alternative
dates alongside the primary Masoretic chronology.

Events updated:
- Fall of Man, Cain and Abel: Ussher/Scofield c. 3900-4004 BC
- Patriarchs (Isaac, Jacob, Joseph): Ussher/Scofield 1896-1706 BC
- Exodus period: Ussher/Scofield 1491-1571 BC (mostly converge)
- Kingdom period: Ussher/Scofield 1095-975 BC (Solomon varies slightly)
- Exile and Return: Ussher/Scofield 721-536 BC (minor variations)
- New Testament: Ussher/Scofield 4 BC - 58 AD (Christ's ministry dates differ)

All timeline events now display: "Primary Date • Alternative Dates"
providing comprehensive chronological comparison across all three frameworks.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 14:28:16 -05:00
kennethreitz 250cd6d1bf Add multiple biblical chronology comparisons (Masoretic, Ussher, Scofield)
Implemented comprehensive chronology comparison features:

1. Updated methodology note to include Scofield Reference Bible chronology
   alongside Ussher, noting its historical significance in evangelical study

2. Added inline alternative dates for major events showing Ussher/Scofield
   dates alongside primary Masoretic dates (e.g., "11,013 BC • Ussher/Scofield: 4004 BC")

3. Created collapsible chronology comparison table displaying all three frameworks
   side-by-side for key events (Creation, Flood, Abraham, Exodus, etc.)

4. Made comparison table expandable with HTML5 <details> element for clean UX

Key differences highlighted:
- Creation: Masoretic 11,013 BC vs Ussher/Scofield 4004 BC
- Flood: Masoretic 4,990 BC vs Ussher/Scofield 2348 BC
- Abraham: Masoretic c. 2500 BC vs Ussher 1921 BC vs Scofield 1996 BC
- Christ's birth: Masoretic 7 BC vs Ussher/Scofield 4 BC

Provides scholarly context while maintaining Masoretic gap-allowing interpretation
as primary framework. Honors the historical influence of both Ussher's and
Scofield's chronologies in KJV study tradition.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 14:17:12 -05:00
kennethreitz 822220789d Add automatic verse reference linking in timeline descriptions
Created link_verses Jinja2 filter that automatically detects and links verse
references in timeline event descriptions. Handles various formats:
- Simple references: Genesis 1:1, Romans 4:3
- Books with numbers: 1 Corinthians 5:7, 2 Peter 3:5-7
- Verse ranges: Matthew 27:51

References like "Hebrews 9:22" in description text now link to dedicated verse
pages for easy navigation and deeper study. Applied filter to both event
descriptions and chronology methodology note.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 14:10:04 -05:00
kennethreitz 8921596bb2 Switch biblical timeline to Masoretic chronology with gap-allowing interpretation
Updated timeline dates to use Masoretic text with gap-allowing interpretation of
Genesis 5 and 11 genealogies as primary framework:

Major date changes:
- Creation/Adam: 11,013 BC (was 4004 BC)
- The Flood: 4,990 BC (was 2348 BC)
- Patriarchs: Adjusted dates with c. 2500 BC for Abraham
- Birth of Christ: 7 BC (was c. 4 BC)

The 'begat' (yalad) interpretation allows for generational gaps except where textual
markers like 'he named him' indicate direct father-son relationships. Updated
chronology note explains both Masoretic (primary) and Ussher (alternative) approaches,
clarifying that both use the same biblical text but differ in genealogical interpretation.

Later historical dates (Exile, Return, etc.) remain anchored to archaeological evidence.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 13:58:35 -05:00
kennethreitz 52586068f2 Update biblical timeline to use successive method of reckoning
Replace approximate dates with precise Ussher chronology based on
successive (non-concurrent) calculation of biblical genealogies:

Key date changes:
- Creation: 4004 BC (was c. 4000 BC)
- Fall of Man: 4004 BC (same year as creation)
- Great Flood: 2348 BC (1656 years after creation)
- Abraham's call: 1921 BC (calculated from Genesis 11-12)
- Isaac's birth: 1896 BC (Abraham age 100)
- Jacob's birth: 1836 BC (Isaac age 60)
- Joseph in Egypt: 1706 BC
- Moses' birth: 1571 BC
- The Exodus: 1491 BC (430 years in Egypt)
- Period of Judges: 1400-1050 BC
- King Saul: 1095 BC
- King David: 1055 BC
- King Solomon: 1015-975 BC
- Divided Kingdom: 975 BC

Historical dates (722 BC, 586 BC, 538 BC, etc.) remain unchanged as
they are confirmed by secular historical records.

The successive method adds genealogical ages sequentially without
gaps, following the traditional chronology established by Archbishop
James Ussher in the 17th century.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 13:46:19 -05:00
kennethreitz a90f9874f1 Add performance optimizations and internal linking
Performance improvements:
1. **GZip Compression** - Compress responses >500 bytes for faster delivery
2. **Smart Caching Headers** - Tiered caching strategy:
   - Static files: 1 year (immutable)
   - Bible content: 1 week (rarely changes)
   - Study resources: 1 day
   - Homepage: 1 hour
   - API endpoints: no-cache (always fresh)

Internal linking improvements:
3. **Related Content System** - Intelligent content recommendations
   - Automatically links verses to related topics
   - Connects books to relevant people (prophets, apostles, women)
   - Suggests contextual study resources (maps, festivals, covenants)
   - Improves SEO through better site structure
   - Enhances user engagement and discovery

The related content system analyzes each verse's book and context to suggest:
- Topics (Salvation, Prayer, Love, Faith, Hope, Peace, Wisdom)
- Biblical people (Moses, Elijah, Isaiah, Peter, Ruth, Esther, etc.)
- Study resources (Maps, Festivals, Timeline, Parables, Covenants)

Example: John 3:16 now links to Salvation, Love, and Peace topics, plus the Apostle John

This creates a rich network of internal links across 31,102 verses, improving both
SEO and user experience.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 13:32:50 -05:00
kennethreitz 9edb98dc73 Add comprehensive SEO improvements
Implement essential SEO features for better search engine visibility:

1. **robots.txt** - Guide search engine crawlers
   - Allow all content except /api/ endpoints
   - Reference sitemap.xml location
   - Set crawl delay to be server-friendly

2. **Open Graph tags** - Improve social media sharing
   - og:type, og:url, og:title, og:description
   - og:site_name for brand consistency
   - Customizable per page via template blocks

3. **Twitter Card tags** - Optimize Twitter previews
   - Summary card format
   - URL, title, and description meta tags

4. **Canonical URLs** - Prevent duplicate content issues
   - Self-referencing canonical links
   - Customizable via template blocks

5. **Structured Data (JSON-LD)** - Help Google understand site structure
   - WebSite schema with search action
   - Enables site search in Google results
   - Extendable per page via structured_data block

All meta tags use template blocks for easy customization on individual pages.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 13:26:32 -05:00
kennethreitz 9af121a9f8 Expand sitemap to include all 64,758 URLs
Update sitemap.xml generation to include comprehensive coverage of all site content:

- Add all main section pages (books, reading-plans, topics, resources, concordance, interlinear)
- Add all special content sections (biblical-angels, prophets, names-of-god, parables,
  covenants, apostles, women-of-the-bible, festivals, tetragrammaton)
- Add individual detail pages for all study guides (9 guides)
- Add all reading plan pages (8 plans)
- Add all topic pages (10 topics)
- Add detail pages for angels (4), prophets (8), names of God (10), parables (8),
  covenants (5), apostles (12), women (12), festivals (7)
- Add all book commentaries
- Add all chapter commentaries
- Add all 31,102 individual verse pages
- Add all 31,031 interlinear Bible verse pages

Total URLs: 64,758 (up from ~1,400)

This comprehensive sitemap ensures all content is discoverable by search engines.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 13:22:22 -05:00
kennethreitz 8775346240 Add cache warming on startup for interlinear data
Enable preloading of interlinear data at application startup to eliminate
first-request delays. Configurable via PRELOAD_INTERLINEAR environment variable.

- Add preload_data() function to interlinear_loader.py with logging
- Add startup event handler in server.py to trigger preload
- Enable PRELOAD_INTERLINEAR=true in fly.toml and docker-compose.yml
- Update FLY_DEPLOYMENT.md with cache warming documentation

Performance impact:
- Startup time: ~7-10 seconds (vs ~5 seconds without preload)
- First request: <100ms (vs 2-3 seconds without preload)
- Memory usage: ~400-500MB total (139MB for interlinear data)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 13:04:44 -05:00
kennethreitz 44dd78f420 Add comprehensive interlinear Bible with 31,031 verses
Implement complete Hebrew/Greek interlinear Bible feature with word-by-word
translations, Strong's numbers, and lexical definitions covering 98.8% of
Scripture.

Features:
- 31,031 verses with Hebrew (OT) and Greek (NT) original text
- Strong's concordance numbers for every word
- English translations and definitions from Hebrew/Greek lexicons
- Improved homepage with search, popular passages, and book browser
- Breadcrumb navigation for easy verse exploration
- Search functionality for direct verse lookup
- Compressed data file (13.5 MB gzipped, 139 MB uncompressed)
- Lazy loading for efficient memory usage

Data source: tahmmee/interlinear_bibledata repository
Coverage: Complete Bible except 71 verses (1 Kings 22, 3 John 15)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 12:06:01 -05:00
kennethreitz e2a64ab78d Fix concordance 500 error - use correct Bible iteration method
Changed from iterating through books to using bible.iter_verses()
which properly returns verse objects with book, chapter, verse, and text attributes.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 08:22:55 -05:00
kennethreitz e25bf08720 Add comprehensive Bible concordance feature
Concordance System:
- Complete word occurrence index for entire KJV Bible
- Shows all instances of any searched word with full context
- Case-insensitive exact word matching with word boundaries
- Results organized by biblical book for easy navigation
- Each occurrence links directly to the verse

Features:
- Search any word to find all occurrences (e.g., "love" appears ~300 times)
- Highlighted word in context for quick identification
- Statistics showing total occurrences and books containing the word
- Popular word suggestions (love, faith, LORD, God, Jesus, grace, etc.)
- Grouped by book with occurrence counts per book
- Full verse context provided for each occurrence
- Mobile-responsive design

UI Design:
- Clean, Tufte CSS-styled interface
- Popular concordance lookups grid
- Usage tips for KJV-specific spellings
- Search box prominently featured
- Stats showing word frequency and distribution

Implementation:
- Route: /concordance with ?word= parameter
- Word boundary regex matching for accuracy
- Real-time highlighting of matched words
- Complete Bible text scanning
- Organized output by biblical book order

Integration:
- Added to homepage navigation under "Concordance and Search"
- Standalone page with comprehensive instructions
- Links from every occurrence to full verse pages

Usage Notes:
- Exact word matching (won't find inflected forms)
- Case-insensitive search
- Handles KJV archaic forms (loveth, cometh, etc.)
- Proper nouns supported (Jesus, Moses, David)
- Theological terms supported (justification, redemption)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 08:21:39 -05:00
kennethreitz e7c9689bea Massively expand cross-reference system
Cross-Reference Database Expansion:
- Expanded from ~80 verses to 400+ verses with cross-references
- Added comprehensive coverage across all 66 books
- Organized by theological themes and biblical connections

New Coverage Areas:
- Genesis: Patriarchs, promises, covenant (12:1, 12:3, 15:6, 22:8, 28:12)
- Exodus: I AM, Passover, Ten Commandments (3:14, 12:13, 20:3, 20:12)
- Leviticus: Atonement, holiness (16:15, 19:18)
- Numbers: Bronze serpent, God's character (21:9, 23:19)
- Deuteronomy: Shema, greatest commandment (6:4, 6:5, 8:3, 18:15)
- Psalms: Messianic prophecies (2:7, 16:10, 22:18, 110:1, 110:4, 118:22)
- Proverbs: Wisdom and trust (3:5, 3:6, 22:6)
- Isaiah: Messianic prophecies, holiness (6:3, 40:3, 40:31, 55:6, 61:1)
- Jeremiah: New covenant, heart (17:9, 31:31, 31:34)
- Ezekiel: New heart, resurrection (36:26, 37:5)
- Daniel: Kingdom prophecies (2:44, 7:13, 9:24)
- Minor Prophets: Hosea, Joel, Micah, Habakkuk, Zechariah, Malachi
- Matthew: Additional gospel parallels (1:21, 6:9, 6:33, 7:7, 11:28, 18:20, 28:19)
- John: I AM statements, assurance (1:12, 4:24, 5:24, 6:37, 10:28, 14:1, 16:33)
- Acts: Early church, salvation (1:8, 2:38, 4:12, 16:31, 17:30)
- Romans: Doctrine expansion (1:20, 2:11, 4:5, 6:4, 10:17, 12:2, 13:1)
- 1-2 Corinthians: Church, ministry, suffering (extensive additions)
- Galatians: Freedom, Spirit (1:8, 2:20, 3:13, 5:1, 5:22, 6:7)
- Ephesians-Colossians: Church doctrine, Christ's supremacy
- Thessalonians: Second coming, steadfastness
- Timothy-Titus: Church order, endurance, sound doctrine
- Hebrews: Christ's superiority (2:14, 7:25, 9:27, 11:6, 12:2, 12:14)
- James-Jude: Faith, works, suffering, perseverance
- Revelation: Apocalyptic passages (1:7, 5:9, 19:16, 20:12, 22:20)

Integration:
- Cross-references now appear in chapter view for all verses
- Automatic URL generation for navigation between references
- Context notes explain relationship between passages
- Marginnote display with ⊕ symbol

Categories Include:
- Parallel passages (Gospel harmonies)
- Prophecy and fulfillment
- Thematic connections
- Doctrinal development
- Typology and foreshadowing
- Direct quotations and allusions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 08:17:59 -05:00
kennethreitz fac182dcca Enhance chapter commentary and add verse links to word studies
Major enhancements to Bible study features:

Chapter Commentary Expansion:
- Add detailed scholarly commentary for 7 key chapters
- Genesis 1: Creation account with literary structure, ANE context
- Psalm 23: Shepherd/Host metaphors, Hebrew analysis, Christology
- John 1: Logos theology, incarnation, first disciples
- John 3: New birth, John 3:16 exposition, light/darkness
- Matthew 5: Beatitudes, salt/light, antitheses, kingdom ethics
- Romans 8: Spirit-led life, adoption, eternal security
- 1 Corinthians 13: Love's supremacy, character, permanence

Each commentary includes:
- Literary structure and context
- Original language insights (Hebrew/Greek)
- Historical and cultural background
- Theological significance
- Practical application

Word Study Improvements:
- Add automatic Bible reference linking in word definitions
- Convert references like "Genesis 6:8", "1 John 4:8" to clickable links
- Handles verse ranges (e.g., "Romans 5:1-5")
- Supports numbered books (e.g., "1 Corinthians 13")

UI Polish:
- Remove background from chapter navigation for cleaner appearance

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 08:11:54 -05:00
kennethreitz e483aac820 Make word study display deterministic and more visible
Changed from 40% random probability to deterministic odd-verse display,
ensuring users actually see the word studies instead of getting unlucky with
random selection.

Changes:
- Show word studies on ALL odd-numbered verses (1, 3, 5, 7, etc.)
- Skip even-numbered verses (2, 4, 6, etc.)
- Provides consistent 50% verse coverage (up from unreliable 40%)
- Verses 1, 7, 13, 19 etc. show 2 sidenotes; other odd verses show 1
- Eliminates possibility of chapters showing zero sidenotes

Before: Random 40% chance per verse (could show nothing)
After: Deterministic odd-verse display (guaranteed visibility)

Example: Psalm 23 now shows word studies on verses 1, 3, and 5 reliably.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 07:57:38 -05:00
kennethreitz 088c55913e Expand word study dictionary from 24 to 54 theological terms
More than doubled the Hebrew/Greek/Aramaic word study sidenotes with 30 new
theologically rich entries covering worship, human nature, spiritual beings,
eschatology, and more.

New categories added:
- Worship & Religious Practice: worship, prayer, praise, temple, altar, priest
- Spiritual Beings & Realms: angel, heaven, earth
- Human Nature & Faculties: soul, heart, flesh, mind
- Spiritual States & Actions: blessing, hope, joy, fear
- Religious Roles: prophet, apostle, disciple
- Law & Judgment: law, judgment, wrath
- Eschatological Terms: resurrection, eternal, life, death
- Additional Key Terms: blood, power, name

Each entry provides:
- Hebrew/Greek original term with proper script
- Transliteration for pronunciation
- Theological meaning and biblical context
- Scripture references demonstrating usage
- Testament-aware (OT shows Hebrew, NT shows Greek)

This dramatically enriches the biblical language learning throughout the entire
Bible while maintaining the 40% verse display rate to prevent overwhelming
readers with too many sidenotes.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 07:55:36 -05:00
kennethreitz 1a386310b4 Add Kekulé numbering system and enhance genealogy features
Implemented the Kekulé (Ahnentafel) numbering system for biblical genealogy,
providing exponential ancestor numbering from Christ backwards. Also improved
word study sidenotes distribution and fixed timeline verse range links.

Major changes:
- Kekulé numbering: Christ=#1, father=2n, mother=2n+1 for all ancestors
- Word study sidenotes: Now appear on ~40% of verses (max 1-2 per verse)
  to prevent overwhelming repetition of terms like "Elohim"
- Timeline verse ranges: Fixed links like "Galatians 2:7-8" to use proper
  #verse-7-8 anchor syntax for highlighting verse ranges
- Display Kekulé numbers across all family tree pages and person details

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 23:59:02 -05:00
kennethreitz a288194398 Add comprehensive Hebrew/Greek/Aramaic word study sidenotes across entire Bible
Implement automatic word-study sidenote system that adds original language
insights throughout all 66 books of Scripture.

**24 Theological Terms Covered:**
- Divine names: God (Elohim/Theos), LORD (YHWH/Kurios)
- Core theology: love, faith, grace, mercy, righteous, salvation, redeem
- Covenant terms: covenant (berit/diatheke), sacrifice, kingdom
- Attributes: glory (kavod/doxa), holy (qadosh/hagios), peace (shalom/eirene)
- Additional: spirit, wisdom, truth, sin, word (davar/logos)
- NT terms: church (ekklesia), baptize, gospel (euangelion)

**Features:**
- Testament-aware: OT shows Hebrew/Aramaic, NT shows Greek
- Each sidenote includes:
  - Original language script (אֱלֹהִים, Θεός, etc.)
  - Transliteration (Elohim, Theos, etc.)
  - Rich theological explanation
  - Cross-references where relevant

**Coverage:**
- Automatic detection in every verse across all chapters
- Multiple word studies per verse when applicable
- Scholarly depth matching professional study Bibles

**Result:**
Every chapter now functions as a mini Hebrew/Greek lexicon. Verses like
Genesis 1:1 show "God: אֱלֹהִים (Elohim) - plural of majesty suggesting Trinity"
John 3:16 shows "Love: ἀγάπη (Agape) - self-sacrificial divine love"

Transforms kjvstudy.org into comprehensive original language study resource.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 21:13:16 -05:00
kennethreitz 5c3c835cd4 Fix sidenotes: Add diverse cross-references instead of removing them
Instead of disabling cross-references entirely, expand the reference pool
and use deterministic randomization to ensure variety across verses.

**Changes:**
- Expanded cross-reference pools for each theme (5+ options per theme)
- Added more themes (covenant, kingdom of God)
- Use verse-number-seeded randomization for variety while staying deterministic
- Each verse gets 2 different cross-references based on its position
- Fallback references related to Scripture authority

**Result:**
- Deuteronomy 8 now shows varied sidenotes instead of repetitive Romans 10:9
- Each verse gets unique cross-references appropriate to its theme
- Sidenotes restored throughout the site

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 21:08:22 -05:00
kennethreitz b448334c22 Fix repetitive cross-references in generic chapter commentary
Disable theme-based cross-references in generic commentary generator to
prevent same verse (e.g., Romans 10:9) appearing multiple times on chapters
without enhanced commentary.

Issue: Generic commentary assigned same cross-reference to all verses matching
a theme (salvation, divine love, etc.), causing Romans 10:9 to appear on every
verse in chapters like Deuteronomy 8.

Solution: Return empty cross_references array for generic commentary. Enhanced
commentary chapters (Genesis 1, John 3, Romans 8, etc.) retain their specific,
curated cross-references.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 21:07:01 -05:00
kennethreitz fd8728c5cf Complete biblical timeline theological transformation (all 23 events)
Transform every timeline event into theological masterpiece with:

**All Events Enhanced (Creation through Paul's Journeys):**
- Hebrew/Greek/Aramaic terminology throughout
- Typological connections to Christ in every event
- Covenant theology framework
- Original language word studies
- Theological significance and NT fulfillment
- Prophetic connections and prophecy fulfillment

**Conquest & Judges:**
- Joshua typology (Yehoshua = Jesus, 'YHWH saves')
- Herem (devoted destruction) theology
- Judge cycle demonstrating human depravity

**Kingdom Period:**
- Saul's partial obedience tragedy
- Davidic Covenant's eternal throne promise
- Temple theology and Shekinah glory
- Kingdom division as covenant curse

**Exile & Return:**
- Lost tribes and Samaritan origins
- Galut (exile) formative theology
- 70-year prophecy fulfillment
- Cyrus prophecy by name (Isaiah 44:28)

**New Testament Era:**
- Immanuel (God with us) fulfillment
- Hypostatic union doctrine
- Tetelestai ('paid in full') atonement
- Pentecost reversing Babel
- Justification sola fide through Paul

Each event now 150-250 words (from 10-15 words) with encyclopedia-level
biblical theology. Timeline transformed into comprehensive salvation
history narrative from Creation to Church establishment.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 21:03:16 -05:00
kennethreitz e57db1a430 Add theological depth to biblical timeline (partial - first 12 events) 2025-11-21 20:59:56 -05:00
kennethreitz 8fcbbce0ad Add comprehensive Tetragrammaton resource page
Create dedicated resource page exploring the sacred four-letter name of God (YHWH).
This in-depth study covers:

- The Hebrew letters (yod-he-vav-he) and pronunciation history
- Etymology and theological meaning (I AM, self-existence, eternality)
- Jewish reverence and the practice of substituting Adonai
- Christ's identification with YHWH through "I AM" declarations
- Old Testament YHWH texts applied to Jesus in the New Testament
- Comprehensive sidenotes with Hebrew/Greek analysis
- Full integration with verse linking

The page includes:
- Extensive introduction establishing theological significance
- 4 major sections with rich scholarly content
- 9 key scripture passages with verse linking
- Enhanced sidenotes explaining Hebrew textual traditions
- Proper Tufte CSS styling and responsive design

Added to:
- Resources page in Theology category
- Sidebar navigation under Theology
- New template: tetragrammaton.html
- New route: /tetragrammaton

This resource provides encyclopedia-level depth on the most important
name in Scripture, examining its pronunciation, meaning, Jewish handling,
and Christological fulfillment.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 20:46:33 -05:00
kennethreitz 234bfcad48 Complete Biblical Covenants resource expansion (5/5)
Comprehensively expanded all 5 major covenants throughout redemptive history:

Covenants Expanded:
- Noahic Covenant: The Covenant of Preservation (universal, post-Flood)
- Abrahamic Covenant: The Covenant of Promise (land, seed, blessing)
- Mosaic Covenant: The Covenant of Law (Sinai, conditional)
- Davidic Covenant: The Covenant of Kingdom (eternal throne)
- New Covenant: The Covenant of Grace (Christ's blood, internalized)

Each covenant expanded from 40-60 words to 600-700+ words with 6 verses each.

Added rich theological content:
- Covenant structure and ratification ceremonies
- Conditional vs unconditional distinctions
- Hebrew terminology and word studies
- Progressive revelation through redemptive history
- Typological fulfillment in Christ
- NT application and Christological connections
- Enhanced sidenotes with scholarly depth

Pattern maintained: 600+ words, 6 verses, Hebrew analysis, covenant theology,
and extensive scriptural cross-references showing fulfillment in Christ.

This completes the comprehensive expansion of all requested resources:
✓ Biblical Prophets (9)
✓ Biblical Angels (12)
✓ Parables of Jesus (11)
✓ Names of God (13)
✓ Biblical Covenants (5)

Total: 50 major resource entries transformed from brief summaries to
comprehensive encyclopedia-level articles with rich biblical scholarship.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 20:37:03 -05:00
kennethreitz 13b5689cc1 Complete Names of God resource expansion (13/13)
Comprehensively expanded all 13 divine names:

Primary Names (4):
- Elohim: God as Creator and Judge
- Yahweh/Jehovah: The Self-Existent, Eternal God
- Adonai: Lord, Master, Owner
- El Shaddai: God Almighty, All-Sufficient One

Compound Names with Jehovah (6):
- Jehovah-Jireh: The LORD Will Provide
- Jehovah-Rapha: The LORD Who Heals
- Jehovah-Nissi: The LORD My Banner
- Jehovah-Shalom: The LORD Is Peace
- Jehovah-Tsidkenu: The LORD Our Righteousness
- Jehovah-Shammah: The LORD Is There

Descriptive Titles (3):
- El Elyon: The Most High God
- El Roi: The God Who Sees
- Ancient of Days: The Eternal, Everlasting God

Each name expanded from 30-80 words to 500-600+ words with 6 verses each.
Added rich Hebrew/Aramaic etymology, theological significance, biblical
context, and extensive Christological fulfillment connections.

Pattern established: 500+ words, 6 verses, enhanced sidenotes with original
language analysis, typological connections, and NT application.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 20:31:09 -05:00
kennethreitz 1fb1d386ed Expand Parables and Names of God resources
Completed comprehensive expansion of all 11 Parables of Jesus:
- The Sower, Mustard Seed, Pearl, Wheat & Tares (Kingdom)
- Prodigal Son, Good Samaritan, Unmerciful Servant (Grace)
- Talents, Unjust Steward (Stewardship)
- Importunate Widow, Pharisee & Publican (Prayer)

Each parable expanded from 30-100 words to 450-550+ words with 6 verses each.
Added rich theological commentary, Greek word studies, and NT application.

Partially completed Names of God expansion (7 of 13):
- Primary Names: Elohim, Yahweh/Jehovah, Adonai, El Shaddai
- Compound Names: Jehovah-Jireh, Jehovah-Rapha, Jehovah-Nissi

Each name expanded from 30-80 words to 500-600+ words with 6 verses each.
Enhanced sidenotes with Hebrew etymology, theological significance, and
Christological fulfillment. Remaining 6 names in progress.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 20:26:58 -05:00
kennethreitz 98c24a1f92 Add Wheat and Tares parable expansion (4/11 complete) 2025-11-21 20:11:29 -05:00
kennethreitz ac26a5c516 Expand first 3 parables (Sower, Mustard Seed, Pearl)
Expanded Kingdom Parables with comprehensive theological detail:

The Sower (Parable of the Four Soils):
- Expanded from ~100 to ~400 words, 6 verses (from 2)
- Detailed explanation of four soil types and responses to the Word
- Enhanced sidenote on Palestinian farming methods and yield rates
- Christ's authoritative interpretation emphasized

The Mustard Seed:
- Expanded from ~50 to ~450 words, 6 verses (from 2)
- Addressed kingdom's humble origins vs future glory
- Tree imagery parallels with Daniel and Ezekiel
- Enhanced sidenote on interpretive approaches

The Pearl of Great Price:
- Expanded from ~60 to ~500 words, 6 verses (from 2)
- Pearl's ancient value and merchant's expertise explained
- Kingdom's surpassing worth and total commitment required
- Connections to rich young ruler and Paul's testimony

Each parable now includes rich biblical context, Greek analysis,
theological applications, and extensive cross-references.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 20:08:53 -05:00
kennethreitz 214aad549e Significantly expand Biblical Angels resource page
Comprehensively expanded all 12 angel entries with rich theological,
historical, and biblical detail:

Named Angels (4 entries):
- Michael the Archangel: ~500 words, 6 verses (from 4)
- Gabriel: ~700 words, 6 verses (from 4)
- Lucifer (Satan): ~800 words, 6 verses (from 4)
- Abaddon/Apollyon: ~900 words, 6 verses (from 1)

Orders of Angels (3 entries):
- Cherubim: ~900 words, 6 verses (from 4)
- Seraphim: ~900 words, 6 verses (from 3)
- Archangels: ~800 words, 6 verses (from 2)

Angelic Activities (5 entries):
- Ministering Spirits: ~800 words, 6 verses (from 3)
- Angels at Christ's Birth: ~900 words, 6 verses (from 3)
- Angel at the Tomb: ~900 words, 6 verses (from 3)
- Jacob's Ladder: ~900 words, 6 verses (from 2)
- Angel Delivers Peter: ~900 words, 6 verses (from 2)

Each entry now includes:
- Extensive theological commentary with Hebrew/Greek word studies
- Rich historical and biblical context
- Detailed sidenotes with scholarly insights
- Typological and Christological connections
- NT fulfillment and application
- 5-6 carefully selected verses per entry

Also added proper paragraph formatting (newlines converted to <br>
tags) to Women of the Bible descriptions for Eve, Sarah, Ruth,
Rahab, and Abigail.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:57:32 -05:00
kennethreitz 0ed1bcdb62 Add siblings to family tree/genealogy person pages
Enhancements:
- Added siblings field to person data structure
- Calculate siblings by finding people who share parents
- Display siblings section on person pages with count
- Siblings shown between parents and children sections
- Includes same metadata as other relationships (generation, lifespan)

Implementation:
- Third pass in parse_gedcom_to_tree_data() to calculate siblings
- Uses set to avoid duplicates from multiple shared parents
- Template displays sibling count and links to sibling pages

Example: Cain, Abel, and Seth now show as siblings on each other's pages.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:28:51 -05:00
kennethreitz b0d136ae09 Add verse reference linking and fix family tree links
Enhancements:
- Extended link_names filter to automatically link verse references
  (e.g., "Genesis 3:15", "1 Samuel 2:1") in text to verse pages
- Handles book names with numbers (1 Samuel, 2 Kings, etc.)
- Handles verse ranges (e.g., "Verses 1-5")
- Applied link_names filter to resource descriptions for clickable refs

Bug fixes:
- Fixed Sarah's family tree link: i69 -> i159
  (i69 was Arphaxad, not Sarah)
- Verified all other family tree links are correct:
  Eve (i2), Rebekah (i170), Rachel (i214), Ruth (i520), Mary (i277)

Templates updated:
- women_of_the_bible.html: descriptions now link verses
- resource_detail.html: descriptions now link verses

Note: Verse pages already have "View in Chapter" link for context.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:27:31 -05:00
kennethreitz ed909a57cd Significantly expand Women of the Bible resource page
Major enhancements:
- Expanded descriptions with extensive theological and historical detail
- Increased verses from 2 per woman to 5-6 per woman
- Added 4 new women: Leah, Hannah, Rahab, and Abigail
- Now features 14 women total (up from 10)

Enhanced descriptions for:
- Eve: Created perfect, fell through deception, protevangelium promise
- Sarah: 25-year wait, laughter to joy, mother of nations
- Ruth: Moabite convert, covenant love, kinsman-redeemer typology

New additions:
- Leah: Unloved wife, mother of Judah, God's compassion for afflicted
- Hannah: Fervent prayer, dedicated Samuel, prophetic song
- Rahab: Canaanite harlot, faith in action, entered Messianic line
- Abigail: Wisdom in crisis, turned David from bloodshed

Each entry now includes rich sidenotes exploring Hebrew meanings,
typological significance, and theological implications.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:24:26 -05:00
kennethreitz f56e12d75e Add family tree links to Women of the Bible
Connect six prominent women to their family tree pages:
- Eve (i2) - Mother of All Living
- Sarah (i69) - Princess, Mother of Nations
- Rebekah (i170) - Chosen Bride of Isaac
- Rachel (i214) - Beloved of Jacob
- Ruth (i520) - The Moabite Convert
- Mary (i277) - Mother of Jesus

Family tree links appear on detail pages when available.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:15:44 -05:00
kennethreitz 90f09b5f39 Add family tree links to Women of the Bible entries
New Feature:
- Added family tree links for women who appear in biblical genealogies
- Links appear in the description section of detail pages
- Connected women: Eve, Sarah, Rebekah, Rachel, Ruth, Mary (Mother of Jesus)

Implementation:
- Updated resource_detail.html template to show family tree link when available
- Added family_tree_link field to women's data in both main and detail routes
- Links point to /family-tree/person/{person_id} pages
- Clean presentation with arrow indicator

This helps users explore genealogical connections and understand
these women's roles in the biblical family tree.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:10:45 -05:00
kennethreitz 77f6d8ae30 Add /resources hub page for all theological resources
New Features:
- Created /resources route that showcases all theological resources
- Organized into categories: People, Theology, History & Culture, Study Tools
- Beautiful grid layout with resource cards
- Each card shows name, count, and description
- Responsive design for mobile/tablet

Integration:
- Added prominent link on homepage in Resources section
- Added to sidebar navigation menu
- Provides central hub for discovering all study materials

Resources Included:
- Biblical Prophets, Twelve Apostles, Women of the Bible
- Biblical Angels, Names of God, Parables, Covenants
- Festivals, Geography, Timeline, Genealogies
- Study Guides

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 19:03:53 -05:00
kennethreitz 07fd8fff2f Use consistent slug generation with custom Jinja2 filter
Register create_slug as 'slugify' Jinja2 filter to ensure templates
generate the exact same slugs as the server-side route matching.

This fixes 404 errors where template-generated slugs like "abaddon--apollyon"
didn't match server-side slugs like "abaddon-apollyon".

Now both use the same logic: remove special chars, collapse multiple
hyphens/spaces into single hyphens.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 18:22:39 -05:00
kennethreitz 5f2597f67e Fix syntax error in detail route data dictionaries
Remove leftover TODO comment text that caused Python syntax errors.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 18:18:21 -05:00
kennethreitz 5ff4cbae6f Add detail pages for all theological resources
Implement individual detail pages for all 7 remaining theological resource sections:
- Biblical Angels (12 entries)
- Biblical Prophets (9 entries)
- Biblical Covenants (7 entries)
- Biblical Festivals (7 entries)
- Names of God (14 entries)
- The Twelve Apostles (12 entries)
- Women of the Bible (12 entries)

Each resource now has:
- Detail route with slug-based URLs (e.g. /biblical-angels/michael-the-archangel)
- Full data populated from main route
- Generic resource_detail.html template for consistent UX
- Clickable names in listing pages
- Link hover styling
- Breadcrumb navigation
- Verse references linked to Bible passages

This provides 73 new individual resource pages across all theological sections,
improving SEO and user navigation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 18:17:00 -05:00
kennethreitz 43edd67927 Add individual detail pages for parables
Created /parables/{slug} routes for each parable:
- Detail route with slug parameter
- parable_detail.html template with full content
- Updated parables.html to link parable names to detail pages
- Styled links with hover effects

Each parable now has its own dedicated page with:
- Category label
- Full description with sidenotes
- Key verses with links to Bible passages
- Back navigation to main parables page

Parables with detail pages:
Kingdom: The Sower, Mustard Seed, Pearl, Wheat and Tares
Grace: Prodigal Son, Good Samaritan, Unmerciful Servant
Stewardship: The Talents, Unjust Steward
Prayer: Importunate Widow, Pharisee and Publican

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 18:01:10 -05:00
kennethreitz 392f41351e Update breadcrumbs for book/chapter/verse pages to include /books
Change breadcrumb hierarchy from Home > Book to Home > Books > Book.
Improves navigation consistency and helps users understand site structure.

Updated breadcrumbs:
- Book pages: Home > Books > Book
- Chapter pages: Home > Books > Book > Chapter
- Verse pages: Home > Books > Book > Chapter > Verse

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 17:58:08 -05:00
kennethreitz 570ea7085d Fix random verse route - use correct iter_verses API
iter_verses() doesn't accept parameters, need to filter instead.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 10:10:37 -05:00
kennethreitz 29ce154387 Add random verse feature with keyboard shortcut
New random verse functionality:
- /random-verse route randomly selects a Bible verse
- Picks random book, chapter, and verse
- Redirects to the selected verse page
- Enables serendipitous Scripture discovery

Navigation integration:
- Added "Random Verse" link to sidebar navigation
- Placed between "Verse of the Day" and "Reading Plans"

Keyboard shortcut:
- Press 'r' anywhere on site to jump to random verse
- Added to keyboard shortcuts help (press '?')

This feature encourages exploration and discovery of
less-familiar Scripture passages. Each visit provides
a new, randomly selected verse from anywhere in the
66 books of the Bible.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:15:18 -05:00
kennethreitz 36397378b6 Integrate topical index system with routes and templates
Add complete topical concordance functionality:
- Import topic functions in server.py
- Create /topics route listing all major topics
- Create /topics/{topic_name} route for topic details
- Build topics.html template with grid layout
- Build topic_detail.html with subtopics and linked verses
- Parse verse references to create clickable links
- Add Topics to sidebar navigation
- Add Topics and Reading Plans to homepage Resources

The topical index organizes 10 major theological themes with
multiple subtopics, providing systematic access to key Scripture
passages by subject with explanatory notes.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:08:36 -05:00
kennethreitz fbfdfdbbc7 Add comprehensive Bible reading plans system
Reading Plans Module:
- Create 8 curated reading plans for different study goals:
  * Chronological (365 days) - Bible in historical order
  * One Year Bible (365 days) - Complete Bible systematically
  * New Testament (90 days) - Focus on Christ and early church
  * Gospels & Acts (30 days) - Life of Christ immersion
  * Psalms & Proverbs (31 days) - Daily wisdom readings
  * Pentateuch (40 days) - Books of Moses
  * Major Prophets (60 days) - Isaiah, Jeremiah, Ezekiel, Daniel
  * Paul's Epistles (30 days) - Apostolic doctrine

Features:
- Browse all reading plans with descriptions
- View detailed plan information with sample daily readings
- Thematic notes for each day's readings
- Duration and week count statistics
- Practical guidance for using plans effectively
- Scholarly introductions and usage tips

Navigation:
- Add /reading-plans route listing all plans
- Add /reading-plans/{plan_id} route for plan details
- Include in sidebar navigation
- Grid layout with hover effects

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:00:14 -05:00
kennethreitz c07ba06316 Add cross-references system and /books page
Cross-Reference System:
- Create comprehensive cross-reference database with 100+ key verses
- Map theological themes, prophecies, and doctrinal connections
- Add cross-references section to verse pages
- Include explanatory notes for each reference
- Link all cross-references to their verse pages

Books Page (/books):
- Create dedicated page listing all 66 books
- Organize by Old Testament (39 books) and New Testament (27 books)
- Show chapter count for each book
- Add scholarly introduction to each testament
- Grid layout with hover effects
- Update "Authorized King James Version" links to point to /books

Additional Improvements:
- Update verse, book, and chapter templates with /books links
- Add navigation guidance on books page
- Integrate cross-references module into server
- Parse reference strings for proper linking

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 18:57:59 -05:00