Papermake – Selbst hostbarer PDF-Dokumentenerstellungsserver auf Basis von Typst
(github.com/rkstgr)Papermake ist ein HTTP-basierter Dokumentenerstellungsserver, der mithilfe von Typst-Templates PDFs erzeugt.
Ziel
- Zentrale Verwaltung von Typst-Templates
- PDF-Erstellung über eine REST API
- Versionsverwaltung für Templates
- Verwaltung der Erstellungshistorie (Audit Trail)
- Bereitstellung eines Template-Repositorys ähnlich einer Docker Registry
Hauptfunktionen
- Als Code verwaltete Templates (Templates as Code)
- Templates unterstützen unveränderliche (Immutable) Versionen und veränderliche (Mutable) Tags.
- Beispielsweise bleibt
invoice:v1.0.0nach der Erstellung unverändert, währendinvoice:latestaktualisiert werden kann, um auf die neueste Version zu verweisen.
- Serverseitiges Rendering (Server-side Rendering)
- In der Client-Umgebung muss Typst nicht installiert sein.
- PDFs werden allein durch HTTP-API-Aufrufe auf dem Server gerendert und zurückgegeben.
- Inhaltsadressierbarer Speicher (Content-addressable Storage)
- Templates werden anhand ihres SHA-256-Hashes gespeichert.
- Identische Templates werden nicht doppelt gespeichert; der Speicherplatz wird ähnlich wie bei Git effizient verwaltet.
- Vollständiger Audit Trail
- Für jeden Rendering-Vorgang werden die Hashes der Eingabedaten und des Ausgaberesultats aufgezeichnet.
- Für jedes erzeugte PDF lässt sich exakt nachvollziehen, mit welchem Template und welchen Daten es erstellt wurde.
- Selbst hostbar (Self-hostable)
- Betrieb und Eigenhosting sind allein mit einer in Rust geschriebenen einzelnen ausführbaren Datei, S3-kompatiblem Objektspeicher und ClickHouse möglich.
Noch keine Kommentare.