+++ title = "Yet Another RSS Reader Move ?" author = ["Elia el Lazkani"] date = 2020-09-15T21:00:00+02:00 lastmod = 2021-06-28T00:01:40+02:00 tags = ["emacs", "org-mode", "configuration"] categories = ["rss"] draft = false +++ The more I get comfortable with _emacs_ and _doom_, the more I tend to move things to it. This means that I am getting things done faster, without the need to get bogged down in the weeds of things. This also means that, sometimes, I get to decommission a service that I host for my own personal use. If I can do it with a _text file_ in _git_, why would I host a full-on service to do it for me ? You might say, well, then you can access it from anywhere ! Security much ?! if I don't have my machine, I will not access my passwords. In practice, the reality is that I am tied to my own machine. On one hand, I cannot access my services online without my machine and if I am on the move it is highly unlikely for me to access my _rss_. Oh yeah ! _rss_ ! That's what we are here for right ? Let's dive in... ## Introduction {#introduction} I hosted an instance of _[miniflux](https://miniflux.app/)_ on a _vps_ for my _rss_. _Miniflux_ is a great project, I highly recommend it. I have used it for a number of years without any issues at all; hassle free. I love it ! But with time, we have to move on. I have had my eye on the _rss_ configuration in the _doom_ `init.el` since I installed it. Now comes the time for me to try it out. I will go with my process with you so you can see what I did. There might be better ways of doing things than this, if you know how ping me ! ## Doom documentation {#doom-documentation} The nice thing about _doom_ is that it is documented. The `rss` is a _doom_ `module` so we will look in the _doom_ `modules` manual. We can achieve this by hitting `SPC h d m` and then searching for `rss`. The documentation will give us a bit of informaton to get started, like for example that it uses `elfeed` as a package. ## Elfeed {#elfeed} The creators of [elfeed](https://github.com/skeeto/elfeed) describe it as. > ... an extensible web feed reader for Emacs, supporting both Atom and RSS. The project looks well documented, that's very good. It has extensions, _org_ one... wait _org_ one ? What does it do ? ## Elfeed Org {#elfeed-org} What is this thing [elfeed-org](https://github.com/remyhonig/elfeed-org) ? > Configure the Elfeed RSS reader with an Orgmode file Sweet ! That's what I'm talking about. A neatly written _org_ file as configuration. It is always a good idea to go through documentation, at least quickly. Skim it over, you don't know what you would miss in there. I've been doing this for a long time, there is no way I can miss any... oh wait... I missed this... ### Import/Export OPML? {#import-export-opml} Whaaaat ? > Use `elfeed-org-import-opml` to import an OPML file to an elfeed-org structured tree. Alright, that sounds easy. Let's export from _miniflux_ and import in _elfeed_. ## Configuration {#configuration} Before we import and whatnot, let's figure out what we are importing and where. After reading the documentation of both `elfeed` and `elfeed-org`, it says we need to set `rmh-elfeed-org-files` which is a _list_. In my _doom_ configuration, I think I need to do the following. ```emacs-lisp (after! elfeed (elfeed-org) (setq rmh-elfeed-org-files (list "~/path/to/elfeed.org"))) ``` This way we can guarantee where the file is, or we can go digging where the default is and copy from there. This is just another file in my _org_ collection. Nothing special about it, it gets tagged and searched like everything else.
Note
I added the `(elfeed-org)` in the block to load `elfeed-org` after I had to load it manually a few times. This made it work on my system, I might be doing it wrong so your milage may vary. The `after!` section is _doom_ specific.warning
This is the time where you _reload_ your configuration, _reload_ emacs and then _reload_ the world. If you are not using _doom_, only `setq` lines and do not forget to manually load the _packages_ before callind them.