Ein wenig Code.
Karten zum Lernen.

Erkunde den Quellcode, drehe die Karten um und öffne die erzeugten Stapel in Anki. Diese Webvorschauen verwenden dieselben Felder wie die Downloads.

Basic

Eine spanische Begrüßung mit Frage, Antwort und ausdrücklicher stabiler ID. Beginne hier für einfache Karten mit Vorder- und Rückseite.

basic.rsRust-Ausschnitt
let (front, back) = ("hola", "hello");
let mut project = Project::new("spanish")?.default_deck("Spanish");
project.add("es:hola", Note::basic(front, back))?;
let built = project.build(BuildOptions::to(output.join("spanish.apkg")))?;

Spanish
Spanisch → Englisch

hola

Was bedeutet das?
spanish.apkg herunterladen 1 Notiz · 1 Karte · 0 Mediendateien

Cloze

Verbirg mit Ankis Cloze-Syntax ein Wort im Kontext. Diese Notiz hat eine Lücke und erzeugt deshalb eine Karte.

cloze.rsRust-Ausschnitt
let text = "A sound's pitch depends on its {{c1::frequency}}.";
let extra = "More cycles per second, higher pitch.";
let mut project = Project::new("website-sound")?.default_deck("Sound");
project.add("sound:pitch", Note::cloze(text).field("back_extra", extra))?;
let built = project.build(BuildOptions::to(output.join("sound.apkg")))?;

Sound
Vervollständige den Satz

A sound's pitch depends on its […].

sound.apkg herunterladen 1 Notiz · 1 Karte · 0 Mediendateien

Medien

Ein Bild und ein abspielbarer Ton, zusammen mit der Notiz gebündelt. Dieser Ausschnitt verwendet einen im vollständigen Quellcode definierten Notiztyp zur Gehörbildung.

media.rsRust-Ausschnitt
let (prompt, answer) = ("Name this pitch.", "A4, 440 Hz");
let picture = Media::file(output.join("waveform.svg"))?.with_export_name("waveform.svg")?;
let audio = Media::file(output.join("concert-a.wav"))?.with_export_name("concert-a.wav")?;
project.add(
    "sound:a4",
    model
        .note()
        .field("prompt", prompt)
        .field("answer", answer)
        .field("picture", picture.image())
        .field("audio", audio.sound()),
)?;
let built = project.build(BuildOptions::to(output.join("ear-training.apkg")))?;

Ear Training
Gehörbildung

Name this pitch.

Illustrative Wellenform eines synthetischen Tons
ear-training.apkg herunterladen 1 Notiz · 1 Karte · 2 Mediendateien

Bildverdeckung

Ein Rechteck mit stabilem Schlüssel verdeckt den Zellkern in einem illustrierten Zellquerschnitt. Der herunterladbare Stapel verwendet dasselbe Bild und dieselbe Maske wie diese Vorschau.

occlusion.rsRust-Ausschnitt
let image =
    Media::file(output.join("cell-anatomy.png"))?.with_export_name("cell-anatomy.png")?;
Ok(Note::image_occlusion(image)
    .mask(Mask::rect("nucleus", 296, 106, 240, 232))
    .build()?
    .field("header", "Cell anatomy")
    .field("back_extra", "Nucleus"))

Cell Anatomy
Zellanatomie

Which structure is hidden?

Querschnitt einer tierischen Zelle mit einer verdeckten Struktur
cell-anatomy.apkg herunterladen 1 Notiz · 1 Karte · 1 Mediendatei

Eine Notiz, zwei Versionen.

Der zweite Build ändert die Antwort von „hello“ zu „hello; hi“. Das Programm vergleicht das Ergebnis mit dem ersten Paket und prüft, ob die Notiz-ID gleich geblieben ist.

let comparison = project.compare(CompareOptions::against(&previous))?;
ensure!(comparison.policy().allows_publication());
let built = project.build(BuildOptions::to(&next).update_from(&previous))?;

Stabile Notiz-IDes:hola
Vorderseite

hola

Rückseite

hello

Eine Inhaltsänderung ausprobieren.

Vergleichsergebnis: RISK.NOTE_CHANGED (low). Veröffentlichungsrichtlinie: erlaubt diese Änderung.

v1 herunterladenv2 herunterladenVergleichsbericht

Bewahre das ursprünglich verteilte APKG auf. Importeinstellungen und neuere lokale Änderungen beeinflussen Aktualisierungen. Aktualisierungsanleitung

Ankis Importeinstellungen und lokale Änderungen beeinflussen, wie Aktualisierungen angewendet werden. Die Vorschau zeigt Inhalte und IDs; wie die Karten aussehen und beim Lernen angezeigt werden, bestimmt Anki.