This page is a draft.

A few years ago I learned about IndieWeb — an initiative for people to control their online identities and content by self-hosting it on their own domain and syndicating it out to "silos" like Twitter, Facebook etc., retaining ownership and control.

They advocate adding some small amount of markup and attributes to your site in order for some data to be more easily consumed by scripts and programs. Adding this to my site looked like it would be very quick and easy, so I thought I'd give it a go.

h-card

this isn't actually implemented Live.

The first suggested metadata to add is an "h-card": effectively a digital equivalent of a business card. I already have the data at about, so it was just a matter of wrapping that data in some additional tags, or adding additional attributes to existing tags.

My main objection to what I've read about h-card is there's a strong lean to put it at the root of your site. I've not done that, and I don't particularly want to do it: I think it would make the front page look cluttered.

h-card - https://indiewebify.me/validate-h-card/

  • can I have some kind of forward pointer from / to /about and put the h-card stuff all there?

u-photo on the img... except it's not inside an h-card thing yet

h-entry

The second suggestion is to mark up "entries" on your site with metadata to make them "h-entries". This seems very close to what RSS/Atom syndication do already: my atom feed already has author, entry permalink and publication date metadata.

None-the-less I looked into what is needed to add this metadata to the HTML version of blog posts. The h-entry spec requires each entry to have a permanent, canonical URI for itself in the content of the page. Surprisingly, IkiWiki didn't already do this. I had to write a (trivial) plugin to add a template variable that can be included into pages.

where is this plugin?

h-entry wants you to include the publication date for entries, as content, and stipulates the format that the date must be represented with: ISO8601. I already have the HTML "date" tag for entries, e.g.

<time datetime="2020-04-03T15:44:01Z" pubdate="pubdate">
  Fri Apr  3 15:44:01 2020
</time>

Which happens to use ISO8601 for the datetime attribute already, but is flexible enough for me to include any representation I like for humans.

stop generating pubdate=pubdate (invalid HTML5) and instead apply class dt-published

add to page.tmpl, .e-content, .p-name, u-url (permalink plugin), dt-published (above patch)

https://indiewebify.me/validate-h-entry/

web3

You might have heard about a recent initiative/branding exercise from the crypto-currency world called "web3". What web3 is, or claims to be, is not exactly clear (except being part of an ongoing enormous-scale, environmentally destructive fraud).


Comments

Comments on this page are closed.