#ratatui #learning #japanese #tui

app kanash

Learn Hiragana and Katakana in a terminal !

3 releases

new 0.1.2 Apr 18, 2025
0.1.1 Apr 16, 2025
0.1.0 Apr 16, 2025

#321 in Machine learning

Download history 211/week @ 2025-04-11

211 downloads per month

MIT license

1.5MB
741 lines

kanash

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

demo

Note

I'm pausing the ssh server part because I found a way to expose my TUI through http with gotty

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 :

docker run --rm -p "80:7681" blximages/kanash

To run it directly in your terminal

docker run --rm -it --entrypoint=/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
  • look at https://github.com/arthepsy/ssh-audit (see the first note)

Dependencies

~16–27MB
~348K SLoC