#!/usr/bin/env python3 """Concatenate package READMEs into LaTeX source + colored PDF (WeasyPrint).""" from __future__ import annotations import subprocess from pathlib import Path ROOT = Path(__file__).resolve().parents[1] CSS = ROOT / "scripts" / "docs-print.css" OUT = ROOT / "docs" / "sphinx" / "_build" / "latex" REPOS = [ "overview", "verae-ops", "zappier", "verae-zapier-middleware", "verae-zapier", "verae-activate", "verae-request-splitter", "verae-archive-worm", "verae-archive-aggregator", "verae-tree-node", "verae-fleet", "verae-zapier-simulator", "zapier-user-docs", "docs-master", "verae-nats-process", ] def main() -> None: OUT.mkdir(parents=True, exist_ok=True) files = [str(ROOT / "packages" / n / "README.md") for n in REPOS if (ROOT / "packages" / n / "README.md").exists()] html = OUT / "verae-zapier-modules.html" pdf = OUT / "verae-zapier-modules.pdf" tex = OUT / "verae-zapier-readmes.tex" hdr = OUT / "hdr.html" hdr.write_text("\n", encoding="utf-8") subprocess.run( [ "pandoc", *files, "-o", str(html), "--standalone", "--toc", f"--css={CSS}", "--metadata=title=Verae Time × Zapier — repository READMEs", f"--include-in-header={hdr}", "--syntax-highlighting=breezedark", f"--lua-filter={ROOT / 'scripts' / 'pdf-links.lua'}", ], check=True, ) subprocess.run(["weasyprint", str(html), str(pdf)], check=True) subprocess.run( [ "pandoc", *files, "-o", str(tex), "--standalone", "--toc", "--metadata=title=Verae Time × Zapier repository READMEs", ], check=True, ) print(f"wrote {pdf} ({pdf.stat().st_size} bytes) and {tex}") if __name__ == "__main__": main()