Newsraft
Newsraft is a ncurses feed reader inspired by Newsboat while seeking to be its lightweight alternative. It supports RSS 2.0 and lower, Atom 1.0, RSS Content Module, Media RSS, DublinCore 1.1 Elements, and JSON Feed.
Installation
Install the newsraftAUR package.
Configuration
Configuration of newsraft is optional, used only to change default settings or add functionality. This is accomplished via entries in ~/.config/newsraft/config
, including reader and color settings, and key bindings for both built in actions bind key action
and shell commands bind key exec command
, including options for opening links in designated programs. Multiple commands can be associated with a single binding by separating them with semicolons:
~/.config/newsraft/config
bind f exec feh "%l" bind key action1; exec command1; action2; exec command2
Default key bindings can be disabled if undesired or for repurposing with unbind key
. Finally, like the feeds file, the # symbol designates comment lines and will be ignored by newsraft.
Example configuration
~/.config/newsraft/config
# Colors set color-list-item-fg red set color-list-item-unread-fg white # Settings set send-user-agent-header false # Key bindings bind d mark-read unbind D bind m exec mpv "%l"
A full listing of available actions, settings, and defaults is available in newsraft(1).
Usage
Newsraft needs a feeds file created before it can be launched. The default feed file location and name is ~/.config/newsraft/feeds
. Once this is populated with links to feeds, start newsraft with the command:
$ newsraft
Managing feeds
The feeds file can contain three types of lines. The first is the feed URL, which can be added with a text editor one feed per line:
~/.config/newsraft/feeds
https://example.org/feed.xml "Lorem Ipsum Blog"
Only the URL is strictly necessary. Newsraft will attempt to name the feed based on information provided by the feed. If an alternate name is desired, this can be supplied by adding the title in enclosed double quotes separated from the URL by at least one white space.
Section headers are the next type of line, which start with the @ symbol, at least one white space, and then the section name:
~/.config/newsraft/feeds
@ Section Header
The final type of entry in the feeds file are comments, which start with the # symbol:
~/.config/newsraft/feeds
# this line is completely ignored by newsraft
Both feed URLs and section headers can set auto update frequency, with individual feed frequencies overriding sectional frequencies. The period is specified by a number minutes enclosed by square brackets:
~/.config/newsraft/feeds
@ Section Header [120] https://example.org/feed2.xml "Lorem Ipsum Blog" [60] https://example.org/feed3.xml https://example.org/feed4.xml [0]
Specifying [0]
will disable automatic updates and global feed updates can be specified by using the Global
section header. In the above example, all feeds under Section Header
are automatically updated every two hours, except feed2, which is updated every hour, and feed4, which is never automatically updated.
Basic default commands
While all of these key bindings can be modified via newsraft's config file, here are the basic default key bindings and their commands:
Command | Description |
---|---|
j - select-next
|
move selection down to next menu item |
k - select-prev
|
move selection up to previous menu item |
l - enter
|
open selected menu item |
h - quit
|
close selected menu item, return to previous menu. If currently in top menu, quit newsraft |
d - mark-read; jump-to-next
|
mark selection read and move to next menu item |
D - mark-unread; jump-to-next
|
mark selection unread and move to next menu item |
^D - mark-read-all
|
mark all menu items read |
o - open-in-browser
|
open selection in browser. If no number precedes 'o', opens first selection |
r - reload
|
manually update selected feed |
^R - reload-all
|
manually update all feeds |