Commit Graph

3 Commits

Author SHA1 Message Date
valknar 07f1b9d3a6 Add Ghostscript post-processing to cover.js (CMYK + font embed + metadata)
Puppeteer writes cover-raw.pdf, Ghostscript converts RGB→CMYK via
-sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK,
fully embeds fonts (-dPDFSETTINGS=/prepress), and injects title/author
metadata via UTF-16BE pdfmarks. Temp files are cleaned up on success.
Mirrors the same GS pipeline already used in pdf.js for the interior.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 19:21:36 +02:00
valknar 96ba26559b Apply Illuminated Nocturne style to cover template
Replaces Georgia with Cormorant Garamond (display, 300 italic) + Lora
(body) across all cover text. Adds @font-face declarations pointing to
fonts/ (same as interior). Updates gold tokens to match interior palette.

Visual changes: front title in Cormorant light italic with gold gradient
rule below, ❧ ornament replacing ✦, synopsis body in Lora.
cover.js now reads 00-front-matter.md to inject author name into spine,
front, and removes the [AUTOR] placeholder.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 18:44:19 +02:00
valknar 1037b84eaa Add KDP cover PDF generator
scripts/cover.js computes the exact cover canvas dimensions from the
page count in book-meta.json (written by build.js), using the KDP
Premium Color spine formula (0.002347 in/page), and renders a
Nunjucks template to a single PDF containing back cover, spine, and
front cover with bleed (0.125 in) and safe-zone overlay guides.

- `pnpm cover`  — generate output/cover.pdf
- `pnpm all`    — build interior + both PDFs in one command
- Cover artwork slots: images/cover/front.png, images/cover/back.png

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 17:29:10 +02:00