Art by hews on Pixiv

Not that kind of date, unless you're a fan of shipping characters in such a manner. But I digress.

The evolving HTML5 spec never ceases to surprise. Today, I learned this while validating some pages:

Line 29, Column 57: Bad value date for attribute name on element meta: Keyword date is not registered.

So the following generic HTML meta attributes are all still valid:

  • author
  • description
  • generator
  • keywords

But date isn't. WhatWG indeed.

I suspect there was a discussion at some point discussing what exactly it means. Is it when a page was created, or modified, or certain parts were created or modified?

An equally valid, ambiguous replacement

Whatever the case, we need to replace our simple date attributes with something else. My first hunch was to use the Dublin Core created attribute with a schema link. You could also use RDFa with a property tag.

<link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
<meta name="dcterms.created" content="2014-02-17T23:43:43+1100" />

As the term "created" suggests however, it's designed to be static. Unfortunately, Jekyll dervives timestamps from the file, which means it changes with each update. I store my own timestamps which override these, so maybe the key would be to use the Jekyll as date modified, and my own timestamp as date created.

I'm not sure if this is even possible, unless I broke out some more custom Jekyll frontmatter to store a distinct creation date. I suppose it wouldn't be the first time I've done something like that.

While I decide what to do, I've settled on the more ambiguous date attribute, to get exactly what we had before:

<meta name="dcterms.date" content="2014-02-17T23:43:43+1100" />

I wonder what will be deprecated next?