Newscanoe aims to be a minimal reimplementation of the glorious newsboat:
- for UNIX systems and terminal emulators supporting standard VT100 escape sequences (i.e. xterm-derived)
- written in Go but rigorously nonglamorous (i.e. vim-like)
- meant to be lighter and easier to build from source and to distribute.
A tool for all of you information junkies, as simple as you always secretly desired, to organize the internet and make sense of the web.
A plain text file (named as config
) is used to configure the app: it consists of a list of feed urls with a name preceded by a pound sign (#
) (see the example file in this repo) and it is located in the directory $XDG_CONFIG_HOME/newscanoe
(or $HOME/.config/newscanoe
).
If such file does not already exist, it will be created at the first execution of the app and you will be prompted to manually insert a url by typing a
.
You can then edit such file with any text editor (vi
is the default, unless EDITOR
environment variable is set) by running: newscanoe -e
.
Once loaded, feeds are cached in the directory $XDG_CACHE_HOME/newscanoe
(or $HOME/.cache/newscanoe
). The cache can be cleaned up by running newscanoe -c
Supported key bindings:
r
, load/reload the currently selected feedR
, load/reload all the feedsq
, quit the appBACKSPACE
, go back to previous sectionENTER
, go into the currently highlighted elementl
, open an article withlynx
(if installed in the system)o
, open an article with the default (according to xdg-settings) browser for the user's desktop environment^
,v
, move the cursor to the previous/next rowPage Up
,Page Down
, move the cursor to the previous/next pagea
, insert a new feed url by typing it letter-by-letter or pasting it with CTRL+SHIFT+v
Build from source:
:~$ git clone https://github.com/giulianopz/newscanoe.git
:~$ cd newscanoe
:~/newscanoe$ go generate ./... && go build
:~/newscanoe$ cp ./newscanoe /usr/local/bin
Or download the latest pre-compiled binary from GitHub and then install it into your PATH.
Much of the wizardry used to control the terminal was inspired by the well-written tutorial Build Your Own Text Editor by Paige Ruten, which explains in depth the source code of kilo, the infamous small text editor conceived by Salvatore Sanfilippo aka antirez.