kennethreitz 75c83a0016 Fix Strong's cross-language derivation links
Hebrew numbers in Greek derivations often have leading zeros (H04566)
which caused lookups to fail. Now normalize all Strong's numbers by
stripping leading zeros before lookup and link generation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 21:21:14 -05:00
2025-11-22 12:10:55 -05:00
2025-11-14 19:24:08 -05:00
2025-12-01 14:27:56 -05:00
2025-11-29 13:52:34 -05:00

KJV Study

A comprehensive web application for deep study of the King James Bible, featuring original language tools, extensive theological resources, and classical scholarly presentation.

Live Site: kjvstudy.org

Quick Start - Run It Yourself

The easiest way to run KJV Study locally is with Docker:

# Clone the repository
git clone https://github.com/kennethreitz/kjvstudy.org.git
cd kjvstudy.org

# Start with Docker Compose
docker compose up

Then open your browser to http://localhost:8000

That's it! The application will run with all features enabled.


Features

Bible Reading & Navigation

  • Complete KJV Text - All 66 books, 1,189 chapters, 31,102 verses
  • Fast Search - Full-text search with concordance functionality
  • Cross-References - Comprehensive verse cross-referencing throughout Scripture
  • Verse Linking - Automatic URL generation for easy sharing and bookmarking
  • Random Verse - Discover Scripture serendipitously
  • Verse of the Day - Daily curated verses with reflection questions

Study Tools

Interlinear Bible

  • Greek and Hebrew original language texts
  • Word-by-word translation analysis
  • Strong's concordance numbers
  • Etymology and root word exploration
  • Morphological tagging

Study Guides

Comprehensive 8-section guides with extensive Scripture references:

Biblical Resources

People & Characters:

Themes & Topics:

Historical Context:

  • Biblical Timeline - From Creation through the early Church
  • Biblical Maps - Geographic context for biblical narratives
  • Family Tree - Genealogies from Adam through biblical history with searchable lineages

Design & User Experience

Tufte CSS Styling:

  • Classical typography with serif fonts for optimal readability
  • Sidenotes and margin notes for supplementary information
  • High contrast and generous white space
  • Responsive design that adapts to all screen sizes

Performance:

  • Aggressive caching for instant page loads
  • Optimized for Fly.io deployment
  • Always-on configuration eliminates cold starts
  • Lazy loading of interlinear data

Accessibility:

  • Semantic HTML structure
  • Clear heading hierarchy
  • Keyboard navigation support
  • High contrast text

Tech Stack

Backend:

  • FastAPI - Modern, high-performance Python web framework
  • Python 3.13 - Latest Python with performance improvements
  • Custom Bible Class - Optimized KJV text access with 31,102 verses from 1769 Cambridge edition
  • Jinja2 - Server-side templating with custom filters

Frontend:

  • Tufte CSS - Edward Tufte-inspired classical design
  • Vanilla JavaScript - Minimal client-side code for enhanced functionality
  • Semantic HTML - Accessible, well-structured markup

Infrastructure:

  • Docker - Containerized deployment
  • Fly.io - Production hosting with global CDN
  • uv - Fast Python package management

Installation

See the Quick Start section above for the easiest way to run locally.

Alternative Docker commands:

# Build and run manually
docker build -t kjvstudy .
docker run -p 8000:8000 kjvstudy

Python Development

For development without Docker:

Prerequisites:

  • Python 3.13 or higher
  • uv package manager

Steps:

# Install dependencies
uv sync

# Run the development server
uv run kjvstudy-org

# Open http://localhost:8000

Deployment

Fly.io Deployment

The application is optimized for Fly.io with:

  • 2GB RAM, shared CPU (2 cores)
  • Always-on configuration (min 1 machine)
  • Preloaded interlinear data for fast responses
  • Health checks and automatic recovery
# Install Fly CLI
curl -L https://fly.io/install.sh | sh

# Login to Fly
fly auth login

# Deploy
fly deploy

# View logs
fly logs

# SSH into machine
fly ssh console

Environment Variables

PYTHONUNBUFFERED=1              # Immediate log output
PYTHONDONTWRITEBYTECODE=1       # Skip .pyc files
PRELOAD_INTERLINEAR=true        # Load interlinear data on startup

Project Structure

kjvstudy.org/
├── kjvstudy_org/
│   ├── server.py              # Main FastAPI application
│   ├── kjv.py                 # Bible text access
│   ├── cross_references.py    # Cross-reference data
│   ├── topics.py              # Topical index
│   ├── interlinear_loader.py  # Greek/Hebrew data
│   ├── reading_plans.py       # Bible reading plans
│   ├── templates/             # Jinja2 templates
│   │   ├── base.html         # Base template with Tufte CSS
│   │   ├── verse.html        # Individual verse pages
│   │   ├── study_guides.html # Study guide templates
│   │   └── ...
│   └── static/               # Static assets
├── Dockerfile                # Container configuration
├── fly.toml                  # Fly.io deployment config
├── pyproject.toml            # Python dependencies
└── README.md                 # This file

Contributing

We welcome contributions! Areas where you can help:

Development:

  • Backend optimization and new features
  • Frontend improvements and accessibility
  • Mobile app development
  • API development for external integrations

Content:

  • Theological review for accuracy
  • Additional study guides and resources
  • Original language expertise (Greek/Hebrew)
  • Historical and cultural context

Design:

  • UI/UX improvements
  • Accessibility enhancements
  • Mobile experience optimization
  • Print stylesheet development

Documentation:

  • Tutorials and how-to guides
  • API documentation
  • User guides
  • Translation to other languages

Roadmap

Planned Features:

  • Multiple Bible translations (ESV, NASB, NIV)
  • User accounts with note-taking and highlighting
  • Bible reading plans with progress tracking
  • AI-powered commentary generation
  • Mobile applications (iOS/Android)
  • Prayer journal integration
  • Scripture memorization tools
  • Community discussion forums
  • Live streaming integration for Bible studies

License

This project is open source and available under the ISC License.

Acknowledgments

  • King James Bible (1769) - The foundational text
  • FastAPI Community - Excellent web framework
  • Edward Tufte - Design philosophy and CSS inspiration
  • Open Source Community - Tools and libraries that make this possible

"Study to shew thyself approved unto God, a workman that needeth not to be ashamed, rightly dividing the word of truth." — 2 Timothy 2:15 (KJV)

S
Description
No description provided
Readme ISC 146 MiB
Languages
Python 45.5%
HTML 41.2%
JavaScript 9.9%
CSS 3.3%