Replying to micro.blog posts, directly from my blog
Lately I’ve started to use micro.blog more actively again. As part of that I’ve also started to reply more to posts and have stimulating conversations. That made me realise that those conversations might be of interest to have on my own site, so I should really try to set up my system so that I can reply to micro.blog posts directly from my blog. Yesterday some free time opened up during the evening so I gave it a go and it more or less works.
So first off, here’s my setup. I self host a WordPress blog. It uses a theme that I’ve made myself and quite a few plugins that I didn’t make. The important plugins in this context should be IndieWeb, Post Kinds, Semantic-Linkbacks and probably most important Webmentions.
There’s a help page on micro.blog about called ”Replies and @-mentions” that tells us that:
For an external blog post that is a reply to a specific Micro.blog post, the external blog can send a Webmention to Micro.blog. As long as the sending blog is associated with a Micro.blog user, that post will be copied to Micro.blog as a reply and threaded into the conversation. Micro.blog’s Webmention endpoint is: https://micro.blog/webmention
So that’s what I tried to set up. I created an iOS Shortcut for my iPhone and iPad that I can trigger from the ”Share” menu in the micro.blog app that creates the hyperlink and fills in the @username-part. It then asks me for my reply as input text and finally sends it off to my blog.
On the Mac I don’t have quite such a nice automation workflow yet. Instead I just have a TextExpander snippet to fill in the hyperlink a bit faster.1
I also mark up the hyperlink with class="u-in-reply-to"
, though from the help text I suspect that’s not fully necessary.
Getting things working
The thing I knew I had to tweak was the part about how ”as long as the sending blog is associated with a Micro.blog user”. I’ve had multiple people reporting to me before that my webmentions shows up as sent by anonymous rather than as me, so I figured I had to sort that out first. To do that I used the Indiewebify.me service and checked how well my blog did the ”Become a citizen of the IndieWeb” and ”Publishing on the IndieWeb Level 2 – 1. Mark up your content (Profile, Notes, Articles, etc…) with microformats2” parts.
They showed that I had some tweaking to do, mostly because I had mistakenly only marked up part of my h-card as such so a lot of things where missing.
When that seemed to work I made a test reply to one of my own posts on my blog and the webmention had my name attached to it, so that seemed like progress.
I then sent out a post asking for people willing to receive some test replies and John (@johnjohnston) and Ron (@ronguest) where kind enough reply. The first proper test almost worked. It did show up a a reply but it identified as sent by blog.henrikcarlsson.se instead of by @MrHenko, so some part of micro.blog identifying me as me didn’t work.
So I dug around some more and realised that I had inputed http://henrikcarlsson.se as my web site in micro.blog’s account settings. While that is technically true, as my blog posts comes from the subdomain http://blog.henrikcarlsson.se, so I tried changing to the latter in micro.blog and that worked. My replies on my blog arrives properly threaded in micro.blog and properly attributed to @MrHenko.
One glaring problem remained though. Every reply from me got double-posted. I assume that is because I technically do send two things to micro.blog. A webmention from the blog post and then the post itself because it shows up in my RSS feed that is used to feed micro.blog.
My solution was to post my replies in a special ”interactions” category that I use the Ultimate Category Excluder plugin to exclude from my main RSS feed. And with that in place things more or less worked as intended.
Some things that still need tweaking
Every time I make a new reply in a thread in a micro.blog conversation, that’s a new post on my blog.2 That is in itself not a big problem but the curious part is that every reply that somebody else makes in the thread results a webmention/comment to multiple of the posts that I’ve made that has been threaded in that particular conversation. So I get duplicate comments, but on differens posts on my blog.
Right now I deal with it by only approving the comment to the earliest post I’ve made in the thread but that doesn’t really quite work since my subsequent comments doesn’t show up as comments on my own first post on my blog. So I’ll need to look more into this.
Replies and comments
Henrik Carlsson
20 augusti, 2019 01:27@manton I just wrote up my process in getting the external replies to work. Not sure if it’s actually a bug report, but feel free to read the steps I took and see if I missed or mis-interpreted anything.
smokey
21 augusti, 2019 08:56@MrHenko Thanks for writing this up; I’ve added it to the wiki.
I think for your replies to show up under your original post, you have to also send a Webmention to it (as well as to the Micro.blog reply you’re replying to), although since you’re getting replies from the Micro.blog Conversation to multiple different reply-posts you’ve made on your site that are part of the Conversation, it seems like Micro.blog should have also sent a Webmention back to your original post when your reply-post was added to the Conversation….
(I also think I remember seeing someone who had gotten on-blog-replies to comments that arrived from Micro.blog as Webmentions to be sent back to Micro.blog as Webmentions in response to those comments…but I can’t remember who, so maybe I’m imagining it…)
My head hurts from trying to keep this straight… ;-) But the two things you did figure out are really helpful 👍
smokey
21 augusti, 2019 09:04@MrHenko Also, 1) how did you liberate the Shortcut from Shortcuts in order to get it into GitHub, and 2) how does one then install it into Shortcuts from GitHub?
The Shortcut sounds really useful for (at least as a starting point in customizing for their own blog) everyone who does get the Webmention-to-Micro.blog stuff working 👍
Henrik Carlsson
21 augusti, 2019 10:28This Article was mentioned on blog.henrikcarlsson.se
smokey
22 augusti, 2019 09:09@MrHenko Haha! Sorry for making your head hurt, too. Lots of little details yet to be untangled for Webmentions….
The Micro.wiki is here; I added your article to the WordPress page (although in some ways the article is applicable to all non-Micro.blog-hosted blog systems).
Thanks for the info about the Shortcut; I had missed the “Share as File” option because it’s so far off the screen to the right in that sheet ;-)
I was not able to get your Shortcut from GitHub into Shortcuts using just iOS, I think because it was missing the
.shortcut
extension (and Files won’t let you change the filename extension, which it thought was.blog_reply
!). But I downloaded it on the Mac, added the correct extension, gotMicro.blog reply.shortcut
back into Files, and then successfully imported it into Shortcuts on my phone!I wondered how you were dealing with replying to initial posts, which was part of my reason for wanting to look at the Shortcut ;-) I have a couple of also-hacky ideas for how one might handle that, the best of which involves selecting the username, opening that person’s profile page in a web browser, running my “Micro.blog Conversation” bookmarklet to make a “Conversation” link appear if there isn’t already one (or if you’re not logged in in the web browser), and then finding the post and feeding its (new) “Conversation” link to your Shortcut ;-)
(Also, you can slightly simplify your Shortcut by using
Get Component of URL
(Path
), then usingSplit Text
(still/
) andGet Item from List
(Item At Index
,2
) each once to get the username;Path
is/username/postnumber
, which is why it’s index 2, since index 1/first item is the emptyness before the first slash. To me, that feels like cleaner “code”, but that’s just me :-) )artkavanagh
22 augusti, 2019 10:03@smokey
@viticci has a shortcut that neatly gets around that limitation: Rename and save files
smokey
25 augusti, 2019 08:11@artkavanagh Oh, that’s great; thanks! I can even trigger that Shortcut from the “media download view” directly and give the thing the proper name and destination in one step.