Boris Mann

Open Source. Community. Decentralized Web. Building dev tools at Fission. Cooks & eats.

Home

MicroBlog, Jekyll, MicroPub and IndieWeb

  • Created: September 29, 2018

As part of my dive back into open source, I took a look at my blog, social networks, and other tools Iā€™m using.

Well, maybe thatā€™s not quite true. Iā€™ve been tinkering with my blog for 16 years, I doubt Iā€™ll ever stop, regardless of how Iā€™m spending my time!

Twitter all the things

Iā€™ve stopped using Facebook, Tumblr, Medium, and Instagram and doubled down on using Twitter for my ā€œwhole selfā€. Which in my case means posting cooking storms, long threads on travel, as well as lots and lots of tech.

For this post Iā€™m not going to get into why Iā€™m off other platforms. With Twitter, Iā€™ve always seen it as of the web, at the very least ā€“ a link for every post. And, thanks to a long ago setup, I have an automatically updated archive of all my tweets.

Twitter once again made changes to their API for third-party apps. Iā€™ve used Tweetbot for years with aggressive filtering to make using Twitter much much better. And Tweetbot still does that, but Iā€™m worried for when thatā€™s no longer possible.

And then Twitter locked my account and wanted to send an SMS to my Canadian number while I was in the US.

And that was a good reminder that that I should work on being less dependent on Twitter[^twitter-failure] as well.

Using MicroBlog

Iā€™ve had my eye on Micro.blogMicro.blog
A hosted microblogging service that uses [[Hugo]] static site generator underneath. Supports [[IndieWeb]], MicropubMicropub
An open API standard for creating, editing, and deleting posts on websites, like on your own domain, supported by numerous third-party clients and CMSs.
An [[IndieWeb]] standard, [[W3C]] Editor is @aaronpk. Main page on the IndieWeb wiki.
Micropub clients:
Micropub servers / hosts

[[Micro.blog]] supports it for publishing. Its using the ā€œLinkā€ or ā€œBookmarkā€ type for a different purpose, that doesnā€™t actually get published to your feed.
@voxpelli [[Micropub to Github]] - this is what I first ...
, [[ActivityPub]] and more independent and open web protocols.
Founded by [[Manton Reece]].
[[Recommended]] for people who want to run a blog on their own domain, while still being able to cross post to Twitter, LinkedIn, Medium, Tumblr, and Mastodon. Also supports podcasts and videos at premium accounts.

I pay for an account to run my microblog at blog.bmannconsulting.com. ...
for a long time. I reserved the handle @boris there right at the beginning, but didnā€™t do anything with it.

I have great admiration for Pat Dryburgh and saw him working on a Jekyll theme and using MicroBlog so all his content is on his own site.

MicroBlog is free to use. You sign up and then link in one or more feeds, either RSS/Atom or JSON, and it will publish these to your timeline, linking back to the original. Itā€™s centralized in its namespace, but aggregates content.

You can pay for a few different things. If you donā€™t want to run your own blog, MicroBlog will run one for you. What I pay for is cross posting, which is only $2/month. This enables, on a per feed basis, linking in your Twitter, Medium, or LinkedIn accounts, and posting content to them. Facebook Pages are supported, but I havenā€™t been able to get that working, and that isnā€™t really what I want to spend time on.

Jekyll and Git

Since I use Jekyll for my blog, all of the content is text/HTML/Markdown files. I store them in Git, and have used a variety of tools to generate and serve up the static HTML site.

Currently I have the blog source in a private repo on GitHub and use a free account on Netlify to build and serve it1.

But, with a static site, I need to run a separate server if I wanted to accept short posts on mobile. Specifically, with MicroBlogā€™s iOS client, it talks to either a Wordpress site or to anything that can accept MicropubMicropub
An open API standard for creating, editing, and deleting posts on websites, like on your own domain, supported by numerous third-party clients and CMSs.
An [[IndieWeb]] standard, [[W3C]] Editor is @aaronpk. Main page on the IndieWeb wiki.
Micropub clients:
Micropub servers / hosts

[[Micro.blog]] supports it for publishing. Its using the ā€œLinkā€ or ā€œBookmarkā€ type for a different purpose, that doesnā€™t actually get published to your feed.
@voxpelli [[Micropub to Github]] - this is what I first ...
2 posts.

Microglue

I talked to Pat, who was already doing interesting things with podcasts and Git to get things on MicroBlog, about what a little Microglue server would look like.

Iā€™d want it to run on Heroku, talk to the GitHub API, understand Jekyll front matter and markdown, and speak Micropub.

I wrote this up as a series of issues in a GitHub repo with feedback from Pat, intending to place a couple of bounties. Time passed, I added a large BorisCoin3 bounty via Gitcoin, and then had ozkan leave me a note about an existing implementation.

Rube Goldberg IndieWeb

And so I dove into Pelleā€™s webpage-micropub-to-github. He pretty much wrote it exactly how I had hoped to have such a thing built.

Itā€™s built in Node and has a Deploy to Heroku button which can get you up and running in minutes.

Of course, minutes turned into slightly longer as I worked on getting the entire IndieWeb toolchain configured and setup on my blog and various other places.

I documented the process in a Github issue and will likely fork Pelleā€™s code so I can experiment, bounty some issues, and generally make it work for me. And then contribute fixes upstream of course!

Is it working?

Since I was using live accounts for all of this, various messages made it through to different systems.

This one made it to twitter:

I may quite possibly be posting this via micropublish.net, to my own micropub server on Heroku, which turns it into Jekyll compatible md file and posts it to Github, which sends it to Netlify, which creates a feed for MicroBlog.

Which got me a ā€œSaw what?ā€ from @jimgroom.

But my favourite was the ā€œItā€™s past midnight, is it working yet?ā€ which made it all the way to Medium and LinkedIn.

Next Up

Iā€™m now trying out a bunch of MicroPub Clients, and also documenting that in issues.

Iā€™ll turn a bunch of these things into issues and see how much farther I get.

I donā€™t have the MicroBlog iOS client working yet, and neither is the OwnYourGram site (which is really great for walking you through every step of getting your IndieWeb / MicroPub setup). Both need some upgrades to the server to work with media handling.

I also need to share the micro and full JSON feed templates that I made for Jekyll to syndicate to Microblog with. Stay tuned, and perhaps Iā€™ll have time to actually organize a fun IndieWeb meetup in Vancouver soon.

  1. My ColophonColophon
    Historically, a Colophon was ā€œa statement at the end of a book, typically with a printerā€™s emblem, giving information about its authorship and printingā€ (via Google Dictionary).
    So, I keep notes on what software and other tools I use, in part as notes to myself.
    My Blog ColophonBlog Colophon
    Itā€™s archives all the way down! This is archive version of how Iā€™ve run my blog over the years. The [[Colophon]] page covers ā€œthisā€ site, which is sort of a superset archive. The plan is Iā€™ll keep it active from now on in this Digital Notes Garden format.
    July 2020 - current
    The long(er) form content from the (original) blog.bmannconsulting.com has all been imported here.
    I swapped that blog domain to [[Micro.blog]], and thatā€™s where I post photos and short content, and sort of more non tech ...
    documents software & changes all the way to 2001.
    [[This site was last built: {{ site.time | date: ā€˜%B %e, %Yā€™}}::lmn]]
    Current
    [[Simply Jekyll]] theme for Jekyll. If you want to run it yourself, Iā€™ve got some...
    and Blog ColophonBlog Colophon
    Itā€™s archives all the way down! This is archive version of how Iā€™ve run my blog over the years. The [[Colophon]] page covers ā€œthisā€ site, which is sort of a superset archive. The plan is Iā€™ll keep it active from now on in this Digital Notes Garden format.
    July 2020 - current
    The long(er) form content from the (original) blog.bmannconsulting.com has all been imported here.
    I swapped that blog domain to [[Micro.blog]], and thatā€™s where I post photos and short content, and sort of more non tech ...
    have documented my blog travels over the years. ā†©

  2. The IndieWeb site talks Micropub, which is in fact a W3C Recommendation. Itā€™s been a while since I paid attention to this ā€“ great to see the spec matured and formalized. ā†©

  3. My experimental Ethereum token. ā†©