Table of Contents

Elfeed layer

Table of ContentsClose


1 Description

This layer enables Elfeed, a web feeds client which supports both Atom and RSS feeds. It'll optionally enable supporting packages, such as elfeed-web and elfeed-org.

2 Install

2.1 Layer

To use this configuration layer, add it to your ~/.spacemacs. You will need to add elfeed to the existing dotspacemacs-configuration-layers list in this file.

By default, elfeed stores its database under ~/.elfeed.

2.2 Setup feeds

2.2.1 With Org

It is recommended to manage your feeds list and tags via org files, this is possible thanks to elfeed-org package. To define a list of org files:

(elfeed :variables rmh-elfeed-org-files (list "~/.emacs.d/private/"

Checkout elfeed-org documentation to see the format of that file.

Here is an example of such a file (note the usage of org tags to tag your feeds)

2.2.2 Manually

To explicitly setup the list of feeds, set the value of elfeed-feeds variable in your .spacemacs file.

(elfeed :variables
   elfeed-feeds '(("" blog emacs)
                  ""  ; no autotagging
                  ("" webcomic)))

Check documentation for elfeed-feeds for more information about this variable (SPC h d v elfeed-feeds RET).

2.3 Server

Elfeed comes with a simple web interface to browse its database. You can manually start it by calling elfeed-web-start or by setting elfeed-enable-web-interface to t which will start the web automatically when Emacs starts.

(elfeed :variables elfeed-enable-web-interface t)

By default web interface is available on localhost:8080/elfeed. You can change the default port by changing the value of httpd-port.

3 Key Bindings

Key Binding Description
SPC a f start elfeed

Use SPC ? to discover major-mode key bindings.

Key Binding Description
c compact feed db
gr update all the feeds
gR force refresh view of the feed listing
gu unjam elfeed if it is slow due to slow connection
o load OPML
q quit main window, or item view buffer.
w start web server
W stop web server

In elfeed-show mode, you can use the following bindings:

Key Binding Description
q quit show window
C-j Next entry
C-k Previous entry

4 Troubleshooting

4.1 Database empty at first start

Be sure that you added some feeds first then load your feeds with gr in evilified buffer. Or M-x elfeed-update.

4.2 Queue timeout exceeded

If you are getting "Queue timeout exceeded" errors, try increasing the value of url-queue-timeout.

(elfeed :variables url-queue-timeout 30)

Author: Sylvain Benner

Created: 2016-10-03 Mon 00:55