feat(base): ship typst as lightweight pandoc PDF engine
Lint workflows / actionlint (push) Successful in 15s
Lint workflows / actionlint (push) Successful in 15s
pandoc has been in the base since v1.0.0 but only as a front-end; PDF export (studio_export_pdf / pandoc -o out.pdf) failed with 'xelatex not found' because no back-end engine was installed. Ship typst (~30 MB static Rust binary, no LaTeX) as the default engine via `pandoc --pdf-engine=typst`, chosen over a ~600 MB TeX Live install. texlive-xetex remains the higher-fidelity install-on-demand fallback. - Dockerfile.base: install typst (latest GitHub-release idiom, pin via TYPST_VERSION); add xz-utils (typst ships .tar.xz); bump BASE_REBUILD_DATE. Lands in base-<hash>. - smoke-test.sh: verify typst + a real pandoc --pdf-engine=typst render. - README/AGENTS/CHANGELOG: typst now shipped (supersedes the planned :latest-studio-tex variant). No tag pushed — CI build intentionally deferred.
This commit is contained in:
@@ -11,6 +11,26 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
||||
|
||||
---
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
|
||||
- **`typst` — lightweight PDF engine for pandoc (Markdown→PDF).** `pandoc` has
|
||||
shipped in the base since v1.0.0 but as a front-end only — with no PDF
|
||||
back-end installed, `studio_export_pdf` / `pandoc -o out.pdf` failed with
|
||||
"xelatex not found". The base now installs `typst`, a single ~30 MB static
|
||||
Rust binary (no LaTeX), used via `pandoc --pdf-engine=typst`. Chosen over a
|
||||
~600 MB TeX Live install; a fuller TeX Live remains the higher-fidelity
|
||||
fallback for anyone needing LaTeX-exact output (install on demand). Also adds
|
||||
`xz-utils` to the apt layer (typst ships a `.tar.xz` asset that `tar` needs
|
||||
`xz` to extract). Installed with the standard `latest` GitHub-release idiom;
|
||||
pin with `--build-arg TYPST_VERSION=vX.Y.Z`. This lands in `base-<hash>`
|
||||
(Dockerfile.base changed). Supersedes the previously-planned
|
||||
`:latest-studio-tex` variant — typst is small enough to ship in BASE, so no
|
||||
separate TeX variant is needed. See `pi-devbox-roadmap`.
|
||||
|
||||
---
|
||||
|
||||
## v1.3.0 — 2026-07-02
|
||||
|
||||
Minor release. Headline: **shared/external MemPalace** — the `mempalace.ts`
|
||||
|
||||
Reference in New Issue
Block a user