Commit Graph

541 Commits

Author SHA1 Message Date
kennethreitz 49fb98c3ee Fix single verse links to use /verse/ path for tooltip support
Single verses now use /book/{book}/chapter/{ch}/verse/{v} format
which matches the tooltip parser pattern in base.html.
Verse ranges continue to use #verse-{start}-{end} anchor format.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:09:00 -05:00
kennethreitz 3ae1182266 Fix cross-book verse range inheritance in parentheticals
Track both currentBook and currentChapter context so abbreviated
ranges like "45-49" in "(1 Corinthians 15:21-22, 45-49)" correctly
inherit the book (1 Corinthians) and chapter (15) from the preceding
reference.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:06:56 -05:00
kennethreitz 9aca368cb2 Improve verse reference linking to handle complex patterns
- Add cross-book reference support (e.g., Romans 5:12-21)
- Handle comma-separated verse ranges with inherited chapter context
  (e.g., 27:27-29, 39-40 where 39-40 inherits chapter 27)
- Support semicolon-separated references (e.g., 48:15-16; 49:1-27)
- Fix verse range linking to use #verse-start-end anchor format

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 15:05:22 -05:00
kennethreitz cd2f83d9c1 Expand Pentateuch book introductions with rich theological content
- Genesis, Exodus, Leviticus, Numbers, Deuteronomy fully expanded
- Each book now includes: multi-paragraph introductions, key themes with
  descriptions, key verses with significance, detailed outlines, historical
  context, literary style, theological significance, Christ in book,
  relationship to NT, and practical application
- Update book.html template to handle new data structure
- Add markdown filter for bold text conversion
- Template now supports both old and new data formats

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 14:41:35 -05:00
kennethreitz cf212062f7 Add individual book introduction JSON files for all 66 books
- Create books.py loader module with caching for book data
- Add JSON files for each book with introduction, themes, key verses,
  outline, historical context, literary style, Christ in book, and
  practical application sections
- Update API routes to include book metadata and introduction data
- Update book.html template to display rich book content
- Template falls back to commentary data when book_intro unavailable

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 14:26:11 -05:00
kennethreitz c77b13c2b8 Clean up homepage and improve API error handling
- Remove unused dropdown CSS and JS from homepage (~200 lines)
- Fix API error handling to return 404 instead of 500 for invalid inputs
- Add book existence and chapter/verse validation
- Add 10 tests for universal search endpoint (110 total tests now)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 13:15:38 -05:00
kennethreitz e763e8022c Enhance universal search with synonyms and study guides
- Add 24 individual study guides as searchable items
- Add 80+ theological term synonyms (jesus→Christology, demons→Spirits)
- Add 10 biblical figures linking to family tree
- Add 27 Bible book synonyms (revelations→Revelation, song of songs)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:17:45 -05:00
kennethreitz e613c97a88 Disable Safari/macOS autocomplete on search inputs
Add autocorrect=off, autocapitalize=off, spellcheck=false to all search
inputs to prevent Safari's autocomplete suggestions from interfering.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:12:54 -05:00
kennethreitz 0c03e06970 Fix duplicate genealogy entry in search results 2025-11-26 11:11:41 -05:00
kennethreitz b3f82bb3df Reorder search dropdown categories and add resources
- Move verses to end of dropdown results (after topics, resources, stories, plans)
- Add resources search (theological studies, biblical figures, tools)
- Include: Trinity, Christology, Soteriology, angels, prophets, parables,
  covenants, apostles, timeline, family tree, interlinear, concordance, etc.
- Update all search dropdowns: sidebar, homepage, search page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:11:18 -05:00
kennethreitz bbda34e223 Enhance search dropdowns across site
- Limit stories page dropdown to only show stories (remove verse refs, topics)
- Add universal search dropdown to /search page
- Add stories-only dropdown to kids stories page
- Disable verse tooltips on all search dropdown links
- Fix cursor style on dropdown links (no help cursor)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:07:39 -05:00
kennethreitz 0c355850ce Add dropdown search to stories page
- Add search dropdown with matching stories, verse references, and topics
- Keep existing filter-in-place functionality
- Move search below categories section
- Support keyboard navigation (arrow keys, Enter, Escape)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:01:46 -05:00
kennethreitz 6df0ecda1f Add universal search with dropdown to sidebar and homepage
- Add /api/universal-search endpoint that searches across books, verses,
  topics, stories, and reading plans
- Update sidebar search with live dropdown showing categorized results
- Add same dropdown functionality to homepage search
- Support smart verse reference parsing (e.g., "gen 1:1" → Genesis 1:1)
- Include keyboard navigation (arrow keys, Enter, Escape)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:59:18 -05:00
kennethreitz c03af4ed28 Convert interlinear data from gzipped Python to gzipped JSON
- Move interlinear_data.py.gz to data/interlinear.json.gz
- Simplify loader to read JSON directly (no more Python parsing)
- Reduced file size from 13.51 MB to 12.37 MB
- 31,031 verses of Hebrew/Greek interlinear data

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:47:16 -05:00
kennethreitz bef2da8129 Remove duplicate stories from new categories
- Removed Jonah and Daniel from Heroes of Faith (already in Prophets)
- Removed Still Small Voice from Elijah & Elisha (already in Kings)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:45:10 -05:00
kennethreitz 9cc0faf006 Remove duplicate Water into Wine story
Already exists in 08_jesus_ministry.json

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:43:01 -05:00
kennethreitz 3a4862a2f9 Remove 'What We Learn' section from kids story templates
Simplifies the kids story pages by removing the themes list section
from both the web view and PDF templates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:41:51 -05:00
kennethreitz 01b6f9a9fa Add Miracles of Jesus and Elijah & Elisha story categories
New stories added:

Miracles of Jesus (8 stories):
- Water into Wine, Calms the Storm, Feeds 5000
- Walks on Water, Heals Blind Man, Raises Lazarus
- Heals Ten Lepers, Heals Paralyzed Man

Elijah & Elisha (7 stories):
- Elijah and the Ravens, Widow's Oil
- Mount Carmel, Still Small Voice, Taken to Heaven
- Elisha and Widow's Oil, Naaman Healed

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:41:27 -05:00
kennethreitz 105df4a18e Move embedded Python data to JSON files
- Move data from Python modules to JSON in data/ directory:
  - verse_collections.json, topics.json, biographies.json
  - cross_references.json, reading_plans.json, resources.json
- Update Python modules to load from JSON at import
- Remove intermediary Python data files from data/
- Move stories.py loader to main module directory
- Add Heroes of Faith Bible stories (Job, Ruth, Esther, Jonah, Daniel, Shadrach/Meshach/Abednego)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:30:31 -05:00
kennethreitz 20190dc549 Add biblical timeline PDF download 2025-11-26 01:50:15 -05:00
kennethreitz 03fa79833c Add Tetragrammaton PDF export 2025-11-26 01:43:55 -05:00
kennethreitz 776e39370e Add global resource and reading plan PDF exports 2025-11-26 01:38:55 -05:00
kennethreitz 87b31f7b6a Move chapter PDF button to header 2025-11-26 01:22:06 -05:00
kennethreitz 1156fb68e1 silly 2025-11-26 01:16:45 -05:00
kennethreitz 0a5c06bbf4 Fix WeasyPrint system dependencies in Dockerfile
Use correct package names for Debian Trixie:
- libpango-1.0-0 instead of libpango1.0-0
- Add libharfbuzz0b and libpangoft2-1.0-0

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:27:10 -05:00
kennethreitz ffd9e8c187 Add PDF export for stories using WeasyPrint
- Add WeasyPrint dependency and system libs to Docker image
- Create PDF templates for adult and kids stories
- Add /stories/{slug}/pdf and /stories/{slug}/kids/pdf routes
- Add Download PDF button to story pages
- Add stories API endpoints: /api/stories and /api/stories/{slug}
- Gracefully handle missing WeasyPrint system libraries

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:26:25 -05:00
kennethreitz 608989347b Improve story text layout with Tufte-style typography
- Add newthought styling for first paragraph (small caps leading words)
- Add * * * divider between header/meta and narrative
- Add print styles for cleaner PDF output
- Applies to both adult and kids story templates

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:19:23 -05:00
kennethreitz 06be7a6d3c Add Jesus ministry stories (08_jesus_ministry.json)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:11:18 -05:00
kennethreitz 7bd15f9698 Add kids stories index page at /stories/kids
- Playful colorful design matching individual kids story pages
- TOC grid with category links
- Search functionality
- Card-based grid with character badges and theme badges
- Links between adult and kids story indexes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:10:19 -05:00
kennethreitz 2da1eb7846 Fix scripture links to use proper anchor syntax for verse ranges
Update story templates to link to chapter pages with #verse-X-Y anchors
instead of individual verse pages. This properly scrolls to and highlights
verse ranges like Judges 16:23-31.

Also adds more story JSON files (prophets, Jesus birth, parables, passion, acts).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:07:18 -05:00
kennethreitz be768c7ca5 Add Bible Stories to sidebar navigation
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 23:53:50 -05:00
kennethreitz 23ce33e3b0 Add Bible Stories feature with adult and kids versions
- Add stories.py loader for JSON story files
- Add routes for /stories, /stories/{slug}, /stories/{slug}/kids
- Add templates: stories_index, story_detail, story_kids
- Include 32 stories across 4 categories (creation, patriarchs, exodus, conquest/judges)
- Add Bible Stories to homepage feature grid and explore links

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 23:53:03 -05:00
kennethreitz a41e2d2d9e Update biblical timeline dates to revised chronology
Patriarchs: Abraham 2068 BC, Isaac 2067 BC, Jacob 2007 BC, Joseph 1877 BC
Exodus: Bondage 1887-1447 BC, Exodus 1447 BC, Sinai 1447 BC
Conquest: Canaan 1407 BC, Judges 1367-1047 BC
Kingdom: Saul 1047 BC, David 1010 BC, Temple 967 BC, Division 931 BC

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 23:43:17 -05:00
kennethreitz 8546e58713 Add TOC to study guides and new Spirits & Demons guide
- Add table of contents navigation to study guide detail pages
- New study guide covering biblical teaching on demons and spiritual warfare:
  - The Reality of Evil Spirits
  - Satan: The Adversary
  - Demon Possession in the Gospels (Legion, etc.)
  - Christ's Victory Over Demons
  - Spiritual Warfare
  - Testing the Spirits
  - Demons' Final Doom

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 22:41:10 -05:00
kennethreitz 9aab232937 Fix missing bible import in study guides routes
The bible module was only imported inside get_books() but was
referenced in study_guide_detail() for verse lookups, causing
all verse texts to fail silently.

Also excludes .venv from Docker volume mount to prevent
local/container environment conflicts.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:45:55 -05:00
kennethreitz 5c1e4034f5 Remove Christ in Every Book guide, fix verse lookup fallback
- Remove Christ in Every Book study guide (redundant with Gospel in OT)
- Fix verse text lookup to initialize variable before use
- Add fallback "(See Reference)" with link when verse text unavailable
- Add chapter-only reference linking in study guides

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:43:21 -05:00
kennethreitz 56b88ee5d9 Add chapter-only reference linking in study guides
Links like "Psalm 2" and "Psalm 45" now link to chapter pages.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:37:36 -05:00
kennethreitz d6e190ddce Add format_lists filter for numbered lists in study guides
Converts (1), (2), etc. patterns into proper HTML <ol> lists.
Text after the list is wrapped in a new <p> tag.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:36:17 -05:00
kennethreitz 40970e7c3a Add 10 doctrinal and thematic study guides
Doctrinal Studies:
- The Sovereignty of God
- The Attributes of God
- The Doctrine of Scripture
- The Problem of Evil
- Covenant Theology

Thematic Studies:
- The Gospel in the Old Testament
- Christ in Every Book
- The Law and the Christian
- Faith and Works
- The Scarlet Thread

All guides follow Reformed theological framework.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:33:13 -05:00
kennethreitz 65601d8b7f Add 11 systematic theology resources and simplify sidebar
New theological resources:
- The Trinity, Christology, Pneumatology, Soteriology
- Ecclesiology, Eschatology, Kingdom of God
- Types and Shadows, Messianic Prophecies
- The Blood in Scripture, Names and Titles of Christ

Updates:
- Add new resources to homepage Theological Studies grid
- Add Systematic Theology category to /resources page
- Simplify sidebar with single "All Resources" link
- Export new data variables from data/__init__.py

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:16:35 -05:00
kennethreitz d621301b78 Consolidate resource pages into single generic template
- Created resource_index.html as a unified template for all resource pages
- Updated routes to use the generic template with configurable data
- Added link_verses and link_names filters to descriptions for automatic linking
- Added 6 new resources to /resources page (Miracles, I Am Statements,
  Beatitudes, Ten Commandments, Armor of God, Prayers)
- Deleted 6 redundant individual templates (miracles.html, prayers.html,
  beatitudes.html, ten_commandments.html, armor_of_god.html, i_am_statements.html)

This reduces code duplication and ensures consistent verse linking across
all resource pages.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 19:28:30 -05:00
kennethreitz 02ede39842 Expand Introduction to Spiritual Warfare section
Added 7 additional verses covering the full scope of spiritual warfare:
- Ephesians 6:13 (standing in the evil day)
- James 4:7 (resist the devil)
- Colossians 2:15 (Christ's triumph over powers)
- 1 John 4:4 (greater is He in you)
- Romans 8:37-39 (more than conquerors)
- Revelation 12:11 (overcoming by the blood)
- 2 Timothy 2:3-4 (good soldier of Christ)

Also enhanced description to emphasize Christ's victory at the cross.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 19:23:55 -05:00
kennethreitz e769dd29ec Add new resource pages to sidebar navigation
Added 6 new pages to the Theology section:
- I Am Statements
- Miracles of Jesus
- The Beatitudes
- Ten Commandments
- Armor of God
- Prayers of the Bible

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 19:20:09 -05:00
kennethreitz 651bd1fd96 Expand biblical resource pages with additional content
- Add 7 missing Minor Prophets (Obadiah, Nahum, Habakkuk, Zephaniah,
  Haggai, Zechariah, Malachi) completing all 12
- Add 3 miracles: Second Catch of Fish, Syrophoenician Woman's
  Daughter, Healing the Multitudes
- Add 4 New Testament prayers: Philippians, Thief on Cross,
  Choosing Matthias
- Add 5 Psalms of Prayer: Psalms 63, 27, 86, 143

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 18:51:07 -05:00
kennethreitz e6a05c9697 test 2025-11-25 18:36:27 -05:00
kennethreitz c56ee66260 Remove help cursor from sidenote numbers
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 18:05:08 -05:00
kennethreitz 0fd8f8bfa3 Fix template name for fruits of the spirit page
Correct template reference from fruits_of_the_spirit.html to
fruits_of_spirit.html to match actual filename.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 18:03:46 -05:00
kennethreitz f8cd706010 Add passage about KJV as wellspring of English language
Include cultural references (Lincoln, King) in sidenote margin.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 01:54:15 -05:00
kennethreitz 32bd177cc8 Increase homepage visual centering offset to -150px
Adjust margin-left offset for title-page and nav-links to better
visually center content accounting for the sidebar space.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:11:53 -05:00
kennethreitz 9c85c160da Offset homepage header to center visually with sidebar
Add margin-left offset to title-page, search, and nav-links
to compensate for sidebar space. Remove offset on mobile.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:09:54 -05:00