YAML
Documentation for the `yaml` function.
Reads structured data from a YAML file.
The file must contain a valid YAML object or array. The YAML values will be converted into corresponding Typst values as listed in the table below.
The function returns a dictionary, an array or, depending on the YAML file, another YAML data type.
The YAML files in the example contain objects with authors as keys, each with a sequence of their own submapping with the keys "title" and "published".
Example
Loading compiler...
Conversion details
| YAML value | Converted into Typst |
|---|---|
null-values (null, ~ or empty {:typst}) | none |
| boolean | bool |
| number | float or int |
| string | str |
| sequence | array |
| mapping | dictionary |
| Typst value | Converted into YAML |
|---|---|
| types that can be converted from YAML | corresponding YAML value |
bytes | string via repr |
symbol | string |
content | a mapping describing the content |
other types (length, etc.) | string via repr |
Notes
- In most cases, YAML numbers will be converted to floats or integers depending on whether they are whole numbers. However, be aware that integers larger than 263-1 or smaller than -263 will be converted to floating-point numbers, which may result in an approximative value.
- Custom YAML tags are ignored, though the loaded value will still be present.
- Bytes are not encoded as YAML sequences for performance and readability reasons. Consider using
cbor.encodefor binary data. - The
reprfunction is for debugging purposes only, and its output is not guaranteed to be stable across Typst versions.
#yaml(
source
) -> anyParameters
Prop
Type
Definitions
Reads structured data from a YAML string/bytes.
#yaml.decode(
data
) -> anyParameters
Prop
Type
Encode structured data into a YAML string.
#yaml.encode(
value
) -> strParameters
Prop
Type