fberriman.com

hAtom implementation

It’s late, and I have had a long journey today down to Cornwall to visit my family for the week (so if you email me this week please use my gmail not my work address), but I thought I’d stop by and mention that a couple nights ago I finally got around to implementing hAtom on this blog.

Implementation was a doddle. Checking it was accurate was not so much. The available Firefox extensions that check for hAtom are not all that… working. If you show certain elements in a slightly different order it seems microformat-find, for example, can totally miss it. This is fair enough though for a couple reasons. A. hAtom is very, very new. Version 0.1 still. and B. Writing parsers isn’t exactly straight forward, and I have every sympathy for that. Consequently, I spent a long time wondering why it “wasn’t working”, when infact it was fine… I just didn’t have access to tools to show me that (but the boys helped me out - cheers Chris, Drew and Luke for checking my stuff over).

<p>Also, I found that some of the documentation for hAtom seemed a little odd.  I will probably bring this up with the group later, but I’ll throw it on here first.  The main thing I found odd is that “<a target="_blank" href="http://microformats.org/wiki/hatom#Entry_Updated">updated</a>” is a required field, and if not found you should use “<a target="_blank" href="http://microformats.org/wiki/hatom#Entry_Published">published</a>“.  This seems odd to me since surely you can’t update something unless it was published in the first place?  Perhaps I am misunderstanding the usage of the term updated (<a target="_blank" href="http://www.allinthehead">Drew</a> suggests it’s a mapping to the Atom spec)?  Anyway, looks like that part of the spec could use a little ironing, and I think that’ll be happening.  I’ll keep you posted on that one.</p>
<p>Anyway, I was going to post my final wordpress loop code snippet, but I’m not sure how useful that is for everyone.  If you want to see it, and where I’ve added the extra information, say so, and I’ll run through it on here.  Having lots of implementations means that people can get writing extractors and having some varied testing beds to try them out on will help, so I encourage people to take a look at it.