Struct typst_as_lib::TypstTemplateCollection
source · pub struct TypstTemplateCollection { /* private fields */ }Implementations§
source§impl TypstTemplateCollection
impl TypstTemplateCollection
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 From<TypstTemplate> for TypstTemplateCollection
impl From<TypstTemplate> for TypstTemplateCollection
source§fn from(value: TypstTemplate) -> Self
fn from(value: TypstTemplate) -> Self
Auto Trait Implementations§
impl Freeze for TypstTemplateCollection
impl !RefUnwindSafe for TypstTemplateCollection
impl Send for TypstTemplateCollection
impl Sync for TypstTemplateCollection
impl Unpin for TypstTemplateCollection
impl !UnwindSafe for TypstTemplateCollection
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