- 将英文电子书中的单词提取出来,然后通过树莓派、闲置的电脑、NAS等有屏幕的设备,利用路过屏幕的碎片时间背单词。
- 2018-10-20 添加释义缓出功能
- 2018-09-09 单词释义按照屏幕尺寸设置最小字体尺寸,当释义太长时多行显示
- 2018-08-30 生成卡片时添加忽略过往单词以及不覆盖已有卡片的选项
- 2018-08-23 用vue重构前端,添加快捷键功能
- 从文本文件中提取出单词表,并利用词典查询得到单词卡片
- 提供单词卡片的服务端
- 自适应屏幕尺寸的网页端
- 单词收藏、忽略功能
- 网页端更换单词来源、配置的功能
- 配色及主题更改功能
- 基于 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
中可修改这些文件以及词典数据库的读取路径