I’ve started to write a Micropub client. Not a generic one (there are a range of them out there), but one for my personal use case(s) and specific set-up. For instance so that I can prepare a short blogpost within my everyday note taking system, and then post it to my website here.
I’m doing this because I found that my personal use cases don’t fit well with the clients that are out there. I want something that is local first. Something that stays within my workflow, does not require me to switch context or tools (not having to go to my WordPress back-end or a separate app to post e.g.). Positioning blogging as something that isn’t a separate task, where posts get prepared as a regular by-product of my other tasks, just needing me to finish them and hit post.
A personal software tool in short.
The upside compared to more generic existing Micropub clients is, that I know my own specific use cases and set-up. A personal tool does not have to cater for every option of eventuality, just needs to cater to something very specific. That should make it easier to build as a ‘narrow band’ tool, not requiring many ‘what ifs’ to be covered. This because, as I wrote in the linked blogpost, in narrow band tools, my context and preferences are the default inputs, and my tasks are predictable, allowing them to be put together into the equivalent of a function that you pass a few parameters. The result basically is code.
I’m writing it from scratch and now am trying my hand at writing the most minimalistic script that can take some content and post it to my blog, focusing on sending something from my php script to my website through its Micropub endpoint.Using the helpful suggestions of Jan Boddez on where and how to start, reading up on Jamie Tanna’s experience doing the same, and using his tool to manually generate the right authorisation tokens for Micropub (found here).
I’ve hit my first snag to solve, which is that my calls to the Micropub endpoint fail because there’s an issue with the HTTPS encryption (certificate verify failed). Procrastinating on solving that, I’ve written this post, and opened a page here to track progress.