Some checks are pending
offline / test (push) Waiting to run
PDFs rewrite in-document .md/.html links to sibling PDFs. Catalog start page is GETTING-STARTED (install, first-up, monitor). Billing and user platform is zappier-edge (original ~/zappier tree).
72 lines
2 KiB
Python
72 lines
2 KiB
Python
#!/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("<style>" + CSS.read_text(encoding="utf-8") + "</style>\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()
|