# 用 Rust 生成 Anki 卡片

Canonical page: https://ankiforge.dev/zh-cn/docs/quickstart/
Language: zh-CN
Description: 安装公开 Rust 包，编写西班牙语卡片并导出持久保存的 APKG。

使用 Rust 1.92 或更高版本。其他语言可选择 [Node / TypeScript 或 Python](https://ankiforge.dev/zh-cn/docs/languages/)。

## 安装

```sh
cargo new anki-deck
cd anki-deck
cargo add ankiforge@0.3.1
```

## 导出第一个牌组

将这份完整程序保存为 `src/main.rs`：

```rust
use ankiforge::{BuildOptions, Note, Project};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut project = Project::new("spanish")?.default_deck("Spanish");
    project.add("es:hola", Note::basic("hola", "hello"))?;
    let output = project.build(BuildOptions::to("spanish.apkg"))?;
    println!("{}", output.artifact().path().display());
    Ok(())
}
```

```sh
cargo run
```

程序写出持久保存的 `spanish.apkg`。在 Anki 中打开并导入后，可在 **Spanish** 牌组中学习 **hola → hello**。导出不需要安装 Anki。

命名空间 `spanish` 和稳定键 `es:hola` 在之后的内容修改中标识这条笔记。也可以[下载本站 Basic 示例](https://ankiforge.dev/generated/spanish.apkg)。

## 继续学习

[JSON 到 Anki 示例](https://ankiforge.dev/zh-cn/docs/json-to-anki/#rust)提供完整的媒体与更新任务。

添加[图片与音频](https://ankiforge.dev/zh-cn/docs/media/)、[自定义笔记类型](https://ankiforge.dev/zh-cn/docs/custom-notetypes/)或[图片遮挡](https://ankiforge.dev/zh-cn/docs/image-occlusion/)。[比较并发布更新](https://ankiforge.dev/zh-cn/docs/updates/)前，请保留原始分发 APKG。详情见 [Rust API](https://ankiforge.dev/zh-cn/docs/rust-api/)和[已验证环境](https://ankiforge.dev/zh-cn/docs/compatibility/)。
