Skip to content

gunnihinn/evil-feed-reader

Repository files navigation

Evil feed reader

I’m frustrated with the RSS and atom readers available, and decided to write my own that does what I want, silly name and all.

Note that what I personally want may not at all be what you want.

Features

Very few!

You define the feeds you want to follow in a YAML config file. This file should be called evil-feed-reader.yaml, and may be placed either in the directory the executable is running in, or any of the directories listed in the XDG directory specification. It can also be given at program start with the -config command-line option.

The format the program understands is:

feeds:
- url: feed URL
  nickname: optional nickname for feed
  prefix: optional prefix for feed link URLs

Every entry needs a url value. Use nickname to pick names for feed titles you think are better than what its authors chose. Use prefix if a feed only provides relative links to its items and you know what to prefix them with to make working links.

Evil feed reader keeps no state. We currently render feeds in the browser, which is perfectly capable of remembering what links we’ve already visited, and thus what items we’ve already read.

To run

You need a Go compiler; any one should do. The project dependencies are vendored with dep. Compile and run the reader with:

$ git clone https://github.com/gunnihinn/evil-feed-reader.git
$ make      # needs GNU make
$ ./evil-feed-reader

This will launch an HTTP server on localhost:8080 that renders the latest items from the feeds you are interested in.

The program accepts these command-line options:

-port PORT      Accept HTTP connections on this port. Default 8080.
-config FILE    Feed config file to use. Defaults to XDG spec.

Profiling

We import net/http/pprof, so all of its default endpoints are available. We recommend go-torch for reviewing the results.

Evil

See EvilWM.