The many facets of the Gospel.
An interactive book. Eight chapters of one story, each readable through seven prints — spiritual, mental, physical, emotional, philosophical, relational, historical — at three depths. One seal, many impressions.
npm install
npm run dev # read it locally
npm run build # static site in dist/, deployable anywhere
npm test # content pipeline tests
npm run check:content # every cell present, frontmatter agrees with its pathThe build is fully static and uses hash routing, so dist/ works on any static host and
under any subpath — a GitHub Pages project site included — with no rewrite rules. It needs
serving over HTTP; opening dist/index.html off the filesystem does not work, because
browsers refuse ES modules from a file:// origin.
.github/workflows/pages.yml publishes to GitHub Pages on every push to main, and can
be run by hand from the Actions tab. It gates the publish on npm run check:content,
npm test and npm run build, so a malformed cell or a parsing regression stops the
release rather than reaching readers.
One-time setup on the repository: Settings → Pages → Source → GitHub Actions. Without it the build job passes and the deploy fails with "Get Pages site failed".
No base change is needed for a project site — base: './' in vite.config.js resolves
assets relative to wherever index.html lands, so the same build works at
user.github.io/Prints_of_Peace/, at a custom domain, or anywhere else.
| Path | What lives there |
|---|---|
content/ |
The book. Markdown, one file per linear chapter and per lens x depth cell. |
src/book/ |
Registries and the content pipeline: chapters, lenses, depths, frontmatter, markdown extensions. |
src/components/ |
The reading surface, including the lens switcher, depth dial, and the two interactive moments. |
src/pages/ |
Cover, contents, chapter, bibliography. |
src/state/ |
Sticky lens and depth, print profile, URL synchronisation. |
docs/CONTENT.md |
How to write content. Read this before editing content/. |
PLAN.md |
Decisions and phases. |
Phase one is complete: the scaffold, the machinery, and a brief in every one of the 168 cells describing what belongs there. Phase two replaces those briefs with the book itself.