Un poco de código.
Algo que recordar.
Explora el código, voltea las tarjetas y abre los mazos generados en Anki. Estas vistas previas usan los mismos campos que los archivos descargables.
Basic
Un saludo en español con una pregunta, una respuesta y un ID estable explícito. Empieza aquí para crear tarjetas sencillas de anverso y reverso.
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")))?;hola
¿Qué significa?Pregunta visible.
Cloze
Oculta una palabra en su contexto con la sintaxis Cloze de Anki. Esta nota tiene un solo hueco, por lo que genera una tarjeta.
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")))?;A sound's pitch depends on its […].
Pregunta visible.
Multimedia
Una imagen y un tono reproducible incluidos con la nota. El fragmento usa un tipo de nota para entrenamiento auditivo definido en el código completo.
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")))?;Name this pitch.
Pregunta visible.
Oclusión de imágenes
Una máscara rectangular con una clave estable oculta el núcleo en un dibujo en corte de una célula. El mazo descargable usa la misma imagen y máscara que esta vista previa.
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"))Which structure is hidden?

Pregunta visible.
Una nota, dos versiones.
La segunda versión cambia la respuesta de «hello» a «hello; hi». El programa la compara con el primer paquete y comprueba que el ID de la nota no cambia.
let comparison = project.compare(CompareOptions::against(&previous))?;
ensure!(comparison.policy().allows_publication());
let built = project.build(BuildOptions::to(&next).update_from(&previous))?;es:holahola
hello
Prueba un cambio de contenido.
Resultado de la comparación: RISK.NOTE_CHANGED (low). Política de publicación: permite este cambio.
Descargar v1Descargar v2Informe de comparaciónConserva el APKG original de distribución. Las opciones de importación y los cambios locales más recientes afectan a las actualizaciones. Guía de actualizaciones
Las opciones de importación de Anki y los cambios locales afectan a cómo se aplican las actualizaciones. Las vistas previas muestran el contenido y la identidad; Anki determina el estilo de las tarjetas y el comportamiento durante el repaso.