This post originally appeared on my Fargo blog, which Dave sunsetted in 2016. It’s preserved here here for posterity.

Part of the reason I’m thankful for Fargo is I’m overhauling my primary blog. Rubenerd.com has been operating since 2005 on WordPress, but lately I’ve grown tired of maintaining all the server side architecture on my little VPS to run it, so I’m moving to Jekyll.

There are few things that frustrate blog readers about blog migrations than the endless posts about how they’re doing it, so I figured I’d explore some of it here. Who knows, perhaps my Fargo blog turns into a metablog about blogs!

Firstly, Jekyll has given me the chance to really think about the DOCTYPE I’m using. I’ve been comfortably on XHTML1.1 for years, but all the cool people my age are on HTML5, so I thought I’d finally give it a try.

Having spent years writing well formed, valid XML, HTML5 is a little scary. Lots of unclosed tags, lack of XML extensions, a spec that keeps changing so often the W3C validator spits out different results each time you use it. Say what you will about specs, but I can finally appreciate why Dave froze RSS 2.0.

I’ve always been fascinated by metadata, so I figured for a static text-based blog I could take the alternative route and try XHTML1.1+RDFa. It’s a W3C spec, and though its not the microdata the cool people are using with HTML5, RDF and I have always gelled (I’ll admit, I probably still prefer the so-called RSS1.0 for this selfish reason).

The problem with this approach is, again, the W3C Validator. While the DTD clearly specifies the use of ARIA “role” (something critical if I’m not going to have HTML5 elements like “nav” and “header”), the validator tersely tells me my sandbox XHTML1.1+RDFa markup is invalid because there is no “role” element. Yikes.

So, I’m back at square one. I really want to provide accessibility, and I really was looking forward to getting stuck into RDFa with my new site design. Oh well.