Next.js Bible reader with chapter routes and optional chapter audio.
- Homepage includes a
Verse of the Daycard in the header area. - Rotation is deterministic and UTC-based: day-of-year modulo 20 curated verses.
- Card includes an
Another versebutton that cycles through the curated set client-side. - Verse references deep-link to chapter verse anchors in this format:
/books/[bookSlug]/[chapter]#verse-[verseNumber]
- Source selection and lookup helper:
src/lib/verse-of-day.ts
- Story landing page:
/story - Story detail page:
/story/[slug] - Story manifest entrypoint:
src/lib/story-data.ts - Story content registry:
src/content/story/index.ts - Story content files:
src/content/story/*.ts - Story artwork assets:
public/story-media/<slug>/* - Shared story assets:
public/story-media/_shared/*
Initial story set includes 9 curated stories with summary text, rich blocks (image/video/text/quote/scripture), and links to relevant source passages.
- Tree page:
/tree - Tree dataset:
data/en/bible-tree/persons.json - First-mention index:
data/en/bible-tree/mentions.json - Tree loader types/helpers:
src/lib/bible-tree/*
Tree nodes include a chapter link to the first mention in bible.me and a click modal that fetches Wikipedia summary data when available.
- Bible text:
data/en/bible-txt - Audio files:
data/en/audio - Hebrew source:
data/he/bible-txt/torahTeamimDB.json - Hebrew generated outputs:
data/he/bible-txt/index.jsonanddata/he/bible-txt/books/*.he.json - Hebrew audio files:
data/he/audio - Hebrew audio generated output:
data/he/audio/index.json - Audio source attribution: https://www.open.bible/bibles/english-hosanna-audio-nt
npm run devruns the app in development mode.npm run audio:buildscansdata/en/audioand generatesdata/en/audio/index.json.npm run hebrew:buildconverts Torah Hebrew data into normalized files for chapter lookup.npm run hebrew-audio:buildscansdata/he/audioand generatesdata/he/audio/index.json.npm run tree:importimports person genealogy data fromvyaron/bible-treeinto local JSON.npm run tree:mentionsprecomputes first-mention chapter links for tree nodes.npm run buildrunsprebuild(audio + Hebrew text + Hebrew audio generation) and then builds Next.js.npm run startstarts the production server.
Chapter audio streams from:
/api/audio/[book]/[chapter]
Examples:
/api/audio/MAT/1/api/audio/MRK/16
If audio is missing for a chapter, the chapter page still renders and shows an unavailable state.
Original Hebrew audio streams from:
/api/audio/he/[book]/[chapter]
Examples:
/api/audio/he/MAT/1/api/audio/he/MRK/16
- Chapter pages include an
Original Hebrew Verselink. - Torah books (Genesis, Exodus, Leviticus, Numbers, Deuteronomy) can render Hebrew verse text when available.
- Non-Torah books show a graceful unavailable message.
If Hebrew chapter audio exists for the current route, chapter pages also show a second player titled Original hebrew audio.