Install
openclaw skills install @51comic/vocab-cards-lite专业英语词汇闪卡生成器(精简版,包体仅68KB)。将「英文单词」批量生成「单词卡」「英文闪卡」「单词闪卡」: 从 JSON 单词数据一键生成黑白打印优化的主卡/副卡/百度百科二维码 PNG。 仅内置 IPA 音标裁剪字体,中英文使用系统字体(NotoSansCJK + DejaVu)。 触发场景:当用户提到「单词卡」「英文单词」「英文闪卡」「单词闪卡」「闪卡」「词汇卡」「flashcard」「vocab cards」 「背单词卡片」「打印单词卡」「批量生成单词卡」「英语卡片」「词卡 PNG」时使用。 适用于把单词表(含音标/词性/释义/搭配/例句/文化背景)批量转成可打印卡片图片的场景。 English: Generate printable black-and-white English vocabulary flashcard PNG images from JSON word lists, including main cards, optional side cards, and optional Baidu Baike QR-code cards, with a bundled IPA font plus system CJK and DejaVu fonts for clean multilingual rendering.
openclaw skills install @51comic/vocab-cards-lite从 JSON 单词数据生成黑白打印优化的专业英语闪卡 PNG。主卡 + 副卡 + 百度百科二维码三件套,包体仅 68KB(仅内置 IPA 音标裁剪字体,中英文使用系统字体)。
当用户表达以下意图时使用本技能(匹配 description 中的触发关键词):
以下情况不要使用本技能,改用更合适的工具:
word 必填,缺失字段自动补默认值并打印中文提示,不再 KeyErrornew_zealand.png);纯中文词条自动 hash 命名(v2.0)Python 库(pillow / fonttools / qrcode[pil])需安装;系统需有 NotoSansCJK(中文)和 DejaVu(英文)字体。
bash scripts/setup.sh
自动:安装三个 Python 库(venv/系统 Python 自适应)→ 校验包内 IPA 字体 → 检测系统字体(缺失时给出中文安装指引)→ 验证可导入。
| 字体 | 来源 | 用途 |
|---|---|---|
| DejaVuSans.ttf / DejaVuSans-Bold.ttf | 包内自带(68KB,裁剪版,仅 IPA 字符) | IPA 音标 |
| NotoSansCJK (.ttc) | 系统字体(需自行安装) | 中文/CJK |
| DejaVuSans (.ttf) | 系统字体 | 英文/ASCII |
包体仅 68KB 的代价:中文/英文依赖系统字体。
setup.sh会检测并给出安装命令(如sudo apt install fonts-noto-cjk fonts-dejavu)。如需开箱即用覆盖任意生僻汉字,改用完整版vocab-cards-pro(约 40MB)。
顶层为数组;只有 word 是必填的,其余字段缺失时自动按空值处理并打印 HINT 提示。
[
{
"word": "New Zealand",
"ipa_uk": "njuː ˈziːlənd",
"ipa_us": "nuː ˈziːlənd",
"pos": "n.",
"level": "C1",
"cn": "新西兰",
"en": "An island country in the southwestern Pacific Ocean.",
"coll": ["New Zealanders", "North Island", "Maori culture"],
"examples": [["I visited New Zealand last summer.", "我去年夏天去了新西兰。"]],
"note": "位于南太平洋的岛国,毛利文化是其独特标识。",
"baike_url": "https://baike.baidu.com/item/新西兰",
"side": {
"category": "Geography",
"info": "毛利语 Aotearoa,意为「长白云之乡」。",
"related": ["Auckland", "Wellington", "Kiwi"],
"expressions": ["Kia ora — 毛利语问候"],
"culture": "毛利文化与英式文化交融。",
"tip": "aotearoa → 长白云之地,记住白云即新西兰。"
}
}
]
| 字段 | 必填 | 说明 |
|---|---|---|
word | ✅ | 单词本身(英文/词组) |
ipa_uk / ipa_us | 可选 | 音标 |
pos / level | 可选 | 词性徽章 / 难度等级 |
cn / en | 可选 | 中文释义 / 英文定义 |
coll | 可选 | 固定搭配数组 |
examples | 可选 | [[英文例句, 中文翻译], ...] |
note | 可选 | 文化背景 |
baike_url | 可选 | 提供才生成 _qr.png 二维码卡 |
side | 可选 | 提供才生成 _side.png 副卡;子字段全部可选 |
python3 scripts/vocab_cards.py <input.json> [output_dir]
<input.json>:必填,上述格式的单词批数据[output_dir]:输出目录,默认当前目录快速验证(自带最小示例,可直接跑通):
python3 scripts/vocab_cards.py examples/sample.json /tmp/vocab_demo
输出示例(word="New Zealand"):
new_zealand.png — 主卡new_zealand_qr.png — 主卡 + 百度百科二维码new_zealand_side.png — 副卡(仅当条目含 side 字段)结束时打印汇总:完成: 成功 X / 失败 Y / 跳过 Z。
| 情况 | 行为 |
|---|---|
单条缺 word | 打印 SKIP: ... 跳过,不中断整批 |
| 单条生成异常 | 打印 FAIL: ...,不中断整批 |
| 全部失败/跳过 | 退出码 3(便于脚本链式判断) |
| 输入文件不存在/非法 JSON | 退出码 2 + 中文错误提示 |
| 内容超过 3200px | 打印 WARN 并截断(防爆图) |
vocab-cards-proWARN 并截断。import 模块不会因缺字体崩溃。new_zealand.png);纯中文 / 特殊字符自动 hash 命名(word_<md5前8位>.png)。baike_url 才生成 _qr.png;仅当含 side 字段才生成 _side.png。#fff / 黑字 #000 / 灰阶 #374151、#6b7280、#d1d5db,专为黑白打印校准。| 文件 | 说明 |
|---|---|
README.md | 快速上手、安装与使用说明 |
CHANGELOG.md | 版本与变更记录 |
requirements.txt | Python 依赖清单(pillow / fonttools / qrcode[pil]) |
scripts/vocab_cards.py | 主生成脚本 |
scripts/setup.sh | 依赖安装与字体校验一键脚本 |
examples/sample.json | 内置最小验证示例(3 条) |
skill-card.md | 技能卡片(发布元数据 / 风险评估) |
_meta.json | 发布元数据(owner / slug / version) |
assets/fonts/ | 包内 IPA 裁剪字体(DejaVuSans.ttf / DejaVuSans-Bold.ttf,68KB) |
references/ | 参考与设计说明集 |
详见 CHANGELOG.md。