bcv-kemal
Version, currently 1.0.01 version
- 1.0.0latestMar 12, 2025
github.com/balain/bcv-kemal
Bible search and read web app written in Crystal
0 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
bcv-kemal:
github: balain/bcv-kemal
version: ~> 1.0.0Then run:
shards installshard.yml
- Crystal
>= 1.15.0- License
- MIT
- Author
- John
- Target
bcv-kemalfrom src/bcv-kemal.cr
Dependencies
Runtime Dependencies
README
bcv-kemal
Bible search and display web app
Built using Crystal (programming language), Kemal (web framework), SQLite (database)
Features
- Interlinear search results
- Full text search: English, Hebrew, and Greek
- Provide your own Bible content
- No server required - uses sqlite database (local)
- Good performance - compiled code
- Query Greek and Hebrew by root/lemma
- Search for works with specific part of speech
- Strong's definitions - both popup and inline
- See difference, union, and intersection across prior search results
- Uses Bootstrap 5
Installation
- Install Crystal - https://crystal-lang.org
- Install Kemal - https://kemalcr.com
- Clone this repo
- Rename
.env-exampleto.env& update values to match your environment - Install dependencies -
shards install - Install just - https://github.com/casey/just (optional)
- Install watchexec - XYZ (optional)
- Set up the database - instructions pending
Dependencies
Crystal - required
- dotenv - https://github.com/drum445/dotenv
- sqlite3
- kemal
Optional
- just
- watchexec
Usage
Debug - Run
- Run
just watch(orcrystal run src/bcv-kemal.cr)
Production - Run
- Run
just prod(orKEMAL_ENV=production crystal run src/bcv-kemal.cr --release -O3)
Production - Build
- Run
just build-prod(orKEMAL_ENV=production crystal build src/bcv-kemal.cr -o bcv-kemal --release -O3)
TODO
- [ ] Document database schema
- [ ] Document .env fields
- [ ] Document content ETL
- [ ] Capture performance metrics
Data Sources
Text
- English Bibles: https://openbible.com/texts.htm - several translations available
- Greek New Testament:
- https://github.com/LogosBible/SBLGNT
- https://github.com/STEPBible/STEPBible-Data
- https://www.mrgreekgeek.com/2023/03/08/free-digital-greek-new-testaments/
- https://codexsinaiticus.org/en/project/transcription_download.aspx
- Hebrew Bible:
- https://archive.org/details/original-hebrew-bible-a-free-paleo-hebrew-bible-including-all-books-of-the-old-t
- https://tanach.us/Pages/About.html
- Strongs: https://github.com/STEPBible/STEPBible-Data/tree/master/Lexicons
Converting USFX XML Files
Converter
- https://github.com/balain/usfx_to_tsv
Format
- https://github.com/biblenerd/awesome-bible-developer-resources?tab=readme-ov-file#usfx
Development
TODO: Write development instructions here
Contributing
- Fork it (https://github.com/balain/bcv-kemal/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
License
MIT
Copyright © 2025
See LICENSE for full license content.
Contributors
- John - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
1.0.0- Tagged
- Mar 12, 2025
- Commit
2ed54535d35f- Crystal
>= 1.15.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/balain/bcv-kemal
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 23, 2026
- Synced
- Aug 23, 2026
- Versions
- 1