circumflex is a command line tool for browsing Hacker News in your terminal
🛋Everything in one place — read both the comment section and articles in Reader Mode
🌈Syntax highlighting — syntax-aware formatting for comments and headlines
⚡️Familiar tools — content is piped to the pager
You might also like:
🤹Native terminal colors — you bring your own color scheme,
circumflexdoes the rest
🛠Easy customization — quickly enable or disable features
❤️Add to favorites — save interesting submissions for later
Table of Contents
circumflex is available as a Tap.
# Install brew install bensadeh/circumflex/circumflex # Run clx
You can also build
circumflex from source:
# Run go run main.go
Press ?/i to show a list of available keymaps:
Enter: Read comments Space: Read article in Reader Mode r: Refresh Tab: Change category o: Open link to article in browser c: Open comment section in browser f: Add to favorites x: Remove from favorites q: Quit
Press Enter to read the comment section.
Comments are pretty-printed and piped to the pager
less. To present a nice and readable comment section,
- Text formatting in bold, italics and
- Labels for Original Posters (
OP), Parent Posters (
PP) and moderators (
- Adjustable margins and comment width
The following pair of shortcuts are recommended for browsing and navigating the comment section.
- d/u to scroll half a screen
- j/k to scroll one line at a time
- n/N to jump to the next top-level comment
Press Space to read the submission link in Reader Mode.
Note: some websites do not work well with Reader Mode. If the submission URL points to a domain with known Reader Mode incompatibility, the link cannot be opened in Reader Mode. See validator.go for a full list of incompatible sites.
Quotes are indented, italicized and dimmed in order to distinguish them from the rest of the comment.
Hacker News and forum idiosyncrasies
URLs are highlighted.
References on Hacker News are formatted as numbers inside brackets.
circumflex highlights these numbers for easier cross-referencing.
Headlines containing the text
Show HN and
Launch HN are highlighted.
Twice a year, Y Combinator funds start-ups through its accelerator program.
circumflex highlights these startups to signalize their affiliation with YC.
Mark submissions as read
Visited submissions are marked as read.
A list of submissions (by
ID) are stored in
~/.cache/circumflex/history.json. Disable marking submissions as read by running
clx with the
You can delete your browsing history from the command line:
Press f to add the currently highlighted submission to your list of favorites. Remove submissions from the Favorites page with x.
You can add any submission by its
ID from the command line:
clx add [id]
Favorites are stored in
favorites.json to make it both human-readable and VCS-friendly.
Low contrast headers
Some terminals brighten text in bold in order to give them stronger contrast in dark color schemes.
circumflex uses bold text to give headers and authors names additional contrast for better legibility.
See example screenshots below (low contrast header) of terminal output which does not brighten bold fonts.
Below are a few examples on how to enable bold text in bright colors in different terminals.
bright_foregroundand set it to a brighter value than
- (See alacritty/alacritty/pull/1026 for more info)
Use bright colors for bold textunder Profiles
Brighten bold textunder Profiles → Colors
Classic Hacker News header
You can enable the classic Hacker News header with the
clx help for a list of available commands and settings.
A table of available flags is provided below:
||Set the comment width|
||Disable syntax highlighting for the headlines|
||Disable syntax highlighting in the comment section.|
||Disable conversion of smileys (
||Disable marking submissions as read|
||Show each line with a number relative to the currently selected element (similar to Vim's hybrid line number mode)|
||Hide the indentation symbol from the comment section (does not affect quotes)|
||Set the header to orange|
Under the hood
- tcell and cview for the TUI
- cobra and viper for the CLI
- cheeaun's unofficial Hacker News API for providing submissions and comments
lessfor viewing comments and articles
- go-term-text for text formatting
- go-readability and html-to-markdown for providing articles in Reader Mode
- iTerm2 for the terminal
- Palenight Theme for the color scheme
- JetBrains Mono for the font