OPML to Blogroll


What's OPML?

OPML, or Outline Processor Markup Language is an XML-like language commonly used to encode a bunch of RSS subscriptions. Most feed readers, like Feedbin or NetNewsWire, have an option to export RSS subscriptions in the format, so they could be imported into other feed readers or used with tools like this.

What a Blogroll?

A blogroll is a collection of link to other blogs or sites that a blogger recommends. Generally these are other blogs, although it could be any other site the blogger thinks is worth sharing.

Oh yeah. I seam to recall this being a bit of a thing back in the 2000's. Are people still doing this?

Absolutely. In fact, people never stopped doing this. It's seen a bit of a resurgence in recent years though, thanks to the imposion of certain social networks and people rediscovering the magic of blogging and RSS.

Where does my OPML file go?

It'll go to a Netlify function to be parsed and converted into a HTML file. I suppose, if I was a better JavaScript programmer, it would've been possible to do it in the browser. But it's easier for me to use Go for this. Plus, I prefer Go over JavaScript (sorry, not sorry).

Is my OPML file stored anywhere?

Absolutely not. The OPML file is used only to generate the HTML snippet, and then it's discarded. It may be stored on disk temporarily, but that's just to assist with handling the request (small OPML files should only ever be stored in memory).

How big can my OPML file be?

Your OPML file can be up to 10 MB. In order to prevent possible issues with large snippits, only the first 1,000 feed items will be included in the output, and groups would only be visited up to 10 levels deep. You can have as many groups as you like though.

Help, I tried uploading an OPML file and it didn't work for me.

Oh, sorry about that. The best thing I can suggest is maybe trying again, and just making sure that what you're trying to upload is a proper OPML file (it'll look like an XML file). If that's still not working for you, feel free to raise an issue and I can look at it when I get the chance (this is just some fun so I can't promise a speedy turnaround time).