Script to convert OPML file to GNU recutils database ==================================================== Last edited: $Date: 2020/12/31 16:17:44 $ Newsboat -------- The Newsboat RSS reader (https://newsboat.org/) is an awesome RSS reader. It runs in your terminal, so can be used inside a Tmux session. Newsboat uses a plain text file for the user to configure his or her list with RSS feeds. GNU Recutils ------------ The GNU Recutils is a set of tools and libraries to access human-editable, plain text databases called recfiles. These recfiles can be generated by scripts and are not only human-editable but also machine-readable. OPML ---- OPML ( Outline Processor Markup Language) is an XML format for outlines which is used to import and export RSS feed lists between different RSS readers. Newsboat can export its list of feeds in the OPML format, with ``newsboat -e``. Simple script to create GNU recutils recfile -------------------------------------------- #!/bin/sh echo "%rec: newsfeeds" > feeds.rec echo "%mandatory: feed url title" >> feeds.rec echo "%sort: title" >> feeds.rec echo "%unique: url" >> feeds.rec newsboat -e | grep outline | sed 's/ //' | sed 's/\"//g' >> feeds.rec echo "Feeds written to feeds.rec" This script reads the output from ``newsboat -e`` and parses that with sed to create the recfile. Here is an example of the output: %rec: newsfeeds %mandatory: feed url title %sort: title %unique: url feed: https://susam.in/blog/rss.xml url: https://susam.in/blog/ title: Susam's Blog feed: http://news.dieweltistgarnichtso.net/notes/index.xml url: http://news.dieweltistgarnichtso.net/notes/index.xml title: notes feed: https://daringfireball.net/feeds/main url: https://daringfireball.net/ title: Daring Fireball .... Next steps ---------- For me this was a first step. I can now add categories to the records. This way I can manage my feeds better, and have a sound set of categories :) Kudos ----- Kudos to Sergey Matveev for publishing his feeds and links as a recfile. See his links page: http://www.stargrave.org/Links.html