‘Indiewebifying’ my website

TL;DR

Started out with zero knowledge of indieweb and wanted to indiewebify my hugo website and use self-hosted services or apps. Discovered that a completely self-hosted indieweb workflow (on a static website) has several components to consider and setup (not to mention the things I don’t know that I don’t know). Finally, reverted to using wordpress in order to get started.

I was successful in laying the foundation of an indieweb based workflow. i.e I can post on my website, and syndicate the content to Twitter / Mastodon / Github.

Note: I did not explore much of micro.blog, as I would prefer to have a self-hosted system.

Init

I’d written earlier about setting up my wordpress site on a VPS. While I understand that CMS’s like wordpress are used for a reason – a braindump and active blog workflow is better facilitated without the overhead of managing a CMS. For example, a static site generator like Hugo has an inbuilt web server, thus eliminating the need of a LAMP/LEMP stack.

In particular, Org mode in Emacs can be easily leveraged into exporting notes into a website. The static website could be updated with a simple commit of an org file. For example, Kaushal Modi’s website is my favorite go-to reference (and inspiration) for a ‘feature filled’ static website that has been ‘indiewebified’.

For all the conveniences they bring, static websites have caveats. One is the inability to enable trackbacks and pingbacks out of the box. Another issue lies with integrating a native comment system and a place for discussion, while not using a service / silo like Disqus, which appears to be incorporated by default on most Hugo themes. The Hugo docs mention several alternative commenting systems, each having their own pros and cons.

During this exploration, I stumbled on to the ‘IndieWeb’ approach and movement. It made me realise that it is actually possible that my own website can serve as a better indicator of my interests and activities. This would work if it served as a central hub of my activity. i.e POSSE or Publish (on your) Own Site, Syndicate Elsewhere. ‘Webmentions’ are used to interact with other sites.

A Webmention is an open standard for a reaction to something on the web. It’s currently in W3C recommendation status. When you link to a website, you can send it a Webmention to notify it.

It’s comparable to pingbacks, except that webmentions contain a lot more information than a simple “ping”. They can be used to express likes, reposts, comments or other things.

  • Max Bock’s post series on indieweb, which is an excellent reference to get an overview of indieweb.

For static websites – Kaushal has a nice workflow setup with Netlify and Zapier, if one does not mind using 3rd party services to begin with. There are some other solutions like nanopub, which I did not try. As mentioned in an earlier post, I almost got webmentions.io running, (at which point there was not much left of the weekend), and I reverted back to WordPress. During this process, I found that enabling WP_DEBUG is important to debug errors.

Note: when I started looking into setting up a static website ~2 years aggo I was focused on publishing my notes and establishing a web presence, but quite unconcerned about facilitating ‘interaction’ with the readers of my content. However, building on discussions in – I think it is important to enable comments and interactions and manage them in the best way possible

Micropub – posting stuff from different devices

The indieweb wiki has a long list of Micropub clients.

I tried Micropublish, Quill and Omnibear. I intend to check out shpub later, as that would help with capturing and posting content from tmux sessions on my Linode VPS.

On the computer

Omnibear is a browser extension enabling micropub posts, and has a concise, but lucid introduction to Micropub. However – I could not get Omnibear work for me, and resorted to using Quill for bookmarks, likes, reposts, and replies while I’m on the computer.

Once registered on Quill, bookmarklets can be found for posting bookmarks and likes, and I was able to conjure a simple bookmarklet for replying to posts.

on iOS

Inevitably, there are times I consume content on my phone or even want to re-read a blog post. There are options like instapaper to control the content you read. However, I’d rather have a list of my reading material and comments on my website itself.

I’m currently using the iOS app indigenous, which is serving my needs for now, though there are of course several edges to be polished. The app enables me to consume content and post bookmarks / comments / likes to my own website. I do not see any other native iOS apps, though the editorial app can be used to post to indieweb sites. I gave this a brief shot, but did not get it working as I did not have a indieauth token handy.

The good thing is that I can now bookmark good posts on Linked in (or use any other app) though the sharing sheet. So far, I have been archiving most such links into the Devonthink app.

Concluding remarks

  • This post is by no means exhaustive in terms of covering information available on indieweb, nor did I note down every website / blog post or wiki page that helped me. I’m just getting started with indieweb, and there is a lot more to explore. However, I believe this is now a IndieMark Level 4 website!
  • The indieweb wiki is IMHO – the best place to start and contains almost all the information needed. If I went back and did it again – I would take the time to go through the wiki in detail first.
  • It appears a lot easier indiewebify a wordpress based site (though there are other CMS’s with inbuilt indieweb support to consider). For example, the indieauth plugin creates an ‘instant’ token when contacted by a service (after logging in using your website / wordpress credentials). It works out of the box.
  • it is definitely possible to ‘indiewebify’ a static website, and also set it up without third party services. However, it is not straightforward for a newbie. Since using a static site has many conveniences – I intend to explore this in the future.
  • Publishing from Emacs: I have org2blog setup to post to my wordpress site from Emacs. This does not seem to support specifying ‘Kinds’ (article/note/bookmark etc). I’ve forked the package with the plan of working on it.
  • Publishing from a website I am browsing: Quill’s bookmarklets do the job for me.
  • Publishing from iOS: the indigenous app works, but I’d really like the interface to be more like Quill. Perhaps it is necessary to look deeper into workflows with the Editorial app.
  • Syndicating to Twitter / Mastodon / Github: I’m yet to try the github syndication. However, I am able to syndicate to Twitter, as well as Mastodon (hint: Activitypub plugin for wordpress. This enables the WP blog to function as a Mastodon instance). There are some rough edges to sort out, but it works for now.

References and Acknowledgments

  • Calum Ryan’s blog post contains another great overview of .
  • The IRC channels of #indieweb, #indieweb-dev and #indieweb-wordpress were instrumental in helping me resolve queries.
  • Special shout-out to David for helping me resolve the PHP dependency issue, and his patience. This post would have reported general failure in getting started with indieweb, if not for David.
  • Thanks to Aaron for guidance and helping me get going with Quill. I love his website!

3 responses on “‘Indiewebifying’ my website”

  1. “Started out with zero knowledge of indieweb and wanted to indiewebify ” – this begs the question why? Specifically, since you didn’t know what the things was, it follows that you couldn’t have wanted it because of its characteristics so what remains is at best “someone’s recommendation of it and my trust in that someone”. So then, quite a bunch of questions for you: whose recommendation did you follow, why exactly do you trust them on this, how did you evaluate your trust, what are the conditions under which you’ll conclude that you misplaced your trust in this instance and what is your recourse if that happens?

    How many accounts/register/store-it-with-X-app instances are in the above? It’s not fully clear but from what I read, it would seem to me there are quite a few already (on top of anything else you might have going otherwise already).

    The “webmentions” honestly doesn’t convince me at all – if it’s a “like” then it’s a comment saying that much; if it’s more then the ping” link is there precisely for one to follow and any “more information without following the link to source” is rather a minus than a plus. And what happens when in a few more years (months?) there’ll be yet another improvement “recommended” and all that?

Leave a Reply

Your email address will not be published. Required fields are marked *