Zum Inhalt springen

Basic- und Cloze-Karten für Anki erzeugen

Erzeuge Basic-Karten mit Frage und Antwort sowie Cloze-Karten mit Lückentext aus Code, statt sie einzeln in Anki anzulegen. Eine Basic-Notiz hat eine Vorder- und eine Rückseite. Eine Cloze-Notiz erzeugt für jede unterstützte Lückennummer eine Karte. Dieses Rust-Beispiel erstellt zwei Notizen und drei Karten. Python und Node.js bieten dieselben Konstruktoren Note.basic und Note.cloze; siehe Python-API und Node-API.

Führe im Stammverzeichnis des Repositorys Folgendes aus:

Terminal-Fenster
cargo run --locked -p ankiforge --example docs_workflow -- target/docs-examples

Öffne target/docs-examples/cards.apkg in Anki. Die Basic-Frage lautet hola; die Cloze-Karten verbergen getrennt Madrid und Spain.

Diese Funktion stammt aus dem vollständigen ausführbaren Programm. Die Hilfsfunktion verify prüft die Anzahl der Notizen, Karten und Medien in der erfolgreichen Ausgabe.

fn cards(output: &Path) -> anyhow::Result<()> {
let mut project = Project::new("docs-spanish")?.default_deck("Spanish");
project.add("hola", Note::basic("hola", "hello"))?;
project.add(
"capital",
Note::cloze("{{c1::Madrid}} is in {{c2::Spain}}.")
.field("back_extra", "A city and its country."),
)?;
let built = project.build(BuildOptions::to(output.join("cards.apkg")))?;
verify(&built, 2, 3, 0)?;
Ok(())
}

Das erste Argument von Project::new ist ein stabiler Namensraum. Jeder Aufruf von add benötigt einen stabilen Schlüssel des Quelldatensatzes. Wird derselbe Schlüssel für eine andere Notiz verwendet, schlägt der Vorgang fehl; es wird kein automatischer, inhaltsbasierter Schlüssel zugewiesen. Eine geänderte Antwort unter demselben Schlüssel bleibt dieselbe logische Notiz, wenn du eine Aktualisierung auf Basis ihrer vorherigen Verteilung erstellst.

Text, Felder und Kartenidentität

Abschnitt „Text, Felder und Kartenidentität“

Zeichenfolgen für Basic und Cloze sind Text. Verwende Content::html, um HTML bewusst einzubinden; Cloze-Lückensyntax wird weiterhin innerhalb von Text erkannt. back_extra ist der eingebaute Schlüssel des zusätzlichen Cloze-Feldes. Verwende dieselbe Methode Note::field für Text, HTML, Bilder und Audio.

Verwende {{c1::answer}} oder {{c1::answer::hint}}. Ein einfacher Satz enthält keine Cloze-Frage. Unterstützte Lückennummern reichen von 1 bis 500; Änderungen der Nummern können die Kartenidentität verändern. Prüfe solche Änderungen mit Vergleich und Aktualisierungsrichtlinie.

Ergänze als Nächstes Medien, ein eigenes Modell oder Bildverdeckung.

Markdown anzeigen