feat: Unified compilation pipeline — MD, EPUB, PDF, HTML #31

Merged
Timmy merged 2 commits from burn/20260411-1425-compile-all-pipeline into main 2026-04-11 18:53:39 +00:00
Owner

Closes #18

Single compile_all.py script builds all distributable formats:

  • testament-complete.md — full novel as one markdown file (19,264 words)
  • testament.epub — EPUB with cover art + CSS styling (66 KB)
  • testament.pdf — PDF via reportlab (pure Python) with QR codes linking to soundtrack, game, website, source
  • testament.html — standalone styled HTML for print-to-PDF (3.7 MB)
  • website/chapters.json — chapter data for the web reader
  • build-manifest.json — SHA256 checksums of all outputs

Usage:

python3 compile_all.py              # build everything
python3 compile_all.py --md         # markdown only
python3 compile_all.py --pdf        # markdown + PDF
python3 compile_all.py --check      # verify deps
make unified                        # via Makefile

All formats build in ~5s (markdown + epub + html + json + manifest).

Closes #18 Single `compile_all.py` script builds all distributable formats: - **testament-complete.md** — full novel as one markdown file (19,264 words) - **testament.epub** — EPUB with cover art + CSS styling (66 KB) - **testament.pdf** — PDF via reportlab (pure Python) with QR codes linking to soundtrack, game, website, source - **testament.html** — standalone styled HTML for print-to-PDF (3.7 MB) - **website/chapters.json** — chapter data for the web reader - **build-manifest.json** — SHA256 checksums of all outputs Usage: ``` python3 compile_all.py # build everything python3 compile_all.py --md # markdown only python3 compile_all.py --pdf # markdown + PDF python3 compile_all.py --check # verify deps make unified # via Makefile ``` All formats build in ~5s (markdown + epub + html + json + manifest).
Timmy added 2 commits 2026-04-11 18:29:00 +00:00
Single script builds all distributable formats:
- testament-complete.md (full novel markdown)
- testament.epub (with cover art + CSS via pandoc)
- testament.pdf (reportlab with QR codes)
- testament.html (standalone styled HTML)
- website/chapters.json (web reader data)
- build-manifest.json (SHA256 checksums)

Closes #30
wip: fix PosixPath formatting, update Makefile with unified target
Some checks failed
Smoke Test / smoke (pull_request) Failing after 11s
Build Validation / validate-manuscript (pull_request) Successful in 7s
332166a901
- Fix relative_to() format string errors (str() wrapper)
- Add 'make unified' target for compile_all.py
- Update 'make check' to use compile_all.py --check
- Clean removes build-manifest.json and chapters.json
Timmy merged commit f364c82bac into main 2026-04-11 18:53:39 +00:00
Timmy referenced this issue from a commit 2026-04-11 18:53:39 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-testament#31