Packager
Packager 是一个用于将 Anki 模板源码打包为 .apkg
文件的命令行工具。
安装和使用
使用 npx 直接运行(推荐):
bash
npx @anki-eco/packager [选项]
命令行选项
-i, --input <目录>
:输入目录,包含 build.json、front.html、back.html 文件(默认为当前目录)-o, --output <目录>
:输出目录,生成的 .apkg 文件将保存在此处(默认为当前目录)--multiple
:处理输入目录下的多个子目录,每个子目录包含一个卡组
目录结构要求
单个卡组
对于单个卡组,您的目录结构应该如下:
your-deck/
├── build.json # 卡组配置文件
├── front.html # 卡片正面模板
└── back.html # 卡片背面模板
多个卡组
当使用 --multiple
选项时,目录结构应该如下:
dist/
├── deck1/
│ ├── build.json
│ ├── front.html
│ └── back.html
├── deck2/
│ ├── build.json
│ ├── front.html
│ └── back.html
└── ...
build.json 文件格式
build.json
文件是必需的配置文件,包含以下字段:
json
{
"note_type_name": "笔记类型名称",
"deck_name": "卡组名称",
"note_type_id": 1234567890,
"deck_id": 9876543210,
"fields": ["字段1", "字段2"],
"notes": [
{
"fields": {
"字段1": "内容1",
"字段2": "内容2"
}
}
]
}
字段说明
note_type_name
:笔记类型的显示名称deck_name
:卡组的显示名称(也会用作输出文件名)note_type_id
:笔记类型的唯一标识符(数字)deck_id
:卡组的唯一标识符(数字)fields
:字段名称列表,定义了笔记的字段结构notes
:笔记数组,每个笔记包含对应字段的内容
HTML 模板文件
front.html
:卡片正面的 HTML 模板back.html
:卡片背面的 HTML 模板
这些模板可以使用 Anki 的字段语法(如 )来引用 build.json 中定义的字段。
使用示例
打包单个卡组
bash
# 从当前目录打包,输出到当前目录
npx @anki-eco/packager
# 指定输入和输出目录
npx @anki-eco/packager -i ./my-deck -o ./output
打包多个卡组
bash
# 处理 dist 目录下的所有子目录
npx @anki-eco/packager -i ./dist -o ./release --multiple
成功执行后,工具会在输出目录中生成对应的 .apkg
文件,文件名为卡组名称。