An open API service indexing awesome lists of open source software.

https://github.com/bensadeh/circumflex

๐ŸŒฟ It's Hacker News in your terminal
https://github.com/bensadeh/circumflex

cli client command-line console hacker hacker-news hackernews news reader terminal tui ycombinator

Last synced: 4 days ago
JSON representation

๐ŸŒฟ It's Hacker News in your terminal

Awesome Lists containing this project

README

          


circumflex

#


circumflex is a command line tool for browsing Hackerย News in your terminal


Main view

### Main features

- ๐Ÿ›‹ **Everything in one place** โ€” read both the comment section and articles in Reader Mode
- ๐ŸŒˆ **Syntax highlighting** โ€” syntax-aware formatting for comments and headlines
- โšก๏ธ **Vim-style navigation** โ€” scroll through, jump between and collapse threads with familiar keybindings

**You might also like:**

- ๐Ÿคน **Native terminal colors** โ€” you bring your own color scheme, `circumflex` does the rest
- ๐Ÿ’Ž **Nerd Fonts** โ€” full support for Nerd Fonts as icons
- โค๏ธ **Add to favorites** โ€” save interesting submissions for later

## Installing

The binary name for `circumflex` is `clx`.

```console
# Homebrew
brew install circumflex

# Nix
nix-shell -p circumflex

# AUR
yay -S circumflex

# Go
go install github.com/bensadeh/circumflex/cmd/clx@latest

# From source
go run ./cmd/clx
```

## Features

### Categories

Switch between categories with Tab. The header shows `top`, `best`, `ask`, `show` and `favorites` by
default. Pick which ones appear (and in what order) with the `--categories` flag:

```console
clx --categories top,new,best
```

Available categories are `top`, `best`, `new`, `ask`, `show` and `favorites`.

### Comment section

Press Enter to view the comment section.

The comment section has two modes: `read mode` and `navigate mode`.

In `read mode`, you can scroll using the usual vim bindings. You can also jump between top-level
comments (n/N), and you can expand and collapse threads by quote level
(h/l) or all at once (Enter).

In `navigate mode`, you can individually select comments and collapse specific threads. This is useful in longer threads
with many replies.


comment section

`circumflex` is read-only and does not support logging in, voting or commenting.

### Reader Mode

Press Space to read the linked article in Reader Mode. Just like in the comment section, you can jump between
headers using n/N, and you can scroll using the usual vim bindings.


reader mode

### Favorites

Press f to add the highlighted submission to your favorites. Remove it with x.

You can also add a submission by `ID` from the command line:

```console
clx add [id]
```

Favorites are stored in `~/.config/circumflex/favorites.json` and pretty-printed to be human-readable and VCS-friendly.

### History

Visited submissions are marked as read, and comments added since your last visit are highlighted.

History is stored in `~/.cache/circumflex/history.json`. Disable tracking with `-d`/`--disable-history`, or clear it
with:

```console
clx clear
```

### Theme

`circumflex` uses your terminal's color scheme by default. To customize, write out the default config and edit it:

```console
clx default-theme
```

The theme lives at `~/.config/circumflex/theme.toml` and accepts named colors, hex codes, and ANSI 256 values.

## Keymaps

Main view keybindings โ€” press i in any view for the full list, including comment and reader mode.

| Key | Action |
|:-----------------|:-------------------------|
| Enter | View comments |
| Space | Reader Mode |
| Tab | Next category |
| r | Refresh stories |
| o | Open story in browser |
| c | Open comments in browser |
| f | Add to favorites |
| x | Remove from favorites |
| u | Toggle read |
| q | Quit |

## Usage

Run `clx help` or `man clx` for a full list of available commands and flags.