7 releases
0.1.6 | Feb 8, 2024 |
---|---|
0.1.5 | Jan 23, 2024 |
0.1.4 | Dec 3, 2023 |
0.1.3 | Nov 12, 2023 |
#256 in Command-line interface
445KB
746 lines
Crablit: Learning app inspired by anki, quizlet and knowt, but in the terminal.
IMPORTANT!
Crablit is still in beta, functionality is not tested thoroughly.
Features
- open-source, MIT licensed
- Cross-platform: works on Windows, MacOS, but with GNU/Linux 1st philosophy.
- Fast: initialization of 20000000 cards (574MB) takes about 4.3s with a maximum of 2.4GB RAM usage.
- Written answers.
Creating files to learn
- 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
- Mode for Verb-learning: if you need to learn lots of verbforms, like:
# [crablit]
# mode = "verbs"
# delim = ' '
# Verben Tabelle von DaF leicht 1,2
# it's hungarian but that really doesn't matter
# INFINI DRITTE PRÄTER PERFEKT MEANING KOMMENT
atmen atmet atmete h. geatmet lélegzik Er hat ruhig geatmet.
baden badet badete h. gebadet fürdik Das Mädchen duscht den Hund.
bauen baut baute h. gebaut épít Haus bauen
...
Installing
- 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
- 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 .
Usage
- Run
crablit --help
to see help. - Type the definition of the questioned word/phrase.
- To see hint:
: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 edit previously typed guess, press arrow-up. Doesn't always work.
- If
NO_COLOR=1
, coloring is disabled, thanks to colored.
How it works
- 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 (currently only till you guess them right once).
Notes
- I'm only learning Rust at the moment, so code quality might not be outstanding.
- Flashcards, TUI, GUI, Website are coming, but it takes time.
- Any bugs, questions shall be reported to github, or email.
- To help with development, see todos.
Alternatives
- speki: pretty great, but only flashcards, huge download size, 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
- exhaust: I couldn't get it to work, rust, unmaintained?
Dependencies
~5–16MB
~158K SLoC