In my last post I wrote about RSS/Atom and how these technologies can be used to declutter your digital life and reduce your exposure to the attention economy. Emacs (and all the amazing packages) taught me ORG mode, some basic Elispand how to be a minimalist and use just one tool for almost everything.
Staying up-to-date with current technological trends, Security advisories, blog posts from smart people (and many other things) while not having to subscribe to every single newsletter, led me to elfeed:
Elfeed is an extensible web feed reader for Emacs, supporting both Atom and RSS. - Source
Configuration
My elfeed related configuration is available in config.org.
Usually you would organize your feed entries as a list:
;; Somewhere in your .emacs file
(setq elfeed-feeds
'("http://nullprogram.com/feed/"
"https://planet.emacslife.com/atom.xml"))
I didn’t like this approach since the initial list was way to big to be managed. Then I came across elfeed-org which lets you organize your feeds in an ORG file.
Workflow
Daily view
This is what I get whenever I hit M-x elfeed :
And this is how I actually consume my feeds:
I usually start with a predefined filter: @1-week-ago +unread +daily -youtube
. This gives me all entries:
- not older than 1 week AND
- not yet read AND
- are tagged by
daily
AND - are NOT tagged by
youtube
Simple, isn’t it? :) In the gif you can see that I change the filter to also show the entries marked by read
. Whenever I want to actually visit an entry link, I press RET to get the excerpt or b to open that specific link in an external browser (or B to open it in an eww
buffer).
getpocket integration
If you’ve read my getpocket article last year, you know I use getpocket.com to save links/articles to read later. In elfeed
I can easily add a link to getpocket (thanks to pocket-reader.el). I use these key bindings:
;; Define maps
(map! :map elfeed-search-mode-map
:after elfeed-search
[remap kill-this-buffer] "q"
[remap kill-buffer] "q"
:n doom-leader-key nil
:n "q" #'+rss/quit
:n "e" #'elfeed-update
:n "r" #'elfeed-search-untag-all-unread
:n "u" #'elfeed-search-tag-all-unread
:n "s" #'elfeed-search-live-filter
:n "RET" #'elfeed-search-show-entry
:n "p" #'elfeed-show-pdf
:n "+" #'elfeed-search-tag-all
:n "-" #'elfeed-search-untag-all
:n "S" #'elfeed-search-set-filter
:n "b" #'elfeed-search-browse-url
:n "B" #'elfeed-search-eww-open
:n "a" #'pocket-reader-elfeed-search-add-link
:n "y" #'elfeed-search-yank)
(map! :map elfeed-show-mode-map
:after elfeed-show
[remap kill-this-buffer] "q"
[remap kill-buffer] "q"
:n doom-leader-key nil
:nm "q" #'+rss/delete-pane
:nm "a" #'pocket-reader-elfeed-entry-add-link
:n "B" #'elfeed-show-eww-open
:nm "o" #'ace-link-elfeed
:nm "RET" #'org-ref-elfeed-add
:nm "n" #'elfeed-show-next
:nm "N" #'elfeed-show-prev
:nm "p" #'elfeed-show-pdf
:nm "+" #'elfeed-show-tag
:nm "-" #'elfeed-show-untag
:nm "s" #'elfeed-show-new-live-search
:nm "y" #'elfeed-show-yank)
Whenever I press a in an elfeed
related buffer the entries link will be added to getpocket.
Bookmarks
I use bookmarks to specify elfeed filters. This allows me to quickly jump to a certain view without having to change the filter in-between:
Podcasts
As already described here I use RSS/Atom feed to regularly check for new podcast episodes. Here’s my workflow:
Top comments (0)