Papermake - Typstベースのセルフホスト可能なPDFドキュメント生成サーバー
(github.com/rkstgr)Papermakeは、Typstテンプレートを利用してPDFを生成するHTTPベースのドキュメント生成サーバー。
目的
- Typstテンプレートの一元管理
- REST APIによるPDF生成
- テンプレートのバージョン管理
- 生成履歴(Audit Trail)の管理
- Docker Registryに似たテンプレートリポジトリの提供
主な機能
- コードとして管理されるテンプレート(Templates as Code)
- テンプレートは、不変(Immutable)なバージョンと可変(Mutable)なタグをサポート。
- たとえば
invoice:v1.0.0は一度作成されると変更されず、invoice:latestは最新バージョンを指すように更新できる。
- サーバーサイドレンダリング(Server-side Rendering)
- クライアント環境にTypstをインストールする必要はない。
- HTTP APIを呼び出すだけで、サーバー側でPDFをレンダリングして返す。
- コンテンツアドレス指定ストレージ(Content-addressable Storage)
- テンプレートをSHA-256ハッシュに基づいて保存する。
- 同一テンプレートは重複保存されず、Gitに似た方式でストレージ容量を効率的に管理する。
- 完全な監査証跡(Audit Trail)
- すべてのレンダリング作業について、入力データと出力結果のハッシュを記録する。
- 生成されたすべてのPDFは、どのテンプレートとどのデータから生成されたかを正確に追跡できる。
- セルフホスト可能(Self-hostable)
- Rustで書かれた単一実行ファイルと、S3互換オブジェクトストレージ、ClickHouseだけで自前で構築・運用できる。
まだコメントはありません。