7 个版本
0.1.6 | 2024年4月24日 |
---|---|
0.1.5 | 2024年4月22日 |
#367 在 命令行工具
每月下载量 284
98KB
2K SLoC
CARDDOWN
CARDDOWN 是一个简单的命令行工具,用于在文本文件中跟踪(并学习)闪卡。
特性
- 扫描您的笔记以查找您想要记住的事实。
- 通过内容的哈希值跟踪闪卡,因此支持文件编辑和卡片移动。
- 提取的卡片和元数据存储在单独的文件夹中,原始文件永远不会被修改。
- 支持标签,可启用特定的学习会话。
- 支持多种 间隔重复 算法。
- 无依赖项,快速,可读的非二进制格式。
安装
cargo install carddown
使用方法
CARDDOWN 有 3 个命令
- scan: 扫描文件和文件夹以查找新或更新的闪卡。
- audit: 显示您的闪卡的统计信息,修剪孤儿或吸血卡。
- revise: 学习您的闪卡。
Audit 和 Revise 模式使用终端 UI,带有帮助提示以描述键绑定。
复习
启动复习会话时,您将看到所有即将要复习的闪卡。
每张卡片的主要流程如下
-
尝试记住提示的隐藏响应(或者根据反转概率设置,记住提示的响应)。
-
按空格键显示正确响应。
-
从 0 到 5 评分您回忆的质量;
质量 | 评分 |
---|---|
完美 | 5 |
正确但有犹豫 | 4 |
正确但有困难 | 3 |
不正确但容易回忆 | 2 |
不正确但记得 | 1 |
不正确且遗忘 | 0 |
质量为 0、1 和 2 的将被视为失败,并将卡片重置为学习队列的开始。
以下标志用于配置复习会话
Usage: carddown revise [OPTIONS]
Options:
--maximum-cards-per-session <MAXIMUM_CARDS_PER_SESSION>
[default: 30]
--maximum-duration-of-session <MAXIMUM_DURATION_OF_SESSION>
in minutes [default: 20]
--leech-failure-threshold <LEECH_FAILURE_THRESHOLD>
Threshold before a item is defined as a leech [default: 15]
--leech-method <LEECH_METHOD>
[default: skip] [possible values: skip, warn]
--algorithm <ALGORITHM>
[default: sm5] [possible values: sm2, sm5, simple8]
--tag <TAG>
Tags to filter cards, no tags matches all cards
--include-orphans
include orphaned cards
--reverse-probability <REVERSE_PROBABILITY>
Likelihood that prompt and response are swapped. 0 = never, 1 = always [default: 0]
--cram
Cram session. Revise all cards regardless of interval if they haven't been revised in the last --cram-hours. Does not effect spaced repetition stats of the cards
--cram-hours <CRAM_HOURS>
Include cards in a cram sessions that hasn't been revised in the last number of hours [default: 12]
``
### Scan
You can scan your source files as many time as you want. CARDDOWN will keep track of the cards you have already scanned and update them if you moved them around. A card will keep all its meta-date as long as the prompt/response or tags haven't changed.
参数:要扫描的文件或文件夹的路径
选项:--file-types <FILE_TYPES> 要解析的文件类型 [默认: md txt org] --full 全部扫描(默认增量扫描),可以生成孤儿
If `--full` flag is not set (default), CARDDOWN will do an incremental scan which will not generate orphan cards.
### Audit
In audit-mode you can review your orphan an leech cards. Orphan cards can be removed from the CARDDOWN database in the audit view, but leeches has to be fixed in the source files.
## Writing flashcards
CARDDOWN supports single and multi-line flashcards. These flashcards can be anywhere in your markdown/text files.
A single-line flashcards has this form:
```markdown
PROMPT : RESPONSE 🧠 #tag1 #tag2
PROMPT : RESPONSE #flashcard #tag1 #tag2
Who was the first president of the USA? : George Washington 🧠
注意,您可以使用 "🧠" 或 "#flashcard" 互相替换来标记闪卡。
多行闪卡的形式如下
PROMPT #flashcard #tag1 #tag2
RESPONSE LINE 1
RESPONSE LINE 2
- - -
以下标记可以终止多行闪卡
- - -
---
* * *
***
有关如何编写闪卡的示例,请参阅 test.md
术语
- 吸血鬼 指的是你多次未能记住的卡片。吸血鬼卡片会减缓你的学习进度,应该从牌组中剔除,拆分为多个卡片或以不同的方式书写。
- 孤儿 指的是在源文件中当前形式不存在的卡片。这通常发生在你修改或删除源文件中的卡片时。孤儿卡片可以通过审计命令进行剔除。
理由
- 我在Markdown中有很多笔记,其中一些包含我想轻松回忆的事实。
- 我想使用一个简单的命令行工具来练习这些事实,它易于使用和安装。
- 我想轻松地在笔记中标记事实(将它们转换为闪卡)。
- 我想一个Markdown文件可以包含任意数量的闪卡。
- 我经常编辑笔记,并在文件内部和文件之间移动内容。
- 我想工具能够跟踪我想要练习的卡片,即使它们移动了。
- 我想能够通过标签来限制练习的内容。
- 我想工具能够跟踪我的进度,并相应地调整练习计划。
- 我想探索不同的间隔重复算法。
致谢
依赖项
~13–23MB
~316K SLoC