Dan's commentary / notes on the biblical text. A static site (Astro) over the Septuagint (Brenton's LXX for Old Testament) and the Text-Critical English New Testament (TCENT / BTV), with Orthodox lectionary awareness and client-side search.
This is an early work in progress. The whole Bible is browsable, the reading experience (side-by-side text + commentary) is built, and the Orthodox lectionary is wired up (readings by date, 1950–2100). But commentary is still sparse: so far it covers Genesis and a scattering of other passages. Expect rough edges, gaps, and breaking changes. Nothing here is final.
Visit the site at byzantique.com
Current status: the platform is largely built — whole-Bible browsing, the side-by-side reader, cross-references, light/dark themes, self-hosted Greek/Hebrew fonts, and the lectionary are all in place. The remaining work is writing the commentary.
Docs: see docs/ — the Studio (the local editor,
and the preferred way to add commentary), editing pages & commentary by hand, local
development, and USFM book codes. (Start at the docs index.)
npm install
npm run dev # runs the data build, then the Astro dev server
# open http://localhost:4321/Other scripts:
npm run data # texts + commentary + intro + lectionary + parallels builds → public/data/
npm run build # data build + static site → dist/
npm run preview # serve the built dist/ locallydata/texts/{englxxup,engtcent}/*.usfm vendored USFM — the whole canon (source of truth)
data/intro/engtcent.usfm the TCENT translator's introduction
data/commentary/**/*.md author notes (Markdown + frontmatter anchors)
data/book-intros/<CODE>.md per-book introductions
data/pericopes/<CODE>.json author section/pericope headings
data/parallels/synopsis.json Gospel synopsis (a harmony; drives the Synoptic parallels panel)
data/lectionary/ vendored orthocal data (fixtures + date dumps)
│
│ npm run data → scripts/build-{texts,commentary,intro,lectionary,parallels}.mjs
▼
public/data/** generated JSON (texts, commentary, lectionary; gitignored)
src/lib/canon.ts canon registry (names, order, slugs, USFM codes)
src/pages/**.astro static pages read the JSON at build time
- Static-first: every book and chapter is pre-rendered to HTML (~1,450 routes; full build ≈ 5s), so the entire Bible reads with no JavaScript. The per-chapter JSON is also served for client-side features (search, cross-ref previews, the lectionary date page).
- Texts: Updated Brenton Septuagint (
englxxup, CC0 — LXX versification, incl. the Anagignoskomena) and the Text-Critical English NT / Byzantine Text Version (engtcent, CC BY 4.0). All 79 books are vendored as USFM underdata/texts/. - Custom USFM parser:
build-texts.mjsparses USFM into a block model — paragraphs, poetry lines with indent levels, stanza breaks, Psalm titles, section headings — so scripture renders faithfully (nousfm-grammardependency). It also extracts the TCENT textual apparatus (\f…\f*) into a separate lettered footnote stream below the text. - Reading experience: chapters with commentary render a side-by-side reader (scripture left, notes right) with a stacked-layout toggle, a sticky text column, and hover linking between notes and the verses they cover. Books have landing pages with an introduction, a responsive chapter grid (each chapter showing a small commentary-density bar), and book-level commentary. The whole site supports light and dark themes, defaulting to the reader's system preference.
- Commentary: Markdown notes anchored to a reference (
GEN 1:1, ranges, cross-chapter, or a bare book code) via frontmatter, compiled bybuild-commentary.mjs. Notes support a{{ REF }}scripture-inclusion convention, cross-references to passages ([text](ref:JHN 1:1)) and to other notes ([text](note:ID)), and numbered footnotes — all validated at build (a bad reference fails the build). Notes are written with the Studio — a dev-only/studioeditor with live preview, validation, and automatic filing — or by hand (docs/ADDING-COMMENTARY.md). - Lectionary: the Orthodox daily lectionary (New/Revised-Julian calendar, 1950–2100),
precomputed from
orthocal-python's own engine — no runtime API dependency.build-lectionary.mjsproduces a date→readings map (the/lectionary/date page + "Today's readings" on the home page) and a passage→occasions index (the reading chips shown on chapter pages, which link to the next date each is read). - Greek & Hebrew: self-hosted OFL fonts — Noto Serif for polytonic Greek and Ezra SIL
for pointed/cantillated Hebrew — applied automatically per script via CSS
unicode-range, so they download only on pages that need them.
The site is a static Astro build (dist/). To deploy:
- GitHub — the repo lives at
biblenerd/byzantique. - Cloudflare Pages — dashboard → Workers & Pages → Create → Pages →
Connect to Git → select the repo. Build settings:
- Framework preset: Astro
- Build command:
npm run build - Build output directory:
dist - Node version: pinned to 24 (LTS) via
.nvmrc, which Cloudflare Pages reads automatically. ANODE_VERSIONenvironment variable in the dashboard overrides.nvmrc— so remove that variable (preferred) or set it to24. (Astro 7 needs Node ≥ 22.12; an older pinnedNODE_VERSIONwould fail the build.)
- Custom domain — Pages project → Custom domains → add
byzantique.com(andwww). If the domain's DNS is on Cloudflare, records are added automatically.
This repo mixes several licenses — see LICENSING.md for details.
- Code (Astro, build scripts, styles) — MIT (see
LICENSE). - Commentary & notes — © Byzantique, CC BY-SA 4.0. (Same for the Gospel-parallels
dataset in
data/parallels/, a compilation over public-domain harmonies — seedocs/GOSPEL-PARALLELS.md.) - Bundled texts — their own licenses: Updated Brenton LXX (OT) — CC0; TCENT / Byzantine Text Version (NT) — CC BY 4.0, © Robert Adam Boyd.
- Bundled fonts — Noto Serif and Ezra SIL, both SIL Open Font License 1.1
(see
public/fonts/). - Lectionary data — derived from
orthocal-python(MIT); its license is vendored atdata/lectionary/ORTHOCAL-LICENSE.txt.
Byzantique is built with Astro 7 (Vite 8) on Node 24. Much of the engineering — the build pipeline, components, and styling — was done in collaboration with Claude Code, Anthropic's agentic coding tool. The biblical scholarship, commentary, notes, and editorial judgments represent Dan's research.
This project:
- began as a GitHub Pages site (deprecated in 2024),
- evolved into a Hugo static site hosted via Netlify (deprecated in 2026), and
- is now an Astro static site hosted via Cloudflare Pages.