Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
smokey
Comfy terminal based typing test
Installing
With cargo
cargo install smokey
Building from source
git clone https://github.com/ukmrs/smokey && cd smokey
cargo build --release
then copy target/release/smokey to a known location
Navigation
Typing Test Screen
Settings Screen
Results Screen
word lists
Smokey ships with a sizeable english word list (~60_000 words) which on linux can be found in
~/.local/share/smokey/words
Otherwise location can be found with the --storage flag.
More lists can be added to the folder. Smokey expects a list sorted by word frequency with each word separated by a newline character. Other languages are not provided but most of the time can be easily DIYed.
Suggestions/Examples for word sources
French
Grab Lexique382.zip and unzip it to find Lexique382.tsv. If you have xsv installed, here is an almost one liner to convert it to smokey-friendly format:
|
&&
The only purpose of the sed command is to delete the first line which will be "ortho" - the column name. That could be done manually but I included it for convenience.
Polish
Grab Otwarty słownik frekwencyjny leksemów pdftotext it, sort it and clean it by a short script. Godspeed mój przyjacielu.
Supported languages/scripts
Smokey should handle all simple scripts like
- latin derivatives
- cyrylic
- greek
- etc
Complex scripts that require mulitple inputs for one glyph like Hangul won't work. The same goes for right_to_left scripts.
English word list
The list contains around 60 000 words. It is derived from 1/3 million most frequent English words compiled by Peter Norvig. I filtred it using python bindings of Enchant and checked against the MauriceButler/badwords and LDNOOBW. I kept "sex" though. Otherwise it wouldn't be fair to plants who just cross-pollinate without causing too much of a ruckus. Future me here, I forgot about accursed pollen allergies, I might reconsider my stance on this.
Scripts
There is a scripts directory in which you can throw... scripts. Just chmod +x, add a shebang, slap it in there and the output will be converted to a typing test. There is an example python script shipped with smokey that produces gibberish but of course you can add whatever else. For instance, I use a script that fetches me a random quote from a local database. You can snatch some from Monkeytype or TypeRacer to name a few.
Config
You can create smokey.toml configuration file that allows to change colors or set default test settings. On linux:
~/.config/smokey/smokey.toml
Other OS:
smokey --config
Example smokey.toml
For colors you can use either hex codes or standard colors (supported names).
[]
# test colors
= "grey"
= "#96BB7C"
= "#C64756"
# settings colors
= "#93a1bf"
= "#aa78bf"
[]
# default test settings
= "english"
= ["punctuation", "numbers"]
= 20
= 60000
Run history
Runs are saved to a sqlite database, on linux you can find it here:
~/.local/share/smokey/run_history.db3
For now it is only used to fetch and compare against your record wpm. In the very near future there will be a nice way to explore the history, but I haven't implemented that yet, soz.