document!() { /* proc-macro */ }Expand description
Creates a Document with embedded templates, fonts, and packages.
§Usage
ⓘ
// Generate PDF
let pdf = typst_bake::document!("main.typ").to_pdf()?;
// Generate SVG (one per page)
let svgs = typst_bake::document!("main.typ").to_svg()?;
// Generate PNG at 144 DPI (Retina)
let pngs = typst_bake::document!("main.typ").to_png(144.0)?;§Configuration
Add to your Cargo.toml:
[package.metadata.typst-bake]
template-dir = "./templates"
fonts-dir = "./fonts"§What Gets Embedded
- Templates: All files in
template-dirare embedded and accessible from.typfiles - Fonts: Only supported font formats (TTF, OTF, TTC) are embedded. At least one font is required; without fonts, Typst produces invisible text
- Packages: Using packages requires no manual setup. Just use
#import "@preview/..."or#import "@local/..."as you normally would in Typst. The macro scans for package imports and recursively resolves all dependencies at compile time. Shares Typst’s own package directories, so locally installed packages are picked up automatically