An interactive timeline of Biblical events — from Creation to the close of the apostolic age — shown alongside notable, orthogonal world events happening at the same time (the pyramids, Hammurabi, the Olympics, Confucius, Rome…).
Built with React 19 + Vite 7. The timeline itself is plain SVG rendered by React — no charting library.
- Pan & zoom: drag to pan, scroll/pinch to zoom (8-year to 4,000-year spans),
with zoom buttons and keyboard support (arrow keys,
+/-,Home) - Two tracks: Biblical events above the axis (gold), world events below (blue), each toggleable
- Ten era bands from Creation & Primeval History to the Early Church, with one-click era navigation
- Event details: click any marker for date, location, scripture reference, and a short summary, with earlier/later stepping
- Search across titles, descriptions, scripture references, and places
- Minimap overview strip showing where you are in the full sweep of history
- Responsive layout for narrow screens
npm install
npm run dev # development server
npm run build # production build to dist/
npm run preview # serve the production buildThe app deploys to GitHub Pages at https://theonize.github.io/timeline/.
Every push to main triggers the Deploy to GitHub Pages
workflow, which builds the app and publishes dist/ via the official Pages
actions. One-time setup: in the repository settings under Settings → Pages,
set Source to GitHub Actions.
To deploy manually from a local checkout instead (publishes dist/ to a
gh-pages branch):
npm run deploy(If using the manual route, set the Pages source to the gh-pages branch
instead.)
All events live in JSON files under src/data/eras/, one file
per era/epoch, loaded automatically in filename order. Adding an event or a
whole era requires no code changes — see the schema in
src/data/README.md.
Years are integers: negative = BC, positive = AD.
Ancient chronology is genuinely uncertain and often debated. Dates here follow
a traditional conservative reckoning (Ussher-style primeval dates, the "early"
Exodus date of 1446 BC, crucifixion c. AD 30/33), with most events flagged
approximate (c.). World-event dates follow conventional scholarly dating.
The point is the shape of the story, not precision to the year.