While exploring how to build an RSS reader, I stumbled across the idea of using Google Sheets to display RSS feed content.
Just for fun, I decided to give it a shot and see how far I could get.
I am using Miniflux daily, but I am also having some fun coding up a stupid RSS reader on my own.
I found the idea of creating an âimpracticalâ RSS reader in Google Sheets intriguing, so I decided to give it a shot.
You know, using âNo-codeâ aka Spreadsheets.
Keep reading to find out how I did it, and what I learnt along the way.
Creating Your Impractical RSS Reader
Create a new Google Sheet.
In the A1
cell enter the following:
=QUERY({QUERY(IMPORTFEED("https://cri.dev/rss.xml"), "select Col1, Col3, Col4")}, "select *")
Youâll be presented with the latest blog posts from my RSS feed, with the title, the URL and content of the post.
I think itâs super cool.
PS: To add multiple feeds and combine them, you can use the following:
=QUERY({QUERY(IMPORTFEED("https://cri.dev/rss.xml"), "select Col1, Col3, Col4"); QUERY(IMPORTFEED("https://hnrss.org/frontpage"), "select Col1, Col3, Col5")}, "select *")
Challenges and Solutions
Learnt along the way, you can combine multiple âdata rangesâ using the {}
union operator.
Thatâs essentially the trick to combine multiple ranges of data.
Tried to mess around with filters, but they donât seem to play weel alongside a QUERY
function.
Donât know exactly how to work that issue out.
Also I tried to implement the concept of âarticle readâ using checkboxes.
But of course, once the feed updates and new content updates/overwrites the view, the data is all out of order.
So I guess thatâs a no-go.
Another idea was to calculate the reading time, and then sort the feed entries by that column.
If you find out how to do it, please do let me know, even though of course I wonât be using this method to read my RSS feeds đ .