Current status:
- Created a working way to submit JSON formatted blogposts to this site, code on GitHub
- Included that in my earlier scripts to create posts from my feed reading, that I now no longer then have to post by hand.
- Created a Microsub client to replace my feed reader, in which I can respond directly from within the page I am reading, and do so to different websites I maintain.
- Combined the same basic script with a local webform so I can very quickly post something. I don’t think I will be using this possibility much but it was a good way to add a front-end to the micropub script first and fast.
- Can take a local markdown file written in Obsidian and post it as html to my site. This is by far the most useful to me
- I write my blogposts in Obsidian, drafts live in a specific writing folder. They have two inline data fields, status and tags. While writing a note has status ‘writing’, when it is ready to publish I set the status to ‘draft’.
- Within Obsidian I use the same status field to create a dynamic overview of posts being written, ready to publish, and previously published (using the DataView plugin).
- When I’m ready to post, I hit a hotkey which launches my PHP script. It looks at all files in the specific writing folder and checks for files that changed within the last few hours and if those contain a status field ‘draft’. For those that do it transforms the markdown in those files to html, and then posts that to my site, using the tags in the other data field to tag and categorise the post. It also sets the status field in my notes from ‘draft’ to ‘posted’.
- I could also run the script every hour or so using a cron job, so that anything posts automatically, while I go on with my other work.
- Use the form in my feedreader to save an article in markdown to my notes in Obsidian with my rationale and some remarks.
- Use the form in my feedreader to post an annotation to Hypothes.is (similarly formatted to posting it to my notes in Obsidian)
Rationale:
Local first, personal, narrow band
See blogpost.
Narrow band means:
my preferences can be treated as default inputs
my tasks are predictable to me
together they are functions with parameters, aka code.
Sources:
Micropub standard
IndieWeb wiki on Micropub
Tips from Jan Boddez (in Dutch)
Jamie Tanna’s work on his personal micropub client
Jamie Tanna’s tool to get authorisation tokens manually, great for testing/development.
Parsedown, which I use to translate markdown files written in Obsidian, to HTML for my site.