Package Information
- Last Updated
- Minimum Typst Version
- 0.12.0
- Authors
- Clemens Koza
- Categories
- scriptingutility
1. Get the package
Download the package using the TPIX CLI:
tpix get @preview/prequery:0.2.02. Import in your Typst file
Add this to your .typ file:
#import "@preview/prequery:0.2.0": *Prequery
This package helps extracting metadata for preprocessing from a typst document, for example image URLs for download from the web.
Typst compilations are sandboxed: it is not possible for Typst packages, or even just a Typst document itself, to access the "ouside world".
This sandboxing of Typst has good reasons.
Yet, it is often convenient to trade a bit of security for convenience by weakening it.
Prequery helps with that by providing some simple scaffolding for supporting preprocessing of documents.
The Prequery documentation is located at https://typst-community.github.io/prequery/; for now, the package API is still in the PDF manual.
Getting Started
Here's an example for referencing images from the internet:
#import "@preview/prequery:0.2.0"
// toggle this comment or pass `--input prequery-fallback=true` to enable fallback
// #prequery.fallback.update(true)
#prequery.image(
"https://raw.githubusercontent.com/typst-community/prequery/refs/heads/main/test-assets/example-image.svg",
"assets/example-image.svg")
Using typst query, the image URL(s) are extracted from the document:
typst query --input prequery-fallback=true --field value \
main.typ '<web-resource>'
This will output the following piece of JSON:
[{"url": "https://raw.githubusercontent.com/typst-community/prequery/refs/heads/main/test-assets/example-image.svg", "path": "assets/example-image.svg"}]
Which can then be used to download all images to the expected locations.
One option to do so is to use the prequery preprocessor; you can look at the Quickstart section to learn how.