Category: Indieweb

The only way for you to Indiewebify your WordPress blog is to subscribe to a business plan? That can’t be right because that plan’s not cheap. #indieweb

A quick question for the IndieWeb community here, how do you send the webmentions? Is it automated on posting? Is it part of the micropub or an independent script? Are there ready resources, scripts or tools available? I couldn’t find much on indieweb.org.

I wish there was a clean Micropub client which could handle long form posts – especially saving drafts. I usually use the self hosted Micropublish instance for notes, likes etc as I prefer the interface. But not for long form which Quill does handle better. However, it just isn’t right.

There have been times – like now – when I think I should just attempt to create one Micropub client focused primarily on long form posts. My needs are simple – a clean, distraction less interface to write. Support local drafts. But then had to stop myself and wonder, may be there does exist such option out there which I just am not aware of?

Finally, managed to document the steps to enable webmentions support on one’s site. I hope it comes handy for at least few people. This should allow people to fetch mentions to their posts, including the replies from micro.blog, and display them along with posts.

Blotpub bundles a Media Endpoint now

There was one (last?) missing piece in the quest of mine to simplify posting to my blog – and that was photos. Most of my posts originate on micropub clients, mainly Micro.blog. But photos couldn’t without a media endpoint. Not any more. Blotpub now has one in-built.

Blotpub now supports syndication to Mastodon

With all the recent discussions around Mastodon and how it is different, possibly better, I thought there is no way to judge that without using the platform first, be a native resident”.

But I have come to realise one fact, I just can’t post actively at multiple places. Especially important, none of those places can not be my blog. It has to be posted on my blog first and may then flow into other systems. POSSE.

Micro.blog was covered, via feeds. It had also got me covered for Twitter. Mastodon didn’t look to be an easy case. There is no easy way to push updates from feeds to Mastodon. Web hooks may be the only feasible way. I thought I had to get a more seamless solution than that.

And what better may to do that than syndicating right while posting. So I have updated Blotpub to support syndication to Mastodon. I can now indicate the Micropub clients to syndicate current posts to Mastodon. Nice!

Blotpub Now Supports Likes and Replies

Since I introduced blotpub a couple of days back, I have been continuously posting to the site from different Micropub clients. And I am happy that the system worked well. Added satisfaction was provided by the community by expressing interest and openness to try the endpoint out.

As I had mentioned in that post, handling “the creation of like and reply post types” was next on the list. I just couldn’t live with the fact that the endpoint didn’t handle these simple post types. So, it had to be addressed. And it is addressed now — the latest version of blotpub handles replies and like posts.

The information is added as properties in-reply-to and like-of to the post metadata.

In addition, support has been added to explicitly place the date property as part of the metadata.

Earlier, file creation date was used as the post date. The enhancement was discussed with @jack as part of this git issue. With this version, if the published date is provided, it would be set in the metadata. Else date-time for post creation request would be used. To enable this, just set SET_DATE environment variable to true. Additionally, you can also set the TZ variable to override default timezones for the server hosting your endpoint. Refer to the README for more details.

I have also fixed some minor issues in handling the post creation via different clients, mainly Micro.blog iOS client.

What’s next? Handling of image files.

Blotpub – Micropub Endpoint for Blot

Continuing my experiments with Blot, and as a next step in Indiewebifying it, I had recently sorted out the webmentions setup and display.

There was one final piece of puzzle missing, one that I had posted in a recent update on the theme refresh.

Why not make this the primary homepage? Well, I am still on the journey of indiewebifying this place. I still post to my site using other apps, mainly Quill and Micro.blog. Until I get the micropub endpoint that I am working on done, I will keep this place booked for my excursions, my experiments.

Well, I finally managed to get a basic version of one worked out. Basic, but a workable version. Introducing Blotpub.

It is a self-hosteable Micropub endpoint for blot.im and Dropbox. It accepts Micropub requests, creates a simple Blot posts and saves them to a configured Dropbox folder. This enables updating a Blot blog through a Micropub client.

I have tested creation of both long and short posts via Quill. It supports creation of posts with or without titles. For me, the former are my micro posts while later are more of the long form articles.

It also supports metadata creation for tags and slugs as part of the post documents.

With this, I have my basic needs covered. Most of the time, I am posting text posts; the current version should be able to handle that.

Next, I need to handle the creation of like and reply post types and also handle the image files. It may so happen that I end up getting these done soon. However, I wanted to put the bare bones version out there.

How do I use this?

Well, as I said earlier the source is open. It is a Node application which you can self-host as your own micropub endpoint. I have covered some of the details as part of the project readme.

However, before you use blotpub, there is one essential step from IndieWeb that needs to be addressed – to make your website your identity online. It involves declaring openly your social network profiles as rel-me links and link those profiles back to your site. This allows you to login to any IndieAuth enabled services using your website’s homepage – no need to create an account or maintain passwords.

You can refer to the Essential IndiWeb” section in this post on how to display webmentions on your site. That step applies to using a micropub too.

This is an early alpha release of the application. Things may be a bit unstable. Please use it with caution. Also, I will continue to work on this and improve it, so, you may have to refresh your deployment regularly. However, I would be happy if you choose to join me on this bumpy ride – this will only get better with more people using it.
  1. Install: Just install this as a normal Node.js application. A better way would be to deploy directly to Heroku.

  2. Grant Dropbox Access: Generate a Dropbox access token from the Dropbox App Console to grant the application access to your Dropbox folder. Just create a new app in the console, chose API as Dropbox API, select the type of access as Full Dropbox” and finally, name your application. You will need this generated token while configuring your application. Just to reiterate the point, the Permission type” for the app that you create for blotpub in dropbox needs to be set to Full Dropbox”
  3. Configure: Add the required configuration values via environment variables or the Heroku app deploy dashboard. You will need the token generated above.

  4. Endpoint Discovery: Once you have deployed the application, your Micropub endpoint will be available at /micropub (e.g. https://deployed-blotpub-app.com/micropub). Note that the endpoint url is different from your website url. It would be the url for the blotpub application that your installed in the 1st step.

    For Heroku deployment, it would be something like https://*****.herokuapp.com/micropub (exact url will be available at Heroku dashboard). To enable automatic discovery for your Micropub endpoint and token endpoint, you will need to add the following values to your Blot site’s <head> – usually available in the head.html file in your theme/template.

<link rel="micropub" href="https://deployed-blotpub-app.com/micropub"> <link rel="token_endpoint" href="https://tokens.indieauth.com/token">
  1. Media Endpoint: Most of the micropub clients, like quill, can send the media files as multipart data. So, you can attach image while creating a new post. However, some clients like Micro.blog require a Media Endpoint to handle the media files (primarily the image files). Blotpub comes with an inbuilt media endpoint. To use it, just configure the MEDIA_ENDPOINT variable in your blotpub deployment to https://deployed-blotpub-app.com/micropub/media (for Heroku, something like https://*****.herokuapp.com/micropub/media). This will allow you to post image from such clients too.

  2. Note that file uploads via blotpub media endpoint will only add the image file at the location configured at PHOTO_PATH and the URL to the image will be added to the post metadata as photo: <url-to-image>. To render this in the post, you can add the below code block in entries.html and entry.html in your Blot theme either before or after {{{html}}} as per your preference.

{{#metadata.photo} } <img src="{{metadata.photo} }"> {{/metadata.photo} }

You should now be able to post to your Blot site from external Micropub clients (like Micro.blog iOS App, Quill etc). If you do use this, ping me. All your feedback is welcome.

Update – IndieWebifying the Blot site

Given the recent focus on the working on Micro.threads, I hardly had any spare time for working on exploring Blot. Micropub remains a distant dream. In line with the first update, I thought the best way to get going would be to IndieWebify the site first.

So I took some time out today and started with incorporating the basic principles. Some were addressed without much hiccup. Some have left me with some questions.

  1. Web Sign In is enabled. However, it did throw a curveball. Given that I already have my primary site active, how can I include rel=me links point to any of the Twitter/Github services? Concern is primary as I cannot link my Twitter/Github profiles to multiple homepage. May have to identify a different unused profile?
  2. h-card microformat is incorporated; so the site provides information on me now.
  3. h-entry microformat is added to all the post entries. There is one issue though. I could not find any way to format the published date that gets displayed on the posts. The post properties exposes just , which gets the default format of MMM DD, YYYY. And I do not think it’s a valid ISO-8601 as expected by the microformats2.

Update: I did sort out the way to format the published date.

Stuff to sort out next

  • Webmentions, both send and receive. I think I may keep this for later. I do not think I want to bring in the interactions at this point
  • Support for different posts types – replies, likes and reposts. I need to be able to add these posts type. However, more I think about it, I come to realise biggest benefit is going to be once Micropub is setup and site is able to send the Webmentions at the least. So even this might take some time.

State of Microsub Servers and Client

I had recently expressed an excited opinion on Microsub, the new” Indieweb spec. I could then see the potential of the standard and also the available solutions, the server and the clients, around it.

I have seen Monocle in action now and realise the power of Microsub standard. I do not think I can read feeds in any other manner now. This is fantastic!

The fact that there exists a hosted Microsub server in Aperture is a great start, it has given a chance to many to get started knowing the standard early. And I know people like Aaron Parecki are hard at work to continue improving the clients like Monocle. However, I think my excitement was premature.

No doubt, the core technology behind Microsub is solid and it can eventually redefine the way feeds are subscribed to and consumed. And bundled with Micropub to post actions of the type like, reply, repost directly to your website right from your reading view makes it absolutely magical.

So I don’t blame myself that I got excited about the standard seeing the potential of what can be achieved when all these Indieweb standards work seamlessly together. Seamless is the key though. For the last few days, I have been trying to use Monocle as my primary feed reader. Unfortunately, the whole system has some way to go before I actually can. I am just noting down the frustrations I encountered using the system.

  1. Keeping the read status of the posts in sync is flaky. Many of the posts I have read already are shown again. Some of the posts that should have already popped up are not available for some time. When they finally are, they are available in bulk. If I understand the standard correctly, it is the server at fault here. And it is only a single client involved at this point.
  2. Subscribing to feeds with the server is not easy. Not user experience wise, but again in terms of the unreliability of the posts appearing in the stream. At times, there are 0 posts fetched; at other times, there is a bulk of hundreds of posts. It poses a challenge for the client.
  3. And to the client. I think we can learn from the available feed readers and focus on the must-have features – which are primarily around showing available posts. Monocle currently cannot be configured to show only the new posts. Filter options are limited. Sorting options are limited. Marking read/unread is unavailable. Subscribing to new feeds is not possible (even though spec has a follow API which I hope Aperture exposes). Few of these might be nitpicking, but they are important when the reference for most new users would be existing feed readers.
  4. The concept of Microsub server and client, former for maintaining the feeds and the later for displaying them, sounds great. However, to get people on board, we will need at least one application that does the job of both. Wish Monocle and Aperture were two components of a single application.

I know the standard is still a work in progress, especially the server and client applications. So no doubt there would be some kinks in the working. The intention of this post is in no way to demean the people involved or pinpoint at the failures. My intention is to capture my thoughts on why, even though I want to, I cannot yet use the current applications in place. The standard is making significant headway and I hope I would soon be able to benefit from the system. As Aaron says in his introductory post I referenced above –

My goal with this is to use this as my primary online dashboard to follow all kinds of content, as well as being able to interact with the content without leaving the interface.

Amen to that. Unfortunately, now is not the right time. So I am back to my search for that perfect feed reading service.