hackernews_tui is a Terminal UI to browse Hacker News with vim-like key bindings.
hackernews_tui is written in Rust with the help of Cursive TUI library. It uses HN Algolia search APIs to get Hacker News data.
The application mainly consists of the following views:
Story Viewdisplaying a list of stories. There are different kinds ofStory Viewdepending on thetagit uses to filter stories:Front Page: stories on the front-pageAll Stories: all storiesAsk HN: ask HN stories onlyShow HN: show HN stories onlyJobs: jobs stories only
Comment Viewdisplaying a list of comments in a story.Serrch Viewdisplaying a search bar and a list of stories matching the search query.
If you are either
- a Hacker News reader
- a computer nerd who likes doing things on terminal
- a vim key-bindings fan boy
- a person who prefers navigating using keyboard to using mouse
This application is a right tool for you 💪
Install the latest version from crates.io
Run cargo install hackernews_tui to install the application as a binary.
Run
# git clone https://github.com/aome510/hackernews-TUI.git
# cd hackernews-TUI
# cargo build --releaseto build the application then run
# ./target/release/hackernews_tuito run the application
Run yay -S hackernews_tui to install the application as an AUR package.
# pkgin install hackernews-tui$ cd /usr/pkgsrc/www/hackernews-tui
# make installA quick demo video made from hackernews_tui version v0.5.0:

In each View, press ?/<ctrl-h>/<alt-h> to see a list of supported keyboard shortcuts and their functionalities:
?/<ctrl-h>/<alt-h>: Open the help dialog<ctrl-q>/<alt-q>: Quit the application<ctrl-p>/<alt-p>: Go to the previous view<ctrl-f>/<alt-f>: Go to front page view<ctrl-s>/<alt-s>: Go to search view<ctrl-z>/<alt-z>: Go to all stories view<ctrl-x>/<alt-x>: Go to ask HN view<ctrl-c>/<alt-c>: Go to show HN view<ctrl-v>/<alt-v>: Go to jobs view
j: Focus the next storyk: Focus the previous storyt: Focus the story at the topb: Focus the story at the bottom{story_id} g: Focus the {story_id}-th story<enter>: Go the comment view associated with the focused storyO: Open in browser the link associated with the focused storyS: Open in browser the focused storyn: Go to the next pagep: Go the previous paged: Toggle sort by date/popularityq: Filter stories past 24 hoursw: Filter stories past weeke: Filter stories past monthr: Filter stories past year
j: Focus the next commentk: Focus the previous commentn: Focus the next top level commentp: Focus the previous top level commentl: Focus the next comment with smaller or equal levelh: Focus the previous comment with smaller or equal levelt: Focus the comment at the topb: Focus the comment at the bottomr: Reload the comment view.O: Open in browser the link associated with the discussed storyS: Open in browser the discussed storyC: Open in browser the focused comment{link_id} f: Open in browser the {link_id}-th link in the focused comment
In SearchView, there are two modes: Navigation and Search. The default mode is Search.
Search mode is similar to Vim's Insert mode, in which users can input the query string.
Navigation mode allows the SearchView to behave like a StoryView with all StoryView shortcuts enabled.
Key shortcuts:
i: EnterSearchmode fromNavigationmode<esc>: EnterNavigationmode fromSearchmode
Navigation mode also supports all StoryView's key shortcuts beside q,w,e,r.
By default, the application will look for ~/.config/hn-tui.toml as its configuration file.
You can specify the path by specifying the -c or --config argument when running the application:
hackernews_tui -c ~/.config/hn-tui.tomlFor the further information about the config options, please refer to the example config file by running hackernews_tui --example-config.
Note: all config options (as included in the example config file) are required. You can run
hackernews_tui --example-config > ~/.config/hn-tui.tomlthen modify the config options in ~/.config/hn-tui.toml based on your preferences.




