Reinventing the Oxcart - Adding RSS to our static written blog

Understatement
By Andrew Davidson
on March 31, 2020

No, reinventing the Wheel would be smart. We're reinventing the Oxcart - an outdated, rarely-used technology that somehow still musters along in certain parts of the world, but is largely ignored by the masses looking to expedite the process of everything. Yes, we're talking about RSS. RSS stands for Really Simple Syndication (read up more at the Wikipedia), and is widely outdated, ignored by many popular services, and yet still is used by many authoritative sites and is widely used in podcasting. We're old school, so I suppose now is the best time to double-down on this near-dead platform, right?

Y RSS?

Subscribing to a website RSS removes the need for the user to manually check the website for new content. Since we update our blog so irregularly I imagine there's some who might prefer to subscribe to it as a feed, vs. actually being expected to come back and visit this web site regularly (this is very unexpected behavior). I made the extra effort to read up on the RSS Specs at the Wikipedia, then whipped up a very basic template (seen below - includes a single item entry just prior to this very blog post) while I started on the larger issue of creating a spreadsheet of every blog post. The spreadsheet will hold more metadata about each blog entry, including the (very important!) properly formatted date, and a short description not found anywhere else.

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Under Design's Blog - Understatement</title>
<description>Andrew Davidson exclaims: "I hate to admit I have a blog."↵
	This is that blog.</description>
<link>http://www.undr.com/understatement/</link>
<copyright>Copyright Under Design - All rights reserved.</copyright>
<language>en-us</language>
<generator>By Hand</generator>
<image>
	<url>http://www.undr.com/undr.svg</url>
	<title>Under Design's Blog - Understatement</title>
	<link>http://www.undr.com/understatement/</link>
</image>
<lastBuildDate>Tue, 31 Mar 2020 12:00:00 EST</lastBuildDate>
<pubDate>Tue, 31 Mar 2020 12:00:00 EST</pubDate>
<ttl>1440</ttl>
<item>
	<title>Stay The *uck Inside Letter Sized Poster - Free PDF Download</title>
	<description>Free PDF Download 'Stay Inside' Window Poster↵ 
		for the Pandemic</description>
	<link>http://www.undr.com/understatement/2020/↵
		stay_inside_coronavirus_warning_free_pdf_poster/index.html</link>
	<guid isPermaLink="true">http://www.undr.com/understatement/2020/↵
		stay_inside_coronavirus_warning_free_pdf_poster/index.html</guid>
	<pubDate>Mon, 30 Mar 2020 12:00:00 EST</pubDate>
</item>
</channel>
</rss>

The biggest issue is that there was no description of any of the blog content, nor dates easily attached to titles and links. It required digging into the source files of each of the various static HTML files on the server just to glean a single bit of metadata required for valid RSS feeds. Long story short, I have a spreadsheet with the last two years of posts in it, and can add earlier years as I find time to hand-process the HTML files into the XML needed for the RSS Feed.

Once the spreadsheet is finished, a little data twiddling can convert it to a full-list of all blog posts (assuming it's under 150kb - the maximum size allowed by the format). This allow us to maintain the feed easily, as new blog posts can be added one at a time as they are uploaded. Older blog posts can be added to the tail of the file as we process and identify them.

Finally, we had to go back and alter our HTML files, as well as every blog post's HTML with a link to the RSS feed in the footer using an SVG graphic, and a new META tag in the header with a link to the feed. Feel free to validate our full RSS feed using the W3.org. (We checked, it's good!) Special Thanks to SVG Optimizer, who slimmed our embedded RSS SVG () to 50% of it's original weight!