examples | ||
extra/completions | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
readme.md |
flashy
flashy
is a (terminal-based) flash card review program based on the method
I've used for my first two years of University.
Usage
Starting
The program takes three types of arguments:
- Filenames to read questions from (can be multiple).
- Status filters (comma-separated and preceded by
--status
). --no-write-on-quit
(it does what you think it does).
When using all markdown documents in a directory, I personally use fd
(e.g,
fd -e md -X flashy --status terrible,bad {}
).
Navigating
Key | Action |
---|---|
j |
Next card. |
k |
Previous card. |
(space) |
Switch between question and answer. |
w |
Write all cards to their respective files. |
a |
Change card status to "terrible". |
s |
Change card status to "bad". |
d |
Change card status to "fine". |
f |
Change card status to "good". |
The card status (terrible/bad/fine/good) indicates how confident you are with the answer. I recommend the following system:
- terrible: drawing a total blank
- bad: unable to recall the correct answer
- fine: able to recall the correct answer after some thought
- good: able to recall the correct answer immediately
Don't forget to occasionally go through your "good" cards and demote them if necessary!
Question List Format
Question lists are a series of questions and answers.
Questions are written as HTML comments (e.g., <!-- What's the square root of 169? -->
) and function as separators between answers.
Card status is recorded after the question but within the comment (e.g., <!-- What's the square root of 169? FINE -->
).
Don't worry about adding these manually, as "terrible" is the default state and will be written upon pressing w
.
See an example.
Installation
The program can be built with cargo build --release
or nix build
.