{"id":18032520,"url":"https://github.com/barbinbrad/bible","last_synced_at":"2026-01-24T02:02:27.087Z","repository":{"id":119269881,"uuid":"368031287","full_name":"barbinbrad/bible","owner":"barbinbrad","description":"This repo creates a minimal, mostly-static, progressive Bible hosted at minimalbible.com. The basic gist is that a web-scraper saves the results to database, which is then used to statically render each chapter of the Bible. Dynamic navigation is done with JavaScript by caching the books and chapters to JSON.","archived":false,"fork":false,"pushed_at":"2021-05-19T22:57:33.000Z","size":16494,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-16T14:27:08.960Z","etag":null,"topics":["bible","puppeteer","sqlite","vue"],"latest_commit_sha":null,"homepage":"https://minimalbible.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barbinbrad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-17T02:21:03.000Z","updated_at":"2024-06-30T15:09:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"e635c6e7-746b-42a4-a7ff-34430098c8d2","html_url":"https://github.com/barbinbrad/bible","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbinbrad%2Fbible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbinbrad%2Fbible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbinbrad%2Fbible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbinbrad%2Fbible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barbinbrad","download_url":"https://codeload.github.com/barbinbrad/bible/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237833,"owners_count":21397400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bible","puppeteer","sqlite","vue"],"created_at":"2024-10-30T10:13:50.306Z","updated_at":"2026-01-24T02:02:22.041Z","avatar_url":"https://github.com/barbinbrad.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Minimal Bible\n![Lighthouse Score](https://raw.githubusercontent.com/barbinbrad/the-perfect-website/master/lighthouse.png?raw=true)\n\nThis repo creates a minimal, mostly-static, progressive Bible hosted at [minimalbible.com](https://minimalbible.com/read/Luke+6). The basic gist is that a web-scraper saves the results to database, which is then used to statically render each chapter of the Bible. Dynamic navigation is done with JavaScript by caching the books and chapters to JSON.\n\nTo install the dependencies run `npm install`. To build the website, run `npm run build`. The static site is generated in the `output` folder. To run the site locally run `cd ./output \u0026\u0026 python -m http.server`.\n\nTo run the scraper, set the version in `config.js` and run `npm run scrape`.\n\n:mechanical_arm: Performance \n------\nThe site is high performance. [Google's Lighthouse tool](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fminimalbible.com%2Fread%2FGenesis%2B1%2F) scores the website as 100 across all categories (as of 5/21). \n\n\nTo optimize performance, the following strategy was used:\n\n- [Pre-render everything](https://github.com/barbinbrad/the-perfect-website/blob/6537e1613d819dba253491a45fc18e05a668e838/build/build-pages.js#L10) besides search components to static html\n- [Pre-cache pages](https://github.com/barbinbrad/the-perfect-website/blob/04c138499f02b33fe30869ad65c7034a77b06966/output/assets/js/scripts.js#L385) from all outbound links with service worker\n- Minimize and cache all assets with Cloudflare DNS\n- Minimize the amount of external dependencies (like custom fonts and JS).\n\nAll generated files are under 10KB except `output/assets/js/vue.js (101KB)` and `output/assets/read/chapter.json (122KB)`. These are both low-hanging fruit for performance enhacements.\n\n\n:microscope: Technology\n------\nThe scraping and the building are decoupled through a SQLite database located in `database/bible.db`. [Puppeteer](https://github.com/checkly/puppeteer-examples) is used for scraping. Node is used for building to limit the language, but it's just basic string concatenation. Vue is used for the navigation components because it feels good. \n\n\n:brain: Inspiration\n-------\n- Aaron Swartz [Who writes Wikipedia?](http://www.aaronsw.com/weblog/whowriteswikipedia)\n- Manuel Matuzo: [My current HTML boilerplate](https://www.matuzo.at/blog/html-boilerplate/)\n- Barry Smith: [motherf***ingwebsite.com](http://motherfuckingwebsite.com/)\n- Jon Staab [ESV Bible](https://github.com/staab/esv)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbinbrad%2Fbible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarbinbrad%2Fbible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbinbrad%2Fbible/lists"}