spacemacs/layers/+tools/elfeed/README.org

101 lines
3.3 KiB
Org Mode
Raw Normal View History

2015-11-01 10:17:42 +00:00
* Elfeed contribution layer for Spacemacs
#+CAPTION: logo
[[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]]
- [[Server][Server]]
- [[Importing Feeds][Importing Feeds]]
- [[Key Bindings][Key Bindings]]
- [[Troubleshooting][Troubleshooting]]
- [[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
To explicitly setup the list of feeds, set the value of =elfeed-feeds= variable
in your =.spacemacs= file.
#+BEGIN_SRC emacs-list
(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~).
But you might prefer to use [[https://github.com/remyhonig/elfeed-org][elfeed-org]] package and store all your feeds in
separate =org= file. Then you have to specify it's path.
#+BEGIN_SRC emacs-list
(elfeed :variables
rmh-elfeed-org-files '("~/.emacs.d/private/elfeed.org"))
#+END_SRC
Checkout [[https://github.com/remyhonig/elfeed-org][elfeed-org]] documentation to see the format of that file.
** Server
Elfeed comes with simple [[https://github.com/skeeto/elfeed#web-interface][web interface]]. You can manually start it by calling
=elfeed-web-start= or by setting =elfeed-web-enabled-on-emacs-startup= to =t=,
so it starts automatically on Emacs startup.
#+BEGIN_SRC emacs-lisp
(elfeed :variables
elfeed-web-enabled-on-emacs-startup t)
#+END_SRC
By default web interface is available on [[http://localhost:8080/elfeed/][localhost:8080/elfeed]]. You can change
the default port by changing value of =httpd-port=.
** Importing Feeds
Feeds can be specified in configuration variable, or interactively imported from
OPML, running =SPC-: elfeed-load-opml=, or =afo=.
When imported interactively, feedlist will be saved in your customization file.
* 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
** Queue timeout exceeded
If you are getting "Queue timeout exceeded" errors, just increase
=url-queue-timeout= value.
#+BEGIN_SRC emacs-lisp
(elfeed :variables
url-queue-timeout 30)
#+END_SRC