flash-cli
Flash-cli is a tool to create a flashcard deck and view it from your command line. Inspired by the simplicity and power of taskwarrior with a plugin architecture for users to extend it how they wish.
Flashcards are stored in an SQLite database
Installation
- Download the Binary
- Go to the Releases page on GitHub.
- Under the latest version, look at the Assets section.
- Download the compressed file (.tar.gz or .zip) that matches your Operating System and System Architecture:
- Mac (Apple Silicon): _Darwin_arm64
- Mac (Intel): _Darwin_x86_64
- Linux: _Linux_x86_64 or _Linux_arm64
- Windows: _Windows_x86_64
- Extract and make it executable
- Linux and macOS
- For .tar.gz files:
- tar -xvf flash-cli_*.tar.gz
- For .zip files
- Windows
- right click and select Extract All and choose a folder
- Add to your system PATH
- Linux and macOS
- move the binary to /usr/local/bin
sudo mv flash-cli /usr/local/bn
- Windows
- Move the extracted .exe to a permanent folder ie.
C:\Program Files\flash-cli
- Search
Environment Variables in the Start Menu
- Edit the
Path variable under User or System variables and addd the path to your folder
- Open a new PowerShell or Command Prompt window to use it
Usage
TODO
Default command
Note on using default command, all arguments passed will be read as filters. ie. a command like flash-cli group:foo will review all cards from the foo group. But trying to pass the review mode like flash-cli mode:shuffle will consider it as a custom filter.
If you want to pass mods to the review command either set defaults or explicitly call flash-cli review mode:shuffle
Plugin creation
Plugin data is stored in a TEXT column as json, so they need to create their own indexes like below
-- run something like this on startup to index its own nested key
CREATE INDEX IF NOT EXISTS idx_plugin1_difficulty
ON %s (json_extract(ext_data, '$.plugin1.difficulty'));