Tired of working with pages that do not have Microformats support yet? The Microformats Proxy is the tool for the job. Individual or globbed URLs can be set up via XPath to extract data and format it as microformats. In this first version only hCards are supported.
All existing hCards and XOXO data are also maintained.
I recently learned of the Microsummaries feature of Firefox 2.0 from Aditya.
Basically, when you bookmark a site that supports it there is an option to have Firefox automatically pull in the title of the most recent article (or similar) as the title/label on the bookmark. Like simplified Live Bookmarks. So I created a quick hack to let us generate these with Blogger. If you have marked up your blog with hAtom put this in your <head> section:
<link expr:href='"http://xoxotools.ning.com/extract_by_class.php?xn_auth=no&amp;class=entry-title&amp;url=" + data:blog.homepageUrl + "&amp;_microsummary"' rel='microsummary' />
Otherwise use this code, which should work for 90% of new Blogger blogs:
<link expr:href='"http://xoxotools.ning.com/extract_by_class.php?xn_auth=no&amp;class=post-title&amp;url=" + data:blog.homepageUrl + "&amp;_microsummary"' rel='microsummary' />
If that Backup Tool intrigues you, or something else I’ve mentioned regarding hAtom, or just microformats in general, then head over to my instructions on how to markup up New Blogger templates in hAtom.
While 100% hAtom support under Blogger is impossible, we can get close. What is the use of that? Well, doing this will allow you to use the Backup Tool for one thing. Most other hAtom-related tools mentioned on this blog will also work with the results of these changes. Plus, it’s just generally an all-around good idea. (These instructions will work with most templates on the New Blogger, but if you cannot complete any steps for some reason, just skip them and it may still mostly work.) So, here’s how:
- Go to the ‘Edit HTML’ section under the ‘Template’ tab.
- Find the code that looks something like this:
<b:includable id='post' var='post'>
<div class='post uncustomized-post-template'>
and replace it with this:
<b:includable id='post' var='post'>
<div class='post uncustomized-post-template hentry' expr:id='"post-" + data:post.id'>
- Find the code that looks something like this:
<h3 class='post-title'>
and replace it with this:
<h3 class='post-title entry-title'>
- Find the code that looks something like this:
<a expr:href='data:post.url'><data:post.title/></a>
and replace it with this:
<a rel='bookmark permalink' expr:href='data:post.url'><data:post.title/></a>
- Find the code that looks something like this:
<div class='post-body'>
and replace it with this:
<div class='post-body entry-content'>
- Find the code that looks something like this:
<span class='post-author'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/> <data:post.author/>
</b:if>
</span>
and replace it with this:
<span class='post-author author vcard'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/> <span class='fn'><data:post.author/></span>
</b:if>
</span>
- Find the code that looks something like this:
<a class='timestamp-link' expr:href='data:post.url' title='permanent link'><data:post.timestamp/></a>
and replace it with this:
<a class='timestamp-link updated published' rel='bookmark permalink' expr:href='data:post.url' title='permanent link'><data:post.timestamp/></a>
- Find the code that looks something like this:
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
and replace it with this:
<a class='comment-link' rel="comments" expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
<b:loop values='data:post.feedLinks' var='f'><span style="display:none;">There is an <a expr:href='data:f.url + "?alt=rss"' rel='alternate comments'>RSS Feed</a> for comments on this post.</span></b:loop>
- Save your template.
After a long period of inactivity I have revived the former XOXO Blog as XOXO – A Semantic Weblog. The following new tools have been announced:
There is also a discussion of distributed social netoworking and a new WordPress plugin to start implementing the idea.