2015-11-01 10:17:42 +00:00
|
|
|
* Elfeed contribution layer for Spacemacs
|
2015-12-04 03:56:00 +00:00
|
|
|
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../../css/readtheorg.css" />
|
2015-11-01 10:17:42 +00:00
|
|
|
|
|
|
|
[[file:img/elfeed.png]]
|
|
|
|
|
|
|
|
* Table of Contents :TOC_4_org:noexport:
|
|
|
|
- [[Elfeed contribution layer for Spacemacs][Elfeed contribution layer for Spacemacs]]
|
|
|
|
- [[Description][Description]]
|
|
|
|
- [[Install][Install]]
|
|
|
|
- [[Layer][Layer]]
|
|
|
|
- [[Setup feeds][Setup feeds]]
|
2015-12-04 03:56:00 +00:00
|
|
|
- [[With Org][With Org]]
|
|
|
|
- [[Manually][Manually]]
|
2015-11-01 10:17:42 +00:00
|
|
|
- [[Server][Server]]
|
|
|
|
- [[Key Bindings][Key Bindings]]
|
|
|
|
- [[Troubleshooting][Troubleshooting]]
|
2015-12-04 03:56:00 +00:00
|
|
|
- [[Database empty at first start][Database empty at first start]]
|
2015-11-01 10:17:42 +00:00
|
|
|
- [[Queue timeout exceeded][Queue timeout exceeded]]
|
|
|
|
|
|
|
|
* Description
|
|
|
|
This layer enables [[https://github.com/skeeto/elfeed][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=.
|
|
|
|
|
|
|
|
* Install
|
|
|
|
** Layer
|
|
|
|
To use this layer, add it to your =~/.spacemacs=
|
|
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
|
(setq-default dotspacemacs-configuration-layers '(elfeed))
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
By default, =elfeed= stores its database under =~/.elfeed=.
|
|
|
|
|
|
|
|
** Setup feeds
|
2015-12-04 03:56:00 +00:00
|
|
|
*** With Org
|
|
|
|
It is recommended to manage your feeds list and tags via org files, this is
|
|
|
|
possible thanks to [[https://github.com/remyhonig/elfeed-org][elfeed-org]] package. To define a list of org files:
|
|
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
|
(elfeed :variables rmh-elfeed-org-files (list "~/.emacs.d/private/elfeed1.org"
|
|
|
|
"~/.emacs.d/private/elfeed2.org"))
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
Checkout [[https://github.com/remyhonig/elfeed-org][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)
|
|
|
|
|
|
|
|
#+BEGIN_SRC org
|
|
|
|
* Blogs :elfeed:
|
|
|
|
** entry-title: \(linux\|linus\|ubuntu\|kde\|gnome\) :linux:
|
|
|
|
** http://git-annex.branchable.com/design/assistant/blog/index.rss :mustread:
|
|
|
|
** http://feeds.feedburner.com/InformationIsBeautiful
|
|
|
|
** [[http://orgmode.org][Org Mode Links supported as well]]
|
|
|
|
** Software Development :dev:
|
|
|
|
*** Emacs :emacs:mustread:
|
|
|
|
**** http://www.terminally-incoherent.com/blog/feed
|
|
|
|
**** http://nullprogram.com/feed
|
|
|
|
**** entry-title: \(emacs\|org-mode\)
|
|
|
|
**** http://planet.emacsen.org/atom.xml
|
|
|
|
*** Web Development :web:
|
|
|
|
**** http://planet.phpunit.de/atom.xml
|
|
|
|
**** http://feeds.feedburner.com/symfony/blog
|
|
|
|
**** http://feeds.feedburner.com/qooxdoo/blog/content
|
|
|
|
*** Eclipse :eclipse:
|
|
|
|
**** http://blog.eclipse-tips.com/feeds/posts/default?alt=rss
|
|
|
|
**** http://ed-merks.blogspot.com/feeds/posts/default
|
|
|
|
**** http://feeds.feedburner.com/eclipselive
|
|
|
|
**** http://www.fosslc.org/drupal/rss.xml :video:
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
*** Manually
|
2015-11-01 10:17:42 +00:00
|
|
|
To explicitly setup the list of feeds, set the value of =elfeed-feeds= variable
|
|
|
|
in your =.spacemacs= file.
|
|
|
|
|
2015-12-04 03:56:00 +00:00
|
|
|
#+BEGIN_SRC emacs-lisp
|
2015-11-01 10:17:42 +00:00
|
|
|
(elfeed :variables
|
|
|
|
elfeed-feeds '(("http://nullprogram.com/feed/" blog emacs)
|
|
|
|
"http://www.50ply.com/atom.xml" ; no autotagging
|
|
|
|
("http://nedroid.com/feed/" webcomic))))
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
Check documentation for =elfeed-feeds= for more information about this variable
|
|
|
|
(~SPC h d v elfeed-feeds RET~).
|
|
|
|
|
|
|
|
** Server
|
2015-12-04 03:56:00 +00:00
|
|
|
Elfeed comes with a simple [[https://github.com/skeeto/elfeed#web-interface][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.
|
2015-11-01 10:17:42 +00:00
|
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
2015-12-04 03:56:00 +00:00
|
|
|
(elfeed :variables elfeed-enable-web-interface t)
|
2015-11-01 10:17:42 +00:00
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
By default web interface is available on [[http://localhost:8080/elfeed/][localhost:8080/elfeed]]. You can change
|
2015-12-04 03:56:00 +00:00
|
|
|
the default port by changing the value of =httpd-port=.
|
2015-11-01 10:17:42 +00:00
|
|
|
|
|
|
|
* Key Bindings
|
|
|
|
| Key Binding | Description |
|
|
|
|
|-------------+--------------|
|
|
|
|
| ~SPC a f~ | start elfeed |
|
|
|
|
|
|
|
|
Use =SPC ?= to discover major-mode key bindings.
|
|
|
|
|
|
|
|
| Key Binding | Description |
|
|
|
|
|-------------+----------------------------------------|
|
|
|
|
| ~q~ | quit main window, or item view buffer. |
|
|
|
|
| ~c~ | compact feed db |
|
|
|
|
| ~o~ | looad OPML |
|
|
|
|
| ~w~ | start web server |
|
|
|
|
| ~W~ | stop web server |
|
|
|
|
|
|
|
|
* Troubleshooting
|
2015-12-04 03:56:00 +00:00
|
|
|
** 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~.
|
|
|
|
|
2015-11-01 10:17:42 +00:00
|
|
|
** Queue timeout exceeded
|
2015-12-04 03:56:00 +00:00
|
|
|
If you are getting "Queue timeout exceeded" errors, try increasing
|
|
|
|
the value of =url-queue-timeout=.
|
2015-11-01 10:17:42 +00:00
|
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
2015-12-04 03:56:00 +00:00
|
|
|
(elfeed :variables url-queue-timeout 30)
|
2015-11-01 10:17:42 +00:00
|
|
|
#+END_SRC
|