Struct genanki_rs::Model

source ·
pub struct Model {
    pub id: i64,
    /* private fields */
}
Expand description

Model to determine the structure of a Note

Fields§

§id: i64

Implementations§

source§

impl Model

source

pub fn new( id: i64, name: &str, fields: Vec<Field>, templates: Vec<Template> ) -> Self

Creates a new model with a unique(!) ìd, a name, fields and templates

Example:

use genanki_rs::{Model, Field, Template};
let model = Model::new(
    1607392319,
    "Simple Model",
    vec![Field::new("Question"), Field::new("Answer")],
    vec![Template::new("Card 1")
        .qfmt("{{Question}}")
        .afmt(r#"{{FrontSide}}<hr id="answer">{{Answer}}"#)],
);
source

pub fn new_with_options( id: i64, name: &str, fields: Vec<Field>, templates: Vec<Template>, css: Option<&str>, model_type: Option<ModelType>, latex_pre: Option<&str>, latex_post: Option<&str>, sort_field_index: Option<i64> ) -> Self

Creates a new model with a unique(!) ìd, a name, fields and templates and custom parameters:

  • css: Custom css to be applied to the cards
  • model_type: Cloze or FrontBack, default is FrontBack
  • latex_pre: Custom latex declarations at the beginning of a card.
  • latex_post: Custom latex declarations at the end of a card.
  • sort_field_index: Custom sort field index
source

pub fn with_field(self, field: Field) -> Self

Adds an additional field to the model

source

pub fn with_template(self, template: Template) -> Self

Adds an additional template to the model

source

pub fn css(self, css: impl ToString) -> Self

Sets the custom CSS for this model

source

pub fn model_type(self, model_type: ModelType) -> Self

Change the type of the model

source

pub fn latex_pre(self, latex_pre: impl ToString) -> Self

Sets the model’s latex_pre field

source

pub fn latex_post(self, latex_post: impl ToString) -> Self

Sets the model’s latex_post field

source

pub fn sort_field_index(self, sort_field_index: i64) -> Self

Sets the index of the field used for sorting with this model

Trait Implementations§

source§

impl Clone for Model

source§

fn clone(&self) -> Model

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Model

§

impl Send for Model

§

impl Sync for Model

§

impl Unpin for Model

§

impl UnwindSafe for Model

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.