3 releases

new 0.1.4 May 4, 2025
0.1.2 Apr 18, 2025
0.1.1 Apr 16, 2025
0.1.0 Apr 16, 2025

#33 in Internationalization (i18n)

Download history 411/week @ 2025-04-16 32/week @ 2025-04-23 129/week @ 2025-04-30

572 downloads per month

MIT license

1.5MB
914 lines

kanash

Learn Kana in a terminal ! See https://kana.rezoleo.fr for a demo.

demo

If your goal is to learn Japanese, you should take a look at Awesome-Japanese first.

[!NOTE] I'm pausing the ssh server part because I found a way to expose my TUI through http with ttyd

Usage

From the binary in the release

chmod +x kanash
./kanash

[!NOTE] Only work on x86_64 for now

With cargo

cargo install kanash

From docker image

To expose it as a website :

[!TIP] replace ./assets with a directory containing jpg and png

docker run --rm -v ./assets:/home/assets -p "80:7681" blximages/kanash

To run it directly in your terminal

docker run --rm -v ./assets:/home/assets -it --entrypoint=/usr/bin/kanash blximages/kanash

TODO

  • Rust build and test CI
  • Use ttyd instead of gotty
  • enum for color palette
  • Add a parameter to the creation of a Kana Page (to know wheter to show hira kata or both, based on the selection in the Home Page)
  • Refactor the app.rs using the Elm architecture
    • move japanese helper function to another file
    • isolate the kana ui into one component
  • look at rust multithreading and tokio (Only using event::poll(Duration::from_millis(10)).unwrap() in handle_event in order not to block the rendering)
  • Better UI for Kana
    • tui-rain
  • splash screen
  • add a list of unused hiragana you don't want to show
  • look at how to do test with ratatui
  • take a look at ratzilla and wasm
  • make a login page in order to display statistic to users
  • look at https://github.com/arthepsy/ssh-audit (see the first note)

Contribute

Advices and PRs are very much apreciated

Acknowledgments

Also take a look at all the dependencies in Cargo.toml

Dependencies

~18–30MB
~432K SLoC