Everything Burns

Re-ignited


Surprising Richness from Simplicity

Wednesday, 12 Apr 2023 Tags: markdownrss

Recently I have been tinkering with RSS feeds in code, initially working on code to fetch and store the feeds, so that later I could play around with ways to present and organize feeds and entries. The shape, format, and contents of RSS feeds vary wildly, and I wanted a way to quickly review what sorts of things I was getting in different feeds. Markdown seemed like the simplest thing that could possibly work, so I whipped up some code to spit out a feed as markdown, where each of the entries looks like this

### [When I'm An Astronaut](https://www.metafilter.com/198913/When-Im-An-Astronaut)
* author: box 
* date: 2023-04-10
* #dreampop, #ethereal, #indierock, #music, #shoegaze

into a file named <feed title>.md. Nothing could be more low-tech.

I use Logseq to take notes, which uses markdown to store notes, and can also open directories of existing markdown files, so I opened the folder in Logseq, and what I saw surprised me. Logseq creates an index of pages, and creates references between them, wiki-style, if you mention another page by surrounding its title with [[]]. Logseq also uses a hashtag notation for grouping pages together by tags. So my format contained a happy accident. In addition, Logseq has a journal format. Any time you open the journal, it adds a section for today’s date at the top. If you ping a date in any other page like [[2023-04-10]] then the page gets linked into that journal entry for that day.

Realizing this, I made a simple change to my markdown template to look like this instead:

### [When I'm An Astronaut](https://www.metafilter.com/198913/When-Im-An-Astronaut)
* author: box [[2023-04-10]]
* #[[dreampop]], #[[ethereal]], #[[indierock]], #[[music]], #[[shoegaze]]

Now, here is what the MetaFilter page looks like in Logseq

MetaFilter feed page in Logseq

For the feed pages, I did end up using some Logseq-specific markdown at the top for the feed metadata. Here’s the EEx template:

EEx template

Here’s a page that gets generated for the #Art tag. Note that this page doesn’t get clobbered when I overwite the individual feed pages, the entries that are taged #Art just get linked into the “Linked References” section. Any notes I type in the page istelf are retained.

Art tag page in Logseq

Here’s the journal page. Just like the tag pages, the feed entries are just referenced (and nicely grouped by feed).

Journal section in Logseq

All of this is done for free by Logseq. All I did was dump the markdown into one .md file per feed.

Here’s perhaps the coolest feature: The Logseq graph view:

Graph view in Logseq

This really does work as a very rudimentary feed reader, all kind of by accident.

One of this things I learned in this exercise is that the RSS feed for this site could use some improvements. I’ll spare you the screenshot of my Logseq TODO list.