# Runyankole Bible (Ebaibbele ry'Runyankole)
A complete Runyankole Bible database and church presentation website.
## Project Overview
This project provides:
1. **Python scraper** - Extracts the complete Runyankole Bible (RR64 translation) from bible.com
2. **Complete Bible data** - JSON, Word document (.docx), and PDF formats
3. **Church presentation website** - Modern web app for projecting Bible verses during services
## Features
### Phase 1: Bible Extraction
- Scrapes all 66 books, 1,189 chapters, and every verse
- Saves progress automatically (resume if interrupted)
- Exports to JSON, DOCX, and PDF
- English ↔ Runyankole book name mapping
### Phase 2: Church Presentation Website
- **Preview/Live system** - Select verses in preview, toggle live to show audience
- **Search** by English or Runyankole book names (e.g., "John 3:16" or "Yohana 3:16")
- **Large text display** optimized for projectors
- **Dark and light themes**
- **Fullscreen mode** for projection
- **Keyboard shortcuts** for navigation
- **Favorites** and **recent passages**
- **Copy verses** to clipboard
- **Multiple verse selection**
- **Offline operation** after initial load
- **Organized book categories** (Law, History, Poetry, Prophets, Gospels, Epistles, Revelation)
## Installation
### Prerequisites
- Python 3.8+
- Node.js (optional, for development)
### Setup
1. **Clone or download this project**
2. **Install Python dependencies**
```bash
pip install -r requirements.txt
```
3. **Run the scraper** (Phase 1)
**Option A: Standard scraper** (may be blocked by bot protection)
```bash
python -m scraper.main
```
**Option B: Batch scraper with Playwright** (recommended, bypasses bot protection)
```bash
python scrape_playwright.py 50 # Scrape 50 chapters at a time
```
Run this multiple times until all 1,189 chapters are scraped.
**Option C: Robust scraper** (automatic retry with backoff)
```bash
python scrape_robust.py 30 # Scrape 30 chapters with smart retries
```
After scrap …