From Following Posts and Blogrolls (Following Pages) with OPML to Microsub Servers and Readers (BoffoSocko)
Continuing to extend the pathway from easily following websites to having them in your social reader.

Thanks for consolidating this in one place, Chris. I caught snippets of the series and conversation between you and Ton in my Reader, but didn’t go back to search out everything. Now I have a concise place to go to when I have some time to read everything 😃

For my own part, my Links page is powered by the old WordPress Links Manager. I had no idea that had an OPML import function – that would have saved me hours of manual entry! I also didn’t know it could generate an OPML file for import elsewhere. “Today I Learned.”

In the last couple of weeks I’ve thought about creating a special page on my site to aggregate all of my Bookmark-type posts into one place. Similarly, I could create a custom “Kind” for Following, and aggregate those in a single place. Neither option would have their own automatic OPML file, but using a Kind does allow for a specific Feed for each type. It would allow for the full range of post meta to be added to each type too. The Post Kinds plug-in generates archives for each Kind, but I’m thinking a custom page would allow me to play with the presentation a bit more.

It’s something for me to experiment with at the least!

Step 4 - Sending Webmentions using Webmention.app and IFTTT (#IndieWeb Textpattern)
We’ve previously enabled our site to receive Webmentions, but what can we do about sending Webmentions to other sites? Much like we use Webmention.io to handle receiving Webmentions, we’re going to use Webmention.app to handle the sending. And the best bit is, we don’t need to make any modifications to our site!

I’ve added a new article to TextPattern which covers integrating with Remy’s new Webmention.app service to enable sending of Webmentions for sites which don’t have that capability natively.

Screenshot of my Instagram feed
Photo by Donna Murray Photography

I mentioned yesterday my frustrations with Instagram were at an all-time high, and I wanted to “soft quit” the app by adding my follows as a source in Monocle. I didn’t find any existing guide on how to do this (sorry if I missed yours!), but I did get two useful suggestions about tools to enable this: Instagram Atom, and Granary.

I use Granary already, to pipe Twitter into Monocle, so that was my preferred option. The short guide below documents the steps I took to get things set up.

Step 1. Get your Instagram session ID

Instagram doesn’t offer much of an API anymore, so to let Granary do the magic, we need to get our Instagram session ID. To do this:

  • Login to Instagram through a desktop web browser
  • Use the developer tools to inspect the cookies set by Instagram. Look for a cookie called “sessionid” and copy the value of it:

Step 2. Link up Granary

Head over to Granary. Click on the Instagram login button, and authorise Granary if you need to. When you return to Granary, there will be a couple of form fields you can fill in.

  • Enter your Instagram username
  • Select @friends from the dropdown
  • Change the format to html/atom/json
  • Enter your copied session id in the cookie field

Click “GET”, and Granary will generate a preview of your feed and give you a link:

Copy that link.

Step 3. Add to Microsub

You need to add the URL you’ve copied from Granary as a source in whatever Microsub server you use. I use Aperture, so I added a new Instagram channel with my feed as a source. I’m going to assume you know how to do this for your server of choice.

Step 4. Enjoy

All being well, you should now have an Instagram feed in Monocle/your chosen social reader.

With all this set up, I can now add the Instagram app to the “To Quit” folder on my iPhone.
Screenshot of my iOS “to quit” folder, containing a handful of silo apps

Caveats

There’s a couple of limitations with “using” Instagram in a reader:

  • No syndication – to my knowledge, it’s not possible to syndicate any of your response (likes, replies, etc) back to Instagram. So if you want to let your Instagram-only friend know you liked their photo, into the app you go.
  • Session expiry – I don’t know yet if the session id we got in Step 1 will expire. If it does, you’ll probably need to redo creating and adding your feed.
  • Multi-accounts – if, like me, you have more than one Instagram account, and want to add both, there are some hoops to jump through. I found you need to add the second account using a second browser/new private browsing session, or some wires will get crossed somewhere and you’ll need to setup both feeds all over again.

“Dark mode” Monocle looks pretty nice! (courtesy of Firefox with “night mode” enabled)

I could be convinced to try and build this as a real feature… 🤔

I’ve started using my new(ish) test site to build my new IndieWeb WordPress theme. It’s very early in the process, and I’m getting the markup in place first, before I go anywhere near a stylesheet – so it all looks very 1996 right now.

The lessons learned on “K” will be put into use with this theme, along with several ideas I’ve picked up along the way. I’ve already reused some of the more useful bits of K to give me a head-start, so I know that stuff like the feed and post microformats should be pretty robust (if not yet 100% complete). The main improvement I want to make over K is in flexibility  – i.e. it’s not just usable by me, or locks me/the user into a particular setup.

If there is anything you would like to see in an IndieWeb WordPress theme, or any other suggestions, please file an issue in the repository. I can’t promise I’ll implement it, but at this stage, the chances are high 😉

If you’re a Monocle user, you might have noticed a new feature in your UI today. If you self-host, you’ll want to update your installation to the latest version. Two nice “quality of life” features have gone live, and I’m a little excited, because I helped build one of them 😁

The biggest feature I’ve been missing in Monocle over, say, Feedly, is a “mark all read” button. I follow too many busy sources to be able to keep up with everything, so I frequently mark everything as read and carry on. It helps me not get overloaded.

Monocle "view menu" on desktop

Aaron had raised an issue to build the feature at some point, but I wanted it, and had a spare weekend, so figured I’d make myself useful!

In all, it was surprisingly straightforward. The Microsub spec is well documented, so I knew how it needed to work. All I had to figure out was how to fit that into how Monocle already did things, and there was already a “mark read” for single entries to work from.

The UI took the longest to build, mostly because I had to figure out the Bulma frontend framework. Rosemary had already come up with some ideas on how it should work, so the hard part had pretty much been done.

Monocle "view menu" on mobile

And with a little bit of testing, there it was – “Mark All Read” in Monocle. I’ve been running it in my install for a little over a week now, and I hope you’ll find it as useful as I have if you’re a heavy Monocle user.

I can’t take any credit for in the slightest for the new “Show Only Unread Entries” feature – to my knowledge, that was all Aaron. It was a nice surprise to find once I updated my local install from the master branch!

I’ve been running my own instance of Aaron’s excellent Monocle microsub client for a while now. I think it’s time I take the leap and run my own instance of Aperture microsub server as well (and its associated services), just so I don’t have to rely on any services hosted elsewhere.

I just need to figure out if I need to give Aperture its’ own server, rather than run it alongside everything else on my existing VM.

I don’t know exactly when it was added, but WordPress.com finally has a way to export your media uploads! When I moved off of WordPress.com, a couple of years ago, the only way to “get” your media was to export your posts, and your new site would download the files as the posts that used them were imported. This was obviously very error-prone, wouldn’t work for media not used in posts, and spectacularly failed to work for me — leaving a great deal of my uploaded media stranded on the WordPress servers. With this new export option I’ve just downloaded 1.5GB of media from two sites I had hosted on the service, so I might finally be able to reconstruct several old posts. Happy days!

commonplace book (IndieWeb Wiki)
A Commonplace book (or commonplaces) are a way to compile and store knowledge, usually by writing information into books, notebooks, card catalogs, or in more modern settings on one's own website.

I’ve been doing this for nearly 20 years (documenting stuff on my blog), in various capacities and with mixed regularity, and this is the first time I’ve heard of this term. Every day is a learning day ?

Autonomie WordPress Theme (GitHub)
"Autonomie" is a highly semantic, responsive, accessible and search engine optimized WordPress Theme. It provides HTML5 templates refined with microformats, microformats v2 and microdata ...

A really nice, IndieWeb-compatible, WordPress theme by Matthias. If I wasn’t developing K (albeit, that’s slowed down recently due to outside factors), or if I was still looking for an “out of the box” experience, I’d probably be using this.

I’ve just posted the second how-to article to IndieWeb Textpatternpreparing your site for IndieAuth.

This one took a bit longer to write than I anticipated. IndieAuth is a slightly weird concept to describe and write about in easy to understand terms. I’m trying to keep the level I’m pitching IndieWeb Textpattern at to be pretty low, so I found myself going back and revising things several times. On the plus side, writing about these topics is reinforcing how they work in my mind. Practice and documenting things have always been my best teacher ?

While I was researching the article I discovered that IndieLogin doesn’t necessarily check for an authorization_endpoint link at URLs marked as rel="me" – something which was unexpected behaviour. I’d planned to use this site as my example authentication provider, but couldn’t and reverted to using Github. I’ve added this to my list of things to investigate.

If you’re interested, here’s the current content plan for the site, although I’ll be adding more articles as I re-familiarise myself with developing Textpattern plugins, and open up more integrations.