Crablit is still in beta, functionality is not tested thoroughly.
- open-source, MIT licensed
- Cross-platform: works on Windows, MacOS, but with GNU/Linux 1st philosophy.
- Fast: initialization of 20000000 cards (574MB) takes about 5s with a maximum of 2.4GB RAM usage.
- readline like editing.
- Written answers.
- Easy deck making, in your favourite editor:
- Simple
.txt
,.csv
or.tsv
file. - Card:
<term><delimiter><definition>
. eg:"to learn;lernen"
. - File of Cards with the same delimiter in every line.
- Supported delimiters are:
';', '|', ' '(tab), '=', ':'
. - Lines starting with
#
are considered to be comments. - Extra newlines, indent cause no problem.
- Extra spaces around delimiter cause no problem, such as:
hooray | booyah!
. - For instance:
- Simple
# example file that can be parsed by crablit
# special soup!
soup | Suppe
fast | schnell
alpaca | das Alpaka
proud | stolz
# I don't know what to write next. | Ich weiß nicht was...
to pour | gießen
- Verb-learning: if you need to learn lots of verbforms, you could do:
# [crablit]
# delim = ';'
# Verben Tabelle von DaF leicht 1,2
# it's hungarian but that really doesn't matter
# INFINI ; DRITTE, PRÄTER, PERFEKT, MEANING
atmen ; atmet, atmete, h. geatmet, to breathe
baden ; badet, badete, h. gebadet, to have a bath
bauen ; baut, baute, h. gebaut, to build
...
- Easiest, recommended: Go to releases page and see instructions built by cargo-dist.
or:
- Install Rust, in case you don't have it.
- Open a terminal and do one of the following install methods:
- From crates.io:
cargo install crablit --locked
- Download source from github:
# if on windows: curl.exe
curl -L "https://github.com/JeromeSchmied/crablit/archive/main.tar.gz" | tar -xzf -
# go to the directory where it's been cloned
cd crablit-main
# install it
cargo install --path .
- Or you may download source with git:
# once you have git, clone the repo to have it locally
git clone --depth=1 https://github.com/JeromeSchmied/crablit.git
# go to the directory where it's been cloned
cd crablit
# install it
cargo install --path .
- Run
crablit --help
to see help. - Type the definition of the questioned word/phrase.
- To see hint:
:help
,:hint
or:h
. - If you mistyped it, type:
:typo
. - To skip:
:skip
. - To quit:
quit
orexit
or:q
. - To save progress:
:w
or:write
or:save
, to continue, you can open the file just like before. It's not yet stable on Windows. - To save, then quit:
:wq
. - To go to the ones not guessed correctly and ignore the other ones:
:revise
. - To see flashcard-like stuff:
:f
or:flash
. Yet untested. - To check status of current iteration:
:n
,:num
or:togo
. - To edit previously typed guess, press arrow-up. Doesn't always work.
- If
NO_COLOR=1
, coloring is disabled, thanks to owo-colors.
- See images for more!
- It takes a source text file with deck of cards: .tsv, .csv or .txt. See examples.
- Stores them in a vector.
- Asks them until you know all well: guessed 4 times correctly.
- I'm only learning Rust at the moment, so code quality might not be outstanding.
- TUI, GUI, Website are coming, but it takes time.
- Any bugs, questions, feature requests shall be reported to github, or by email.
- To help with development, see todos.
- speki: pretty great, but only flashcards, huge download size, tui, rust, unmaintained?
- flashed: nice, but json input, really?, tui, rust, unmaintained?
- vocage: only flashcards, tui, rust, unmaintained?
- flcard: only flashcards, very simple, rust, unmaintained?
- fla.sh: only flashcards, bash
- hascard: only flashcards, haskell
- oxycards: very great, tui, rust, unmaintained?
- exhaust: I couldn't get it to work, rust, unmaintained?