The catalog is a static tree (site/ in
the monorepo). HTML cards and PDF clicks are
path-relative, so the same files can be served from
https://zapier.georgelambert.org/ today and
https://docs.verae-time.net/ later without rewriting
links.
Live service doors (portal, IAM, fleet, …) stay on their own
hostnames. Forgejo stays on git.georgelambert.org.
Script: scripts/rewrite-docs-host.py in
master-zapier-plan-draft
Build: scripts/build-docs-site.py ·
Deploy: scripts/deploy-docs-site.sh
python3 scripts/build-docs-site.pysite/ directory to the new host document root
(must be the site root, /).file_server with
index index.html index.pdf README.html README.pdf) at that
tree.PDF annotations look like README.pdf and
../../index.html (relative to the PDF). Browsers resolve
them against the PDF’s own URL, so they follow the new host.
Optional label in the HTML banner (not a link target):
DOCS_PUBLIC_HOST=docs.verae-time.net python3 scripts/build-docs-site.pyBake a public origin at build time:
DOCS_PUBLIC_URL=https://docs.verae-time.net \
DOCS_PUBLIC_HOST=docs.verae-time.net \
python3 scripts/build-docs-site.pyOr retarget an already built site/
without rebuilding PDFs from markdown:
# Lab origin → future docs host
python3 scripts/rewrite-docs-host.py \
--site ./site \
--from https://zapier.georgelambert.org \
--to https://docs.verae-time.net
# Strip the origin (same as the default build)
python3 scripts/rewrite-docs-host.py --site ./site --relative
python3 scripts/rewrite-docs-host.py --site ./site --from … --to … --dry-runThe rewrite walks HTML/SVG/CSS/JS/MD text and PDF /URI
annotations. It does not change
portal.zapier.georgelambert.org, iam.…, or
git.georgelambert.org.
docs.verae-time.net {
root * /SSD2/sites/docs.verae-time.net
encode gzip zstd
file_server {
index index.html index.pdf README.html README.pdf
}
try_files {path} {path}/index.html {path}/index.pdf {path}/README.html {path}/README.pdf
}
Lab copy:
packages/verae-ops/caddy/zapier.georgelambert.org.caddy.
python3 scripts/check-doc-links.pyLocal files must exist for homepage hrefs and PDF URI targets. Off-site HTTPS (Forgejo, live doors) is left alone.
git -C /Users/marchon/apps/zapier push ns1 main
git -C /Users/marchon/apps/zapier push ns1 main:master
bash scripts/deploy-docs-site.sh
# → marchon@70.88.205.138:/SSD2/sites/zapier.georgelambert.org