mirror of
https://github.com/kennethreitz/kjvstudy.org.git
synced 2026-06-05 23:00:16 +00:00
df67749532
This commit completes a comprehensive data migration, externalizing all hardcoded theological content from Python modules to structured JSON files in the data/ directory. ## Changes ### New JSON Data Files (3 files, 356 KB total) - **study_guides.json** (265 KB): 25 complete study guides with 183 sections and 732 verse references - 6 categories: Foundational, Character & Living, Biblical Themes, Doctrinal, Thematic, Family - **word_studies.json** (35 KB): 53 biblical terms with Hebrew/Greek definitions - Includes transliterations, meanings, and theological notes for OT and NT - **verse_commentary.json** (56 KB): 22 verses with detailed theological analysis - Includes analysis, historical context, applications, and reflection questions ### Code Refactoring **routes/study_guides.py** (1,248 lines removed, 85% reduction) - Replaced 1,070 lines of hardcoded study guide content with JSON loader - File reduced from 1,463 lines to 215 lines - Added @lru_cache JSON loaders for performance - Removed `_get_study_guides_catalog_old()` and `_get_study_guides_content_old()` **routes/commentary.py** (496 lines removed, 11.7% reduction) - Replaced 494 lines of hardcoded word studies and verse commentary - File reduced from 4,222 lines to 3,726 lines - Added structured JSON loaders with data transformation: - `_load_word_studies()`: Converts flat JSON to nested OT/NT structure - `_load_verse_commentary()`: Parses verse references into book/chapter/verse hierarchy - Removed hardcoded `word_studies` (226 lines) and `enhanced_commentary` (268 lines) dictionaries ## Benefits - **Maintainability**: Non-developers can now edit theological content in JSON - **Performance**: @lru_cache ensures data loaded once per process - **Separation of Concerns**: Content separated from application logic - **Version Control**: Easier to track content changes in structured format - **Scalability**: Can add new study guides/commentary without code changes ## Testing - All 252 tests pass - Verified data structure compatibility - Confirmed JSON loaders work correctly with existing templates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>