Reworking My Blogroll

I’ve been tinkering again instead of writing sf, and remembering how to write XSL transforms.


Just as Simone has done, I’ve been giving some thought to making my feeds and some other XML files that I generate human-readable. I had done this before, but it had been a while so I had had to re-learn how to create XSL transforms.

Unfortunately, my stylesheet is a bit limited. I would have liked to show summaries for my headlines feed feed and full text in my main feed, but while the former was easy I couldn’t figure out how to get CDATA in the full-text feed to render properly.

There’s probably a way, but I can’t be bothered to keep digging at it tonight. What I’ve got is probably good enough for now.

However, my human-readable feeds also provide links to the about feeds website so that people who come across my feeds by accident can find out what they’re for.

In the process, I remembered that Maya over at maya.land had a blogroll in OPML format, which is just XML and a convenient way to group together a list of RSS/Atom feeds to import into a feed reader to conveniently subscribe to multiple sites at the same time.

If you have a reasonably full-featured feed reader, you can probably find in its menu an option to export your subscriptions as an OPML file. I could do the same with mine, but choose to automate the creation of my OPML file by running the same tab-separated data I use to generate my links page through a different shell script that uses a bit of awk to generate XML1.

Unfortunately, the way Maya nests her <outline> elements doesn’t seem to work the way I expect when importing into a feed reader. I had expected that the outer <outline> would create a folder that would contain individual feeds specified by the inner <outline> elements.

It doesn’t work that way. Instead, entries from all feeds get lumped together into a single feed. That might have been Maya’s intention, but I prefer to keep my feeds separate so I kept my OPML blogroll simple.

In the process, I changed the way my links page works. Rather than trying to categorize sites by type, I divide them into websites and blogs. I define a blog as a website that provides a RSS/Atom feed for purpose of categorization.

I’ve also decided that even if a site is NSFW for various reasons, I’m going to include it. Maybe the content isn’t appropriate for children or offensive to the prudish, but I’m an adult and I’m going to assume that my guests are likewise adults. If I mark certain sites as NSFW, others can choose to unsubscribe to them after importing my blogroll.

If you decide to use my subscription list, I’d recommend retrieving and importing it periodically to get new feeds as I discover them.


  1. Once I learn a trick, I tend use it for everything. A little awk, like a little knowledge of sed and even the shell, can go a long way.↩︎