- Extracted ~1250 lines of JavaScript from base.html to static/base.js
- Reduced base.html from ~2700 lines to ~1440 lines
- Updated tests to expect 404 (not 500) for invalid resources
- Updated CLAUDE.md to reflect proper error handling
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated parseVerseUrl to recognize /book/{book}/chapter/{chapter}#verse-{verse} format in addition to the old /verse/ path format.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed active page button from dark link-color to green (#4a7c59) with white text for better visibility.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated base.html JavaScript to use chapter anchors instead of verse pages
- Added filter to skip text nodes inside anchor tags to prevent double-linking
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated link_bible_references() in commentary.py to link to
chapter view with anchors instead of dedicated verse pages.
This was the third place generating verse links that needed updating.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated link_verse_references_in_text() and verse_reference_to_url()
to link to chapter view with anchors instead of dedicated verse pages.
This keeps users in the reading flow when clicking cross-references.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Same chapter refs: use anchor (#verse-X)
- Different chapter/book refs: link to chapter view with anchor
- Keeps users in reading flow instead of jumping to dedicated verse page
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add 52 Matthew verses (Beatitudes, Lord's Prayer, Great Commission, etc.)
- Add 38 John verses (I am statements, Upper Room, High Priestly Prayer)
- Add 19 new Psalms verses (Psalm 1, 23, 27, 34, 37, 46, 91, 103, 119, 127, 133, 139)
- Add scripts/check_top_verses.py to track coverage of top 536 most-searched verses
- Add scripts/migrate_commentary.py to safely merge commentary into per-book files
Coverage improved: 61.8% of top verses now have commentary.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add 87 new tests covering search, books, stories, biographies,
red letter, helpers, commentary loader, interlinear, cross-references,
PDF generation, topics, and reading plans modules
- Coverage improved from 75% to 78% (497 tests total)
- Add pytest-cov dependency for coverage reporting
- Remove Strong's Concordance, Study Guides, and Reading Plans
links from the About page's Explore Further section
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Change `from .. import bible` to `from ..kjv import bible` to match
the correct import pattern used throughout the codebase.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The /about/commentary page was missing the books list needed for sidebar
navigation. Added get_books() call to provide books context to template,
matching pattern used in other about pages.
Fixes navigation rendering on commentary index page.
Added comprehensive commentary for famous verses across Gospels and Epistles:
- 1 John 4:18: Perfect love casteth out fear
- Hebrews 13:5: I will never leave thee nor forsake thee
- Luke 6:31: Golden Rule (do unto others)
- Mark 10:27: With God all things are possible
Each includes Greek word studies, historical context, theological depth,
and 5 reflection questions.
Coverage of top famous Bible verses now at 100% (43/43 verses)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added comprehensive commentary for famous Proverbs passages:
- Proverbs 16:18: Pride goeth before destruction
- Proverbs 18:21: Death and life in power of the tongue
- Proverbs 27:17: Iron sharpeneth iron (friendship)
- Proverbs 31:10: Who can find a virtuous woman
- Proverbs 31:25: Strength and honour are her clothing
- Proverbs 31:30: Woman that feareth the LORD (climax)
Each includes Hebrew word studies, historical context, and reflection questions.
Proverbs coverage: 13 chapters, 27 verses (up from 21 verses)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added supporting scripts for generating commentary on highly-searched verses:
- Scripts to add Psalm 110 (Messianic), 95-96, 98 (worship), 145-150 (doxology)
- Script templates for adding missing famous individual verses
- JSON data files with commentary content
Note: These scripts were used to achieve 127/150 Psalms chapters (84.7% coverage)
with all major commonly-searched Psalms now having commentary.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added comprehensive commentary for the most commonly googled Psalms:
- Psalm 110: Most quoted OT passage in NT (Messianic, Melchizedek priesthood)
- Psalms 95, 96, 98: Worship psalms (O come let us sing, new song)
- Psalms 145-150: Final doxology ending with "Let everything that hath breath praise the LORD"
All famous/commonly searched Psalms now have coverage:
✓ Psalm 23 (The Lord is my shepherd)
✓ Psalm 91 (He that dwelleth in the secret place)
✓ Psalm 110 (The LORD said unto my Lord)
✓ Psalms 95-98 (Worship and new song)
✓ Psalms 145-150 (Final doxology)
Coverage: 127/150 chapters (84.7%), only 23 chapters remaining
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Comprehensive verse-by-verse commentary for the final psalms of the Psalter:
- Psalm 145 (6 verses): "Extol thee, my God, O king" - perpetual praise commitment
- Psalm 146 (4 verses): "Praise ye the LORD" - contrast of human vs divine help
- Psalm 147 (5 verses): "Great is our God" - theological affirmations
- Psalm 148 (4 verses): Cosmic call to praise from heavens to earth
- Psalm 149 (3 verses): New song in congregation of saints with eschatological vision
- Psalm 150 (3 verses): Final psalm of Psalter with universal call to praise
Each verse includes:
- Deep theological analysis with Hebrew word studies
- Historical context from ancient worship through post-exilic Judaism
- 5 reflective study questions for personal and communal exploration
The final verse (150:6) "Let every thing that hath breath praise the LORD" provides the ultimate theological summary of the entire Psalter.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Added missing historical context for Psalm 115:13 covering:
- Post-exilic context and mockery from pagan nations
- Ancient Near Eastern social stratification
- Biblical theology of "fear of the LORD"
All verse commentary validation tests now passing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cleaner link styling with rounded corners and hover backgrounds
- CSS triangle expand arrows instead of text characters
- Refined typography, spacing, and search box styling
- Add 'n' key to activate sidebar navigation (j/k to navigate, Enter to select)
- Highlight current page in green on sidebar links
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add KJVNav.initSimpleNav() for DRY keyboard navigation across site
- Fix broken keyboard nav on 10+ resource pages (orphaned JS code)
- Left arrow on chapters now does browser back
- Add non-writing prophets: Moses, Samuel, Nathan, Elijah, Elisha
- Redesign chapter PDFs with glossary, cross-refs, book intro
- Style sidenotes as inline notes in all PDFs (fix checkbox squares)
- More liberal word studies in PDF output (for_pdf parameter)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed scrollIntoView behavior from 'smooth' to 'auto' across all
templates for instant, non-animated navigation between selections.
Affected ~75 instances across 50+ template files.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- j/k or arrows to navigate between paragraphs
- Space to read selected paragraph aloud
- Escape to clear selection
- Uses KJVNav helper for viewport-aware navigation
- Green outline selection style matching site design
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Wrap prefers-color-scheme dark styles with html:not([data-theme="light"])
- Fixes interlinear text being white on yellowish background
- Updated verse.html, chapter_interlinear.html, tufte.css, base.html,
and family-tree-expansions.css
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add mobile media query to hide sidenotes by default
- Show sidenotes when checkbox is clicked (tap on number)
- Style expanded sidenotes with background and border for clarity
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add cached _get_site_stats() function with comprehensive metrics
- Create GET /api/stats endpoint with OpenAPI documentation
- Include bible, commentary, cross-references, red letter, study resources,
language tools, and data statistics
- Add 8 tests for the new endpoint
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- We confess, We worship, We affirm in small-caps
- Gives confessional, creedal feel to theological section
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Open with Kenneth Reitz creation story
- Merge creator section into opening paragraph
- Remove separate Creator section and TOC link
- Add no-arrow class to hide external link arrow on name
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove "Disable Red Letters" link from sidebar navigation
- Add Shift+R keyboard shortcut to toggle red letters
- Update keyboard help modal with new shortcut
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- TestAboutPages: 8 tests for main about page (TOC, sidenotes, keyboard nav, etc.)
- TestAboutStatsPage: 5 tests for stats page
- TestAboutCommentaryIndex: 4 tests for commentary index
- TestAboutCrossReferencesIndex: 4 tests for cross-references index
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Tufte-style sidenotes with theological depth
- Add table of contents with two-column layout
- Implement j/k keyboard navigation using KJVNav pattern
- Promote h3 headings to h2 for cleaner hierarchy
- Remove "Our Purpose" heading, make intro text flow naturally
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements throughout:
- Our Purpose: Establishes mission to serve the church with scholarly,
theologically faithful resources; emphasizes accessibility
- Free & Open Source: Compelling case for open source with Matthew 10:8
"Freely ye have received, freely give"
- Data & Sources: Rich historical context on KJV (47 scholars, 6 committees,
1769 Blayney Edition), Treasury of Scripture Knowledge, Strong's (1890)
- Creator: Concise, humble, links to GitHub for engagement
- Privacy: Powerful statement - "Your study of Scripture is between you
and God" and "The Word of God is not for sale"
- Explore Further: Clean links to all major resources
- Changed closing quote to John 1:1 (ties to Logos theology section)
Removed redundant sections, tightened prose, maintained theological
depth while improving readability. Page now has consistent scholarly
voice throughout.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
After reviewing the actual commentary (Genesis 1:1, John 1:1, Isaiah 53:5,
Psalm 119:105, Matthew 28:19), rewrote the about page theology section
to accurately reflect the rich content found in the verse analysis:
- Added Hebrew/Greek terminology with original script (θεόπνευστος,
דָּבָר, מְחֹלָל, λόγος, בְּרֵאשִׁית, etc.)
- Strong inerrancy & sufficiency claims matching commentary
- Explicit substitutionary atonement doctrine from Isaiah 53
- Trinitarian theology drawn from Matthew 28:19 commentary
- Christ's eternal deity from John 1:1 analysis
- Christocentric interpretation methodology
- Rejects rationalistic liberalism and mystical subjectivism
- Ends with Soli Deo Gloria
This now accurately represents the scholarly depth and theological
commitments found throughout the verse-by-verse commentary.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
After reviewing the commentary, adjusted the about page to be more
conservative and match what's actually taught in the verse analysis:
- Removed "and believer" from creator description (too performative)
- Scaled back from explicit Reformed distinctives (TULIP, covenant theology)
- Kept core orthodox doctrines: biblical authority, Trinity, salvation
by grace through faith alone, Christ-centered interpretation
- Commentary emphasizes grace/faith but doesn't engage deeply with
election, particular redemption, or other Reformed distinctives
Now the about page accurately represents the theological content
visitors will find in the actual commentary.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>