WordCards
WordCards copied to clipboard
trafficstars
WordCards
- 将英文电子书中的单词提取出来,然后通过树莓派、闲置的电脑、NAS等有屏幕的设备,利用路过屏幕的碎片时间背单词。

更新日志
- 2018-10-20 添加释义缓出功能
- 2018-09-09 单词释义按照屏幕尺寸设置最小字体尺寸,当释义太长时多行显示
- 2018-08-30 生成卡片时添加忽略过往单词以及不覆盖已有卡片的选项
- 2018-08-23 用vue重构前端,添加快捷键功能
项目进度
- [x] 从文本文件中提取出单词表,并利用词典查询得到单词卡片
- [x] 提供单词卡片的服务端
- [x] 自适应屏幕尺寸的网页端
- [x] 单词收藏、忽略功能
- [ ] 网页端更换单词来源、配置的功能
- [ ] 配色及主题更改功能
- [ ] 基于 ElectronJS 的客户端
- [ ] 基于 ReactNative 的移动端
- [ ] 为树莓派客户端添加 e-ink 输出
使用说明
- 运行
npm i初始化 - 创建
data目录,从ECDICT的Release中下载sqlite词典数据库解压到此目录 - 执行
node words --src=example.txt生成单词表 - 运行
node server - 浏览器打开
localhost:3003,把设备放在一边,等待路过的时候背单词
单词生成
执行 node words --src=example.txt --level=1 --length=3 --dst=data/words.json生成目标单词表,各参数说明:
| 名称 | 说明 | 是否必须 | 默认值 | 取值范围 |
|---|---|---|---|---|
| src | 电子书文本文件路径 | 是 | 无 | 无 |
| dst | 单词表json生成路径 | 否 | data/words.json | 无 |
| level | 过滤等级,取值参考下表 | 否 | 1 | 1,2,3,4 |
| length | 长度筛选,小于此长度的单词不加入到单词表中 | 否 | 2 | 正整数 |
| ignore | 忽略已学单词,取值参考下表 | 否 | 0 | 0,1,2,3 |
| append | 是否附加到原有的词表之后而不是覆盖词表 | 否 | false | true,false |
参数level的取值:
| 值 | 说明 |
|---|---|
| 1 | 所有单词 |
| 2 | 不添加中高考、CET4单词 |
| 3 | 不添加CET6单词 |
| 4 | 不添加柯林斯3、4、5星的单词 |
参数ignore的取值:
| 值 | 说明 |
|---|---|
| 0 | 不忽略任何已学过单词 |
| 1 | 忽略已标记忽略的单词 |
| 2 | 忽略已看过的单词,但保留星标标记的 |
| 3 | 忽略已看过的所有单词 |
存档管理
存档文件默认为 data/progress.json 及 data/progress.db ,在 config.js 中可修改这些文件以及词典数据库的读取路径