Pular para o conteúdo

Gere cartões Basic e Cloze do Anki

Gere cartões Basic (pergunta e resposta) e Cloze (preenchimento de lacunas) do Anki com código, em vez de adicioná-los um por um no Anki. Uma nota Basic tem frente e verso. Uma nota Cloze gera um cartão para cada número de omissão aceito. Este exemplo em Rust cria duas notas e três cartões. Python e Node.js oferecem os mesmos construtores Note.basic e Note.cloze; veja a API de Python e a API de Node.

Na raiz do repositório:

Janela do terminal
cargo run --locked -p ankiforge --example docs_workflow -- target/docs-examples

Abra target/docs-examples/cards.apkg no Anki. A pergunta Basic é hola; os cartões Cloze ocultam Madrid e Spain separadamente.

Esta função foi extraída do programa executável completo. A função auxiliar verify confere as quantidades de notas, cartões e mídias da saída gerada com sucesso.

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(())
}

O primeiro argumento de Project::new é um namespace estável. Cada chamada a add precisa de uma chave estável do registro de origem. Reutilizar a mesma chave para outra nota causa uma falha; nenhuma chave baseada no conteúdo é atribuída automaticamente. Uma resposta alterada sob a mesma chave continua pertencendo à mesma nota lógica quando a atualização é gerada a partir da distribuição anterior.

As strings de Basic e Cloze são Text. Use Content::html para incluir HTML de forma intencional; a sintaxe de omissão Cloze continua sendo reconhecida dentro de Text. back_extra é a chave do campo adicional do Cloze integrado. Use o mesmo método Note::field para texto, HTML, imagens e sons.

Use {{c1::answer}} ou {{c1::answer::hint}}. Uma frase comum não fornece uma pergunta Cloze. Os números de omissão aceitos vão de 1 a 500; alterá-los pode mudar a identidade dos cartões. Revise essas mudanças com a comparação e a política de atualização.

Depois, adicione mídia, um modelo personalizado ou oclusão de imagem.

Ver Markdown