Redesign book interior: Illuminated Nocturne aesthetic

Replaces Georgia + per-story color theming with a unified premium
fairytale look: Cormorant Garamond (display/titles) + Lora (body),
warm cream text pages (#faf8f2 with paper noise texture), deep ink
typography (#1e1b18) throughout — no per-story text color variation.

- fonts/: committed WOFF2 files via @fontsource packages; auto-copied
  by scripts/setup-fonts.js (runs as postinstall)
- Typography: story number in small caps, hairline rule, ❧ ornament
- Layout: cream background replaces per-story bg, radial glow on title
- build.js: passes frontMatter (author, year) to templates
- Templates: author byline on title page, cleaner imprint page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-03 18:39:42 +02:00
parent fa1a133f94
commit 87a3925c3e
18 changed files with 292 additions and 125 deletions
+8 -3
View File
@@ -56,10 +56,15 @@ async function loadStories() {
return { stories, finale: finale || {} };
}
async function build() {
const { stories, finale } = await loadStories();
async function loadFrontMatter() {
const raw = await readFile(join(root, 'content', '00-front-matter.md'), 'utf-8');
return matter(raw).data;
}
const html = env.render('book.html', { stories, finale });
async function build() {
const [{ stories, finale }, frontMatter] = await Promise.all([loadStories(), loadFrontMatter()]);
const html = env.render('book.html', { stories, finale, frontMatter });
const outPath = join(root, 'output', 'book.html');
await writeFile(outPath, html, 'utf-8');