pub struct TypstTemplateEngineBuilder<T = TypstTemplateCollection> { /* private fields */ }Expand description
Builder for constructing a TypstEngine.
Implementations§
Source§impl TypstTemplateEngineBuilder<TypstTemplateCollection>
impl TypstTemplateEngineBuilder<TypstTemplateCollection>
Sourcepub fn main_file<S: IntoSource>(
self,
source: S,
) -> TypstTemplateEngineBuilder<TypstTemplateMainFile>
pub fn main_file<S: IntoSource>( self, source: S, ) -> TypstTemplateEngineBuilder<TypstTemplateMainFile>
Sets the main file for compilation.
This is optional. If not set, you must provide a file ID on each compile call.
§Example
static TEMPLATE: &str = "Hello World!";
static FONT: &[u8] = include_bytes!("../examples/fonts/texgyrecursor-regular.otf");
let engine = TypstEngine::builder()
.main_file(TEMPLATE)
.fonts([FONT])
.build();
let doc: PagedDocument = engine.compile().output.expect("Compilation failed");See also: small_example.rs
Source§impl<T> TypstTemplateEngineBuilder<T>
impl<T> TypstTemplateEngineBuilder<T>
Sourcepub fn custom_inject_location(
self,
module_name: &'static str,
value_name: &'static str,
) -> Self
pub fn custom_inject_location( self, module_name: &'static str, value_name: &'static str, ) -> Self
Customizes where input data is injected in the Typst environment.
By default, inputs are available as sys.inputs.
Sourcepub fn fonts<I, F>(self, fonts: I) -> Selfwhere
I: IntoIterator<Item = F>,
F: IntoFonts,
pub fn fonts<I, F>(self, fonts: I) -> Selfwhere
I: IntoIterator<Item = F>,
F: IntoFonts,
Adds fonts for rendering.
Accepts font data as &[u8], Vec<u8>, Bytes, or Font.
For automatic system font discovery, see typst-kit-fonts feature.
§Example
static FONT: &[u8] = include_bytes!("../examples/fonts/texgyrecursor-regular.otf");
let engine = TypstEngine::builder()
.fonts([FONT])
.build();Sourcepub fn add_file_resolver<F>(self, file_resolver: F) -> Self
pub fn add_file_resolver<F>(self, file_resolver: F) -> Self
Adds a custom file resolver.
Resolvers are tried in order until one successfully resolves the file.
Sourcepub fn with_static_source_file_resolver<IS, S>(self, sources: IS) -> Selfwhere
IS: IntoIterator<Item = S>,
S: IntoSource,
pub fn with_static_source_file_resolver<IS, S>(self, sources: IS) -> Selfwhere
IS: IntoIterator<Item = S>,
S: IntoSource,
Adds static source files embedded in memory.
Accepts sources as &str, String, (&str, &str) (path, content),
(FileId, &str), or Source.
§Example
static MAIN: &str = "#import \"lib.typ\": greet\n#greet()";
static LIB: &str = "#let greet() = [Hello World!]";
static FONT: &[u8] = include_bytes!("../examples/fonts/texgyrecursor-regular.otf");
let engine = TypstEngine::builder()
.fonts([FONT])
.with_static_source_file_resolver([
("main.typ", MAIN),
("lib.typ", LIB),
])
.build();
let doc: PagedDocument = engine.compile("main.typ").output.expect("Compilation failed");See also: resolve_static.rs
Sourcepub fn with_static_file_resolver<IB, F, B>(self, binaries: IB) -> Self
pub fn with_static_file_resolver<IB, F, B>(self, binaries: IB) -> Self
Adds static binary files embedded in memory (e.g., images).
§Example
static TEMPLATE: &str = r#"#image("logo.png")"#;
static LOGO: &[u8] = include_bytes!("../examples/templates/images/typst.png");
static FONT: &[u8] = include_bytes!("../examples/fonts/texgyrecursor-regular.otf");
let engine = TypstEngine::builder()
.main_file(TEMPLATE)
.fonts([FONT])
.with_static_file_resolver([("logo.png", LOGO)])
.build();See also: resolve_static.rs
Sourcepub fn with_file_system_resolver<P>(self, root: P) -> Self
pub fn with_file_system_resolver<P>(self, root: P) -> Self
Enables loading files from the file system.
Files are resolved relative to root. Files outside of root cannot be accessed.
§Example
static TEMPLATE: &str = r#"#include "header.typ""#;
static FONT: &[u8] = include_bytes!("../examples/fonts/texgyrecursor-regular.otf");
let engine = TypstEngine::builder()
.main_file(TEMPLATE)
.fonts([FONT])
.with_file_system_resolver("./templates")
.build();See also: resolve_packages.rs
Sourcepub fn comemo_evict_max_age(
&mut self,
comemo_evict_max_age: Option<usize>,
) -> &mut Self
pub fn comemo_evict_max_age( &mut self, comemo_evict_max_age: Option<usize>, ) -> &mut Self
Sets the maximum age for comemo cache eviction after compilation.
Default is Some(0), which evicts after each compilation.
Sourcepub fn build(self) -> TypstEngine<T>
pub fn build(self) -> TypstEngine<T>
Builds the TypstEngine with the configured options.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for TypstTemplateEngineBuilder<T>where
T: Freeze,
impl<T = TypstTemplateCollection> !RefUnwindSafe for TypstTemplateEngineBuilder<T>
impl<T> Send for TypstTemplateEngineBuilder<T>where
T: Send,
impl<T> Sync for TypstTemplateEngineBuilder<T>where
T: Sync,
impl<T> Unpin for TypstTemplateEngineBuilder<T>where
T: Unpin,
impl<T> UnsafeUnpin for TypstTemplateEngineBuilder<T>where
T: UnsafeUnpin,
impl<T = TypstTemplateCollection> !UnwindSafe for TypstTemplateEngineBuilder<T>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more