Bookmarked a tweet by Dave Rupert (Twitter)
A curious example of what can happen with misplaced microformats. The clown yelling portion is still one of my favorites.


Replied to Introducing Indigenous for Android by swentelswentel (
You can now download the app from Google Play. If you want to install it manually, you can also go over to the release section on GitHub. Use GitHub to post issues, ideas, documentation, nicer icons, design mockups ... everyone can help out!
Congratulations on the fantastic updates on Indigenous! The recent changes are making me wonder how I’ve lived all this time without it. 

My first use of the read post functionality was a tad confusing because I wasn’t aware that either the WordPress Micropub client or Post Kinds supported the read-status set up that had pioneered.

The vast majority of my read posts are for online articles which are relatively short in nature and so don’t use the read-status features and are simply marked up with read-of. When I originally suggested that Indigenous support read posts, I only expected the read-of support and didn’t imagine the additional read-status support for “to-read”, “reading”, or “finished” to be included. These are highly experimental and have thus far only been supported by IndieBookClub which focuses on much longer book-length content that can take better advantage of the ideas of the idea of a bookmark to read, ongoing reading, and finished reading markers. Even with this support gRegor still thinks that it may be better to use the addition of p-category or u-category microformats instead of the read-status tags. The WordPress Micropub server is the only other software that supports these additional read-statuses besides gRegor’s own website.

Given that:

  • an exceedingly small number of sites have support for read-status;
  • the read-of microformat has somewhat better support (though it is still an experimental microformat itself);
  • the majority of posts that Indigenous users are likely to use for creating read posts will be articles (as opposed to either smaller posts like notes, likes, favorites, checkins, RSVPs, etc. or book length material),

I would recommend that you have a default setting in Indigenous for just read-of  without a specific read-status (the UI could either indicate “none” or “read” without a read-status value). However for the occasional longer form usages leaving the other options in would be useful. I can easily imagine myself using the option for “to-read” over the simpler bookmark functionality now that it exists!

Thanks again for all your work! 

Read Posts with Read Status via PESOS using GoodReads and Micropub

Today I accidentally realized that both the WordPress Micropub server and the Post Kinds plugin support read-status values of “to-read”, “reading”, and “finished”. I’ve managed to tweak my PESOS work flow with to also include these experimental pieces using the following additional snippets of code appended to the “Body” fields I’ve described before:


I’ve added one of the three snippets to the appropriate recipes for  Goodreads feeds to create the appropriate output. Here’s the first post I’ve made using the new recipe for bookmarking a book I’d like to read:

Previously I’ve been using simple notes to create read posts for books and just adding a “read” category to give me more control over the data in the posts. (I only used read posts previously for online articles.) Now that I’ve got the ability to provide some better differentiation for my progress, I think I’ll switch to using read posts for all my reading (books and articles).

Incidentally following and Indigenous for Android which added support for these earlier today, my method may be the third to use these microformats in the wild. Thanks to gRegor Morrill, Kristof De Jaeger, David Shanske, Ryan Barrett, and Charlotte Allen for their prior work, experimentation, code, and examples for allowing me to get this working on my website. 

Liked Exploring Feed Discovery and Markup by David ShanskeDavid Shanske (
The issue of finding feeds to subscribe is a challenge that I have explored in my attempts to implement code in support of the Yarns Microsub Server. I want to publish feeds in a way that others can find them, not just users, but automated systems that present them to users. So, let’s start with t...
Great start on outlining the problem. I’ll need to come back to it again and look at some potential examples to form a better opinion. I’m curious what examples may be unearthed by some of your questions.
For Homebrew Website Club Wednesday, even though I didn’t make it to an in-person meetup I did manage to make some reasonable visible progress on my website.

I hacked together some tweaks to add the following:

  • Improved support in my theme for time related microformats including dt-published and dt-updated
  • Because I post so frequently, I added a visible timestamp next to the date so it’s easier to follow my timeline of posts.
  • I removed the data for my location, weather, and syndication links from the_body of my posts and appended it to my post meta data. This should prevent it from showing up in Webmentions to others’ websites or in syndicated copies, but still be available to parsers to attach that data to my posts in readers and other services.
  • I modified my CSS so that the text in the Simple Location and Syndication Links plugins matches that of the rest in its section.
  • I added a cute little bullhorn icon in front of my Syndication Links so that it has some parallelism with the rest of the meta data on my site.
  • I’d always liked the idea of adding in related posts data on my site, but didn’t like how it had worked in the past. Things were even worse with replying to other people’s posts as my markup (and far too many others I’ve seen in the WordPress world) was hacky and caused the related posts data to show up in their Webmentions sent to other sites. I looked through some of Jetpack’s documentation and figured out how to remove their Related Posts functionality from the_body, where it defaults, and append it instead to the post meta section of my posts. It’s not perfect yet, but it’s much closer to how I’d like it. Best of all, that data shouldn’t show up in my replies to other sites now either! I had disabled the functionality ages ago because it made me feel like a rude-IndieWebber.

With IndieWebCamp Online 2020 coming up this weekend, I hope to fix a few outstanding issues and roll these changes up into my open sourced IndieWeb Twenty Fifteen WordPress theme as my hackday project. If you’re using it on your own site, do let me know. Not that I can promise to fix it if it’s broken in places, but I’d at least like to know how it’s working out for you or where it could be improved.

Things left over to fix:

  • Simple Location data still needs some CSS help to display the way I want it to.
  • I need to target the Simple Location icon so I can have its color match that of the other icons.
  • Because so many of my posts don’t have titles, I’ll need to tweak something there so that the Jetpack related posts will pick up better meta data as a pseudo-title instead of displaying the relatively context-less commentary that appears in the_body
  • It may take a day or two for the related posts to populate properly, but I should make sure that it’s putting out relevant/interesting results.
  • Is it worth adding a default featured photo for the related posts that don’t have one? Could I pull one from other meta fields for some classes of posts?
Read HTML is my API by Aaron PareckiAaron Parecki (Aaron Parecki)
In August 2012, I wrote a quick script to stream front-page Hackernews stories to an IRC channel on Freenode (##hackernews in case you're interested) so that I could quickly glance at popular stories there instead of needing to load Hackernews. Since IRC is my feed reader, I've always tried to pipe as much there as possible.
Very smart and reminiscent of some of the stuff Drew McLellan and Jeremy Keith were doing almost a decade before. There is a lot more power in microformats that most web developers give them credit for. Aaron has a great example and use-case.

My favorite part here:

So in 2.5 years of parsing the HTML, I never had any problems. In 2 days of parsing the JSON API, I hit a glitch where all the stories were empty.
Since more people and programs see the HTML than use the API, the HTML ends up being more reliable.

Manual Backfeed in the Blogosphere

Forcing webmentions for conversations on websites that don’t support Webmention

Within the IndieWeb community there is a process called backfeed which is the process of syndicating interactions on your syndicated (POSSE) copies back (AKA reverse syndicating) to your original posts. As it’s commonly practiced, often with the ever helpful service, it is almost exclusively done with social media silos like Twitter, Instagram, Flickr, Github, and Mastodon. This is what allows replies to my content that I’ve syndicated to Twitter, for example, to come back and live here on my website.

Why not practice this with other personal websites? This may become increasingly important in an ever growing and revitalizing blogosphere as people increasingly eschew corporate social sites and their dark patterns of tracking, manipulative algorithmic feeds, and surveillance capitalism. It’s also useful for sites whose owners may not have the inclination, time, effort, energy or expertise to support the requisite technology.

I’ve done the following general reply pattern using what one might call manual backfeed quite a few times now (and I’m sure a few others likely have too), but I don’t think I’ve seen it documented anywhere as a common IndieWeb practice. As a point of fact, my method outlined below is really only half-manual because I’m cleverly leveraging incoming webmentions to reduce some of the work.

Manually syndicating my replies

Sometimes when using my own website to reply to another that doesn’t support the W3C’s Webmention spec, I’ll manually syndicate (a fancy way of saying cut-and-paste) my response to the website I’m responding to. In these cases I’ll either put the URL of my response into the body of my reply, or in sites like WordPress that ask for my website URL, I’ll use that field instead. Either way, my response appears on their site with my reply URL in it (sometimes I may have to wait for my comment to be moderated if the receiving site does that).

Here’s the important part: Because my URL appears on the receiving site (sometimes wrapped as a link on either my name or the date/time stamp depending on the site’s user interface choices), I can now use it to force future replies on that site back to my original via webmention! My site will look for a URL pointing back to it to verify an incoming webmention on my site.

Replies from a site that doesn’t support sending Webmentions

Once my comment appears on the receiving site, and anyone responds to it, I can take the URL (with fragment) for those responses, and manually input them into my original post’s URL reply box. This will allow me to manually force a webmention to my post that will show up at minimum as a vanilla mention on my website. 

The manual webmention box and button that appear on all my posts.

(Note, if your site doesn’t have a native box like this for forcing manual webmentions, you might try external tools like Aaron Parecki’s Telegraph or Kevin Mark’s Mention.Tech, which are almost as easy. For those who are more technical, cURL is an option as well.)

Depending on the microformats mark up of the external site, the mention may or may not have an appropriate portion for the response and/or an avatar/name. I can then massage those on my own site (one of the many benefits of ownership!) so that the appropriate data shows, and I can change the response type from a “mention” to a “reply” (or other sub-types as appropriate). Et voilà, with minimal effort, I’ve got a native looking reply back on my site from a site that does not support Webmention! This is one of the beautiful things of even the smallest building-blocks within the independent web or as a refrain some may wish to sing–“small pieces, loosely joined”!

This method works incredibly well with WordPress websites in particular. In almost all cases the comments on them will have permalink URLs (with fragments) to target the individual pieces, often they’ve got reasonable microformats for specifying the correct h-card details, and, best of all, they have functionality that will send me an email notification when others reply to my portion of the conversation, so I’m actually reminded to force the webmentions manually.

An Illustrative Example

As an example, I posted on my website that I’d read an article on Matt Maldre’s site along with a short comment. Since Matt (currently) doesn’t support either incoming or outgoing webmentions, I manually cut-and-pasted my reply to the comment section on his post. I did the same thing again later with an additional comment on my site to his (after all, why start a new separate conversation thread when I can send webmentions from my comments section and keep the context?).

Matt later approved my comments and posted his replies on his own website. Because his site is built on WordPresss, I got email notifications about his replies, and I was able to use the following URLs with the appropriate fragments of his comments in my manual webmention box:

After a quick “massage” to change them from “mentions” into “replies” and add his gravatar, they now live on my site where I expect them and in just the way I’d expect them to look if he had Webmention support on his website.

I’ll mention that, all of this could be done in a very manual cut-and-paste manner–even for two sites, neither of which have webmention support.  But having support for incoming webmentions on one’s site cuts back significantly on that manual pain.

For those who’d like to give it a spin, I’ll also mention that I’ve similarly used the incredibly old refbacks concept in the past as a means of notification from other websites (this can take a while) and then forced manual webmentions to get better data out of them than the refback method allows.

Read The discovery metadata field by Matt Maldre (Matt Maldre)
The internet would be a really interesting place if every article that was shared automatically had a “via link.” Ok, so the internet is already interesting. But what makes the internet such a great place is its connectivity. Everything is linked together. We can easily share a link to an article. So many links all … The discovery metadata field Read More »
I’ve been fascinated with this idea of vias, hat tips, and linking credit (a la the defunct Curator’s Code) just like Jeremy Cherfas. I have a custom field in my site for collecting these details sometimes, but I should get around to automating it and showing it on my pages rather than doing it manually.

Links like these seem like throwaways, but they can have a huge amount of value in aggregate. As an example, if I provided the source of how I found this article, then it’s likely that my friend Matt would then be able to see a potential treasure trove of information about the exact same topic which he’s sure to have a lot of interest in as well.

One of the things I love about webmentions is that these sorts of links to give credit could be used to create bi-directional links between sites as well. I’m half-tempted to start using custom experimental microformats classes on these links so that when the idea takes off that people could potentially display them in their comments sections as such instead of just vanilla “mentions”. This could be useful for sites that serve as inspiration in much the same way that journalistic outlets might display reads (versus bookmarks, likes, or reposts) or podcasts could display listens. Just imagine the power that displaying webmentions on wikis could have for their editors to later update pages or readers might have to delve into further resources that mention and link to those pages, especially when the content on those linked pages extends the ideas?

Tim Berners-Lee’s original proposal for hypertext was rejected because it didn’t bake bi-directional links into the web (c.f. Webstock ‘18: Jeremy Keith – Taking Back The Web at 13:39 into the video). Webmentions seems to be a simple way of ensconcing them after-the-fact, but in a way that makes them more resilient as well as update-able and even delete-able  by either side.

Of course now I come to wonder just how it was that Jeremy Cherfas finds such a deep link on Matt’s site from over a year ago? 😉

Jeremy Cherfasupdate on the IndieWeb wiki ᔥ the IndieWeb-meta chat ()

Read Add class attribute to WordPress "the_tags" markup by WebrockerWebrocker (Webrocker)
I'm in the process of gradually enhancing my site's markup with microformats, in order to "indiewebify" my site further. On thing I noticed while working on this at the Düsseldorf Indiewebcamp, is that WordPress (or the way my theme handles) tags on posts has no way to get an additional class insid...
David Shanske is sure to appreciate this if he hasn’t come across it. (I didn’t see it in his IW26 theme repo, so perhaps not?)
Liked a tweet by HongPong (aka scrappy new year - think creatively)HongPong (aka scrappy new year - think creatively) (Twitter)
Read How To Add a Class to a Single Post in WordPress by Tom McFarlin (
As I’ve continued to work on the theme that I’m planning to use after Standard (and that I’ hoping to begin dogfooding within the next month or so), there have been a couple of features that I’ve wanted to implement for the sake of styling. For example, there are times where I want to be abl...
This was useful in my microformats project for the Twentyfifteen theme modifications today.
I like the idea of the microformats web extension. I suspect it could do with an update to microformats v2 though. The idea of being able to parse a page and add contact information or events directly to my address books or calendars is pretty awesome.

I could also appreciate it parsing a page and allowing me to use an h-card to quickly create a follow post and automatically add a page’s feed to my feed reader.

Liked IndieWebify.Me Updates by gRegor MorrillgRegor Morrill (
When people are getting started in the indieweb, we commonly point them to IndieWebify.Me to validate some of the building blocks on their site. One of those building blocks is the h-card microformat which is used to markup information about yourself: your URL, name, photo, bio, and more. Earlier th...