Struct typst_as_lib::TypstTemplateCollection
source · pub struct TypstTemplateCollection<'a> { /* private fields */ }Implementations§
source§impl<'a> TypstTemplateCollection<'a>
impl<'a> TypstTemplateCollection<'a>
sourcepub fn new<V>(fonts: V) -> Self
pub fn new<V>(fonts: V) -> Self
Initialize with fonts.
Example:
static TEMPLATE: &str = include_str!("./templates/template.typ");
static FONT: &[u8] = include_bytes!("./fonts/texgyrecursor-regular.otf");
// ...
let font = Font::new(Bytes::from(FONT), 0)
.expect("Could not parse font!");
let template = TypstTemplate::new(vec![font])
.with_static_file_resolver([TEMPLATE], []);sourcepub fn custom_inject_location<S>(self, module_name: S, value_name: S) -> Self
pub fn custom_inject_location<S>(self, module_name: S, value_name: S) -> Self
Use other typst location for injected inputs
(instead of#import sys: inputs, where sys is the module_name
and inputs is the value_name).
Also preinitializes the library for better performance,
if the template will be reused.
sourcepub fn custom_inject_location_mut<S>(&mut self, module_name: S, value_name: S)
pub fn custom_inject_location_mut<S>(&mut self, module_name: S, value_name: S)
Use other typst location for injected inputs
(instead of#import sys: inputs, where sys is the module_name
and inputs is the value_name).
Also preinitializes the library for better performance,
if the template will be reused.
sourcepub fn add_fonts_mut<I, F>(&mut self, fonts: I) -> &mut Self
pub fn add_fonts_mut<I, F>(&mut self, fonts: I) -> &mut Self
Add Fonts
sourcepub fn add_file_resolver<F>(self, file_resolver: F) -> Self
pub fn add_file_resolver<F>(self, file_resolver: F) -> Self
Add file resolver, that implements the FileResolver`` trait to a vec of file resolvers. When a FileId`` needs to be resolved by Typst, the vec will be iterated over until
one file resolver returns a file.
sourcepub fn add_file_resolver_mut<F>(&mut self, file_resolver: F)
pub fn add_file_resolver_mut<F>(&mut self, file_resolver: F)
Add file resolver, that implements the FileResolver`` trait to a vec of file resolvers. When a FileId`` needs to be resolved by Typst, the vec will be iterated over until
one file resolver returns a file.
sourcepub fn with_static_source_file_resolver<IS, S>(self, sources: IS) -> Self
pub fn with_static_source_file_resolver<IS, S>(self, sources: IS) -> Self
Adds the StaticSourceFileResolver to the file resolvers. It creates HashMaps for sources.
sources The item of the IntoIterator can be of types:
&str/String, creating a detached Source (Has vpath/main.typ)(&str, &str/String), where &str is the absolute virtual path of the Source file.(typst::syntax::FileId, &str/String)typst::syntax::Source
(&str/String is always the template file content)
sourcepub fn with_static_source_file_resolver_mut<IS, S>(&mut self, sources: IS)
pub fn with_static_source_file_resolver_mut<IS, S>(&mut self, sources: IS)
Adds the StaticSourceFileResolver to the file resolvers. It creates HashMaps for sources.
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 the StaticFileResolver to the file resolvers. It creates HashMaps for binaries.
sourcepub fn with_static_file_resolver_mut<IB, F, B>(&mut self, binaries: IB)
pub fn with_static_file_resolver_mut<IB, F, B>(&mut self, binaries: IB)
Adds the StaticFileResolver to the file resolvers. It creates HashMaps for binaries.
sourcepub fn with_file_system_resolver<P>(self, root: P) -> Self
pub fn with_file_system_resolver<P>(self, root: P) -> Self
Adds FileSystemResolver to the file resolvers, a resolver that can resolve
local files (when package is not set in FileId).
sourcepub fn with_file_system_resolver_mut<P>(&mut self, root: P)
pub fn with_file_system_resolver_mut<P>(&mut self, root: P)
Adds FileSystemResolver to the file resolvers, a resolver that can resolve
local files (when package is not set in FileId).
sourcepub fn compile_with_input<F, D>(
&self,
tracer: &mut Tracer,
main_source_id: F,
inputs: D,
) -> Result<Document, TypstAsLibError>
pub fn compile_with_input<F, D>( &self, tracer: &mut Tracer, main_source_id: F, inputs: D, ) -> Result<Document, TypstAsLibError>
Call typst::compile() with our template and a Dict as input, that will be availible
in a typst script with #import sys: inputs.
Example:
static TEMPLATE: &str = include_str!("./templates/template.typ");
static FONT: &[u8] = include_bytes!("./fonts/texgyrecursor-regular.otf");
static TEMPLATE_ID: &str = "/template.typ";
// ...
let font = Font::new(Bytes::from(FONT), 0).expect("Could not parse font!");
let template_collection = TypstTemplateCollection::new(vec![font])
.add_static_file_resolver([(TEMPLATE_ID, TEMPLATE)]);
// Struct that implements Into<Dict>.
let inputs = todo!();
let tracer = Default::default();
let doc = template_collection.compile_with_inputs(&mut tracer, TEMPLATE_ID, inputs)
.expect("Typst error!");sourcepub fn compile<F>(
&self,
tracer: &mut Tracer,
main_source_id: F,
) -> Result<Document, TypstAsLibError>where
F: Into<FileIdNewType>,
pub fn compile<F>(
&self,
tracer: &mut Tracer,
main_source_id: F,
) -> Result<Document, TypstAsLibError>where
F: Into<FileIdNewType>,
Just call typst::compile()
Trait Implementations§
source§impl<'a> From<TypstTemplate<'a>> for TypstTemplateCollection<'a>
impl<'a> From<TypstTemplate<'a>> for TypstTemplateCollection<'a>
source§fn from(value: TypstTemplate<'a>) -> Self
fn from(value: TypstTemplate<'a>) -> Self
Auto Trait Implementations§
impl<'a> Freeze for TypstTemplateCollection<'a>
impl<'a> !RefUnwindSafe for TypstTemplateCollection<'a>
impl<'a> Send for TypstTemplateCollection<'a>
impl<'a> Sync for TypstTemplateCollection<'a>
impl<'a> Unpin for TypstTemplateCollection<'a>
impl<'a> !UnwindSafe for TypstTemplateCollection<'a>
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>,
§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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for 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>,
§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>,
§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