use crate::foundations::{elem, Value}; use crate::introspection::Locatable; /// Exposes a value to the query system without producing visible content. /// /// This element can be retrieved with the [`query`] function and from the /// command line with /// [`typst query`]($reference/introspection/query/#command-line-queries). Its /// purpose is to expose an arbitrary value to the introspection system. To /// identify a metadata value among others, you can attach a [`label`] to it and /// query for that label. /// /// The `metadata` element is especially useful for command line queries because /// it allows you to expose arbitrary values to the outside world. /// /// ```example /// // Put metadata somewhere. /// #metadata("This is a note") /// /// // And find it from anywhere else. /// #context { /// query().first().value /// } /// ``` #[elem(Locatable)] pub struct MetadataElem { /// The value to embed into the document. #[required] pub value: Value, }