Crates.io | carddown |
lib.rs | carddown |
version | 0.1.9 |
source | src |
created_at | 2024-04-21 16:25:07.505291 |
updated_at | 2024-11-17 11:44:57.550048 |
description | A simple cli tool to keep track of (and study) flashcards in text files |
homepage | https://github.com/martintrojer/carddown |
repository | https://github.com/martintrojer/carddown |
max_upload_size | |
id | 1215497 |
size | 247,170 |
CARDDOWN is a simple cli tool to keep track of (and study) flashcards in text files.
cargo install carddown
CARDDOWN has 3 commands:
Audit and Revise mode use a terminal UI, with help prompts to describe key bindings.
When you launch a revise session, you will be presented with all flashcards that are due to be revised.
The main flow for each card is as follows:
Try to remember the hidden response to the prompt (or remember the prompt given the response if reversed probability is set).
Press the space-key to reveal the correct response.
Grade the quality of your recall from 0 to 5;
Quality | Grade |
---|---|
Perfect | 5 |
Correct With Hesitation | 4 |
Correct With Difficulty | 3 |
Incorrect But Easy To Recall | 2 |
Incorrect But Remembered | 1 |
Incorrect And Forgotten | 0 |
Qualities of 0, 1 and 2 are considered a failure and will reset the card to the beginning of the learning queue.
The following flags are used to configure the revise session:
Start a flashcard review session
Usage: carddown revise [OPTIONS]
Options:
--maximum-cards-per-session <MAXIMUM_CARDS_PER_SESSION>
Limit the number of cards to review in this session [default: 30]
--maximum-duration-of-session <MAXIMUM_DURATION_OF_SESSION>
Maximum length of review session in minutes [default: 20]
--leech-failure-threshold <LEECH_FAILURE_THRESHOLD>
Number of failures before a card is marked as a leech [default: 15]
--leech-method <LEECH_METHOD>
How to handle leech cards during review: skip - Skip leech cards entirely. warn - Show leech cards but display a warning [default: skip] [possible values: skip, warn]
--algorithm <ALGORITHM>
Spaced repetition algorithm to determine card intervals [default: sm5] [possible values: sm2, sm5, simple8]
--tag <TAG>
Only show cards with these tags (shows all cards if no tags specified)
--include-orphans
Include cards whose source files no longer exist
--reverse-probability <REVERSE_PROBABILITY>
Chance to swap question/answer (0.0 = never, 1.0 = always) [default: 0]
--cram
Enable review of all cards not seen in --cram-hours, ignoring intervals Note: Reviews in cram mode don't affect card statistics
--cram-hours <CRAM_HOURS>
Hours since last review for cards to include in cram mode [default: 12]
You can scan your source files as many times 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-data as long as the prompt/response or tags haven't changed.
Arguments:
<PATH> Path to file or folder to scan
Options:
--file-types <FILE_TYPES> File types to parse [default: md txt org]
--full Full scan (default incremental), can generate orphansUsage: carddown scan [OPTIONS]
If --full
flag is not set (default), CARDDOWN will do an incremental scan which will not generate orphan cards.
In audit mode, you can review your orphan and leech cards. Orphan cards can be removed from the CARDDOWN database in the audit view, but leeches have to be fixed in the source files.
CARDDOWN supports single and multi-line flashcards. These flashcards can be anywhere in your markdown/text files.
A single-line flashcards has this form:
PROMPT : RESPONSE 🧠#tag1 #tag2
PROMPT : RESPONSE #flashcard #tag1 #tag2
Who was the first president of the USA? : George Washington ðŸ§
Note that you can use "🧠" or "#flashcard" interchangeably to mark a flashcard.
A multi-line flashcard has this form:
PROMPT #flashcard #tag1 #tag2
RESPONSE LINE 1
RESPONSE LINE 2
- - -
The following markers are valid to terminate a multi-line flashcard:
- - -
---
* * *
***
See test.md for an example of how to write flashcards.