Struct genanki_rs::Deck
source · pub struct Deck { /* private fields */ }
Expand description
A flashcard deck which can be written into an .apkg file.
Implementations§
source§impl Deck
impl Deck
sourcepub fn new(id: i64, name: &str, description: &str) -> Self
pub fn new(id: i64, name: &str, description: &str) -> Self
Creates a new deck with an id
, name
and description
.
id
should always be unique when creating multiple decks.
sourcepub fn add_note(&mut self, note: Note)
pub fn add_note(&mut self, note: Note)
Adds a note
(Flashcard) to the deck.
Example:
use genanki_rs::{Deck, Note, basic_model};
let mut my_deck = Deck::new(1234, "Example deck", "This is an example deck");
my_deck.add_note(Note::new(basic_model(), vec!["What is the capital of France?", "Paris"])?);
sourcepub fn write_to_file(&self, file: &str) -> Result<(), Error>
pub fn write_to_file(&self, file: &str) -> Result<(), Error>
Packages a deck and writes it to a new .apkg
file. This file can then be imported in Anki.
Returns Err
if the file can not be created.
Example:
use genanki_rs::{Deck, Note, basic_model};
let mut my_deck = Deck::new(1234, "Example deck", "This is an example deck");
my_deck.add_note(Note::new(basic_model(), vec!["What is the capital of France?", "Paris"])?);
my_deck.write_to_file("output.apkg")?;
This is equivalent to:
use genanki_rs::{Deck, Note, basic_model, Package};
let mut my_deck = Deck::new(1234, "Example deck", "This is an example deck");
my_deck.add_note(Note::new(basic_model(), vec!["What is the capital of France?", "Paris"])?);
Package::new(vec![my_deck], vec![])?.write_to_file("output.apkg")?;
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Deck
impl Send for Deck
impl Sync for Deck
impl Unpin for Deck
impl UnwindSafe for Deck
Blanket Implementations§
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
Mutably borrows from an owned value. Read more