2020-05-12 18:42:00 +03:00
#+TITLE : app/rss
#+DATE : May 12, 2020
#+SINCE : v2.0.9
#+STARTUP : inlineimages nofold
* Table of Contents :TOC_3:noexport:
- [[#description ][Description ]]
- [[#maintainers ][Maintainers ]]
- [[#module-flags ][Module Flags ]]
- [[#plugins ][Plugins ]]
- [[#hacks ][Hacks ]]
- [[#prerequisites ][Prerequisites ]]
- [[#features ][Features ]]
- [[#configuration ][Configuration ]]
- [[#without-org ][Without +org ]]
- [[#with-org ][With +org ]]
- [[#keybindings ][Keybindings ]]
2020-05-12 19:30:38 +03:00
- [[#news-filtering ][News filtering ]]
- [[#automatically-updating-feed-when-opening-elfeed ][Automatically updating feed when opening elfeed ]]
2020-05-12 18:42:00 +03:00
- [[#troubleshooting ][Troubleshooting ]]
* Description
2020-05-19 08:28:05 -04:00
+ Read RSS feeds in the comfort of DOOM (Emacs)
2020-05-12 18:42:00 +03:00
** Maintainers
This module has no dedicated maintainers.
** Module Flags
+ =+org= to enable ~elfeed-org~ to use ~org-directory/elfeed.org~
** Plugins
+ [[https://github.com/skeeto/elfeed ][elfeed ]]
2021-09-27 01:40:02 +01:00
+ [[https://github.com/algernon/elfeed-goodies ][elfeed-goodies ]]
2020-05-12 18:42:00 +03:00
+ =+org=
+ [[https://github.com/remyhonig/elfeed-org ][elfeed-org ]]
2020-05-12 19:30:38 +03:00
** Hacks
2020-05-19 08:28:05 -04:00
+ By default ~elfeed-search-filter~ is set to ~@2-weeks-ago~ and makes the last 2 weeks of entries visible. This needs to be set after elfeed has loaded like so in your ~config.el~
#+begin_src elisp
(after! elfeed
(setq elfeed-search-filter "@1-month-ago +unread"))
#+end_src
2020-05-12 18:42:00 +03:00
* Prerequisites
This module has no prerequisites.
2020-05-12 19:30:38 +03:00
* Features
+ As there isn't currently binding for ~elfeed-update~ you can run it with ~M-x elfeed-update~
2020-05-12 18:42:00 +03:00
* Configuration
** Without +org
When you don't want to use org mode to manage your elfeed feeds you can put your subscriptions to personal ~config.el~ file, ex:
#+BEGIN_SRC elisp
(setq elfeed-feeds
'("https://this-week-in-rust.org/rss.xml"
"http://feeds.bbci.co.uk/news/rss.xml"))
#+END_SRC
2020-05-12 19:30:38 +03:00
2020-05-12 18:42:00 +03:00
** With +org
When using ~+org~ flag then configuration is easier. You can use ~org-mode~ to configure feeds to follow.
#+BEGIN_SRC org
,* root :elfeed:
,** Programming :programming:
,*** [[https://this-week-in-rust.org/rss.xml ][This Week in Rust ]] :rust:
,** News :news:
,*** Top news :tops:
,**** http://feeds.bbci.co.uk/news/rss.xml
#+END_SRC
+ Root of ~elfeed-org~ needs to have ~:elfeed:~ tag. This is where ~elfeed-org~ starts to read.
2020-05-12 19:30:38 +03:00
+ You can have subheaders as in example ~:programming:~ , and ~elfeed-org~ applies that tag to all subheader feeds, in example it adds it to ~This Week in Rust~ .
+ You can "name" feeds as you please with ~org-mode~ ~org-insert-link~ (~C-c C-l~ ) and put name as you want into ~description~ .
2021-05-12 22:08:52 -04:00
+ If you don't want to use ~org-directory/elfeed.org~ file you can specify it with ~(setq rmh-elfeed-org-files '("path/to/your/elfeed/file.org))~
2020-05-12 19:30:38 +03:00
2020-05-12 18:42:00 +03:00
** Keybindings
2020-05-12 19:30:38 +03:00
+ General
2021-09-27 01:40:02 +01:00
| Key | Mode | Description |
|---------+--------------------+--------------------------------|
| =S-RET= | Elfeed-search-mode | Open link into browser |
| =RET= | Elfeed-search-mode | Open item |
| =s= | Elfeed-search-mode | Filter |
| =C-j= | Elfeed-show-mode | Move to next item |
| =C-k= | Elfeed-show-mode | Move to previous item |
2020-05-12 19:30:38 +03:00
+ If ~:editor evil +everywhere~
| Key | Description |
|-----+-----------------------------|
| q | elfeed-kill-buffer |
| r | elfeed-search-update--force |
2021-09-27 01:40:02 +01:00
| g c | Copy link of current entry |
2020-05-12 19:30:38 +03:00
** News filtering
+ Time filtering
+ ~@2-days-ago~ Past two days
+ ~@2-weeks-ago~ Past two weeks
+ ~@2-years-ago~ Past two years
+ ~@2020-06-19~ To show specific day
+ ~@2020-06-19--2020-03-10~ Span of time
+ Tag filtering
+ Include ~+news~
+ Exclude ~-rust~
+ Both ~+news -rust~
+ String filtering, this is case insensitive
+ Include
+ ~DOOM~
+ ~Linu[sx]~ Search for both ~Linus~ and ~Linux~
+ Exclude ~!something~
** Automatically updating feed when opening elfeed
Hook ~elfeed-update~ to ~elfeed-search-mode-hook~
#+BEGIN_SRC elisp
(add-hook! 'elfeed-search-mode-hook 'elfeed-update)
#+END_SRC
2020-05-12 18:42:00 +03:00
2020-05-12 19:30:38 +03:00
* TODO Troubleshooting