Sfeed: simple RSS and Atom parser

Last modification on

Sfeed is a RSS and Atom parser (and some format programs).

It converts RSS or Atom feeds from XML to a TAB-separated file. There are formatting programs included to convert this TAB-separated format to various other formats. There are also some programs and scripts included to import and export OPML and to fetch, filter, merge and order feed items.

For the most (up-to-date) information see the README file.

Clone

git clone git://git.codemadness.org/sfeed

Download releases

Releases are available at: https://codemadness.org/releases/sfeed/.

NOTE: releases for sfeed can be seen as periodic snapshots. I recommend to use the git version.

Build and install

$ make
# make install

Screenshot and examples

Screenshot of sfeed piped to sfeed_plain using dmenu in vertical-list mode

The above screenshot uses the sfeed_plain format program with dmenu. This program outputs the feed items in a compact way per line as plain-text to stdout. The dmenu program reads these lines from stdin and displays them as a X11 list menu. When an item is selected in dmenu it prints this item to stdout. A simple written script can then filter for the url in this output and do some action, like opening it in some browser or open a podcast in your music player.

For example:

#!/bin/sh
url=$(sfeed_plain "$HOME/.sfeed/feeds/"* | dmenu -l 35 -i | \
	sed -n 's@^.* \([a-zA-Z]*://\)\(.*\)$@\1\2@p')
test -n "${url}" && $BROWSER "${url}"

However this is just one way to format and interact with feed items. See also the README for other practical examples.

Below are some examples of output that are supported by the included format programs:

For a separate curses UI front-end, see also sfeed_curses.