IFTTT, when are you going to add the ability to add a “That” target using Micropub? Currently there is either native Microsub support or plugins for a variety of platforms or CMSs like WordPress, Drupal, micro.blog, WithKnown, Craft CMS, Jekyll, Kirby, Hugo, Blot, etc.

Similar to something like webhooks, these endpoints can be used to send a wealth of data from one place to another. Right now I can see a great use case for going from almost any target that’s currently supported to a variety of endpoints that are currently built for websites or blogging use cases.

Leveraging Micropub may also make it easier to target a simpler common “surface” instead of dovetailing with hundreds of individual CMS platforms and their APIs.

I’ve been able to use Micropub with Webhooks to get around the current IFTTT limitations, but there is a lot more you might be able to do with it as a company while making it easier for customers as well.

Did you present at #HeyPresstoConf20 yesterday? You can use @ThreadReaderApp to quickly cross-post your entire presentation to your WordPress site with Micropub and a powerful plugin.

ThreadReaderApp now has beta support for the Micropub Spec so you can publish Twitter threads directly to your blog

Ten: A not-so “Hypothetical” Example

I use all the data I capture online using Hypothes.is to port my annotations, highlights, and notes I make online into my commonplace book.

#HeyPresstoConf20


More details and a video example:

Hypothes.is annotations to WordPress via RSS 

Nine: Micropub for collecting data

The Micropub plugin helps me by creating an endpoint on my site for quickly and easily capturing lots of data. IFTTT, Zapier, Integromat, n8n can all help to aggregate this data too.

#HeyPresstoConf20


Here are some more in-depth details about how I use some of these tools and recipes/walk-throughs so you can too: Using IFTTT to syndicate (PESOS) content from social services to WordPress using Micropub.

 

 

 

Replied to @-mention when posting to Twitter · Issue #527 · snarfed/bridgy by Stephen Paul WeberStephen Paul Weber (GitHub)

Twitter interprets microsyntax whenever you post. There's no way around it. So if you have a post whose plain text says "Blah blah with @singpolyma" there is no way to tell twitter that "@singpolyma" is not the user named "singpolyma" and it will notify said user no matter what. In a silo this works, but when bridging to a federated environment it can cause issues (and especially annoyance of Twitter users).

One way to deal with this is to have my local implementation detect any such cases and not bridge them to Twitter, but this is not ideal. What should brid.gy do if it is asked to post something with the text @singpolyma in it? Here is my proposal:

  1. For the source HTML @singpolyma I would suggest changing it to "@ singpolyma", however I could see an argument to also leave it as-is, since some users might be writing plain-text microsyntax and expecting it is always going to Twitter? Hmm.
  2. For the source HTML @<a href="https://twitter.com/singpolyma">anything</a> put "@singpolyma" into the tweet.
  3. For the source HTML @<a href="https://singpolyma.net">anything</a> put "@ singpolyma.net" into the tweet.

Thoughts?

Not necessarily a permanent solution for all platforms and microsyntaxes depending on the number of syndicated copies, but potentially a clever stopgap for those who may need it. 

One can use a zero-width space (using something like &#8203;in their HTML) between the @ and a twitter user name on the original post and the syndicated copy will not have the traditional @mention link or notification functionality. 

Here’s an example

This reply can also serve as a test for the functionality within Github where I’ll “tag” both @kylewm and @​snarfed, but if it works, Ryan shouldn’t be auto-linked or notified.

Read Jetpack 8.9: New ways to grow subscribers and collect donations by Jeremy Herve (Jetpack — Essential Security & Performance for WordPress)
This month, start engaging your site visitors with two exciting new tools! The Newsletter Sign-up form and Donations Block will help you grow your subscriber and supporter base. Jetpack 8.9 is also proud to support v2.0 of the official AMP plugin for WordPress. Convert visitors into subscribers wit...
They’ve added social reviews to allow one to preview how posts will appear on Facebook, Twitter, and Google search results before you publish them.
Replied to a tweet by @fourierfiend (Twitter)
Hello fellow mathematician!

There are lots of ways to syndicate content, some dependent on which platform(s) you’re using and where you’re syndicating to/from. Your best bet is to swing by the IndieWeb Dev chat and ask that very question.

Theorem: Syndication is easy.

Proof: “It’s easy to show” (I’m waving my hands here) that there are a lot of assumptions and baggage that go with the word “easiest.”   ∎

I’ve personally found there’s generally an inverse relationship between ease/simplicity of syndication and control over exact display for most platforms. You could go low-fi and pipe your feed into something like IFTTT/Zapier  for cross-posting all the way up to customized integration with available APIs for each platform. Many take a middle-of-the-road approach that I notice Jeremy recommended as I’m writing this.

The cross-posting wiki page will give you some useful terminology and definitions which may help you decide on how to syndicate what/where. Based on the context of the URL in your Twitter profile, the IndieWeb wiki pages for static site generator and syndication will give you some ideas and options to think about and explore. 

Some of the pages about specific static site generators will give you some code and ideas for how to implement syndication. For example Max Böck has an article Indieweb pt1: Syndicating Content to Twitter, which is Eleventy and Twitter specific, but which could likely be modified for your purposes. SSGs may have some specific peculiarities for syndication that I’m not as familiar with coming from the more dynamic side of the fence.

Since you indicate a language preference for your current site, there’s also a page for Flask with a few users noted there. You might ask Fluffy (usually around in chat) for some advice as I know she syndicates to a few platforms and may have some ideas or even tools/code to share from the Flask perspective.

Q.E.D., right!?

(p.s.: Great Twitter handle!)

One could manually syndicate content from WordPress to Twitter, but there are multiple plugins and ways to syndicate it. My favorite is the Syndication Links plugin, which we can use for syndicating to other services. Install and activate.
Replied to a post by Brett KosinskiBrett Kosinski (The “B” Ark)
Taking back control of my content, I’m pulling my (modest) book reviews from Goodreads back to my blog. An underrated favourite of mine is Last Chance to See by the astounding Douglas Adams. #indieweb #books #ownyourdata

Congrats! I love the increasing number of people I’ve seen even in the last few days working on this! Are you using IndieBookClub.biz to post to your website?

I’m waiting for people to start documenting examples of owning their knitting on their websites and syndicating to/from Ravelry. #​IndieWebKnittingChallenge 

Courtesy of the fantastic web magic of Ryan Barrett‘s Brid.gy and the hard work of Jamie Tanna to create the integration, I can now post my RSVPs for Meetup.com events directly on my WordPress website and syndicate (POSSE) my response to Meetup!

Hooray for open web standards and the IndieWeb! 🎉

Read Posts with Read Status via PESOS using GoodReads and Micropub

Today I accidentally realized that both the WordPress Micropub server and the Post Kinds plugin support read-status values of “to-read”, “reading”, and “finished”. I’ve managed to tweak my PESOS work flow with Goodreads.com to also include these experimental pieces using the following additional snippets of code appended to the “Body” fields I’ve described before:

&read-status=to-read
&read-status=reading
&read-status=finished

I’ve added one of the three snippets to the appropriate IFTTT.com recipes for  Goodreads feeds to create the appropriate output. Here’s the first post I’ve made using the new recipe for bookmarking a book I’d like to read: https://boffosocko.com/2020/02/15/meditations-marcus-aurelius/.

Previously I’ve been using simple notes to create read posts for books and just adding a “read” category to give me more control over the data in the posts. (I only used read posts previously for online articles.) Now that I’ve got the ability to provide some better differentiation for my progress, I think I’ll switch to using read posts for all my reading (books and articles).

Incidentally following IndieBookClub.biz and Indigenous for Android which added support for these earlier today, my method may be the third to use these microformats in the wild. Thanks to gRegor Morrill, Kristof De Jaeger, David Shanske, Ryan Barrett, and Charlotte Allen for their prior work, experimentation, code, and examples for allowing me to get this working on my website. 

Replied to Feed WordPress 101: Feeding The Machine by Alan LevineAlan Levine (CogDogBlog)
If you are just syndicating a few feeds into your own site, or maybe for a single class of students, it’s not much work to manually add the feeds. Collecting them can be as simple as asking students to email you the address for their blog, or collecting them via something like a Google Form. Many of us dream of a single one button solution, but my experience in creating at least half a dozen of these sites are is… feeds can be messy.
Alan, this series is great. Coincidentally I came across it courtesy of Greg McVerry (#) after having spent some time over the past few days discussing feed discovery with David Shanske who recently wrote a small WordPress plugin for helping to uncover RSS feeds for tags and categories. Today he wrote some broader thoughts about feed discovery you may appreciate.

In addition to all of this, since you’re a coder, you might also appreciate some of the more advanced feed discovery code David has written into the Yarns Microsub Server for WordPress (code on Github). You may be able to build some of the discovery bits into some of your syndication hubs/planets in the future.

Of course, like FeedWordPress and the relatively similar PressForward plugin, you might also be able to bend Yarns into an aggregator in similar ways.

Replied to tweets by Bill Seitz and chronology samhjao mereko (Twitter)
#​TeamPESOS or #​TeamPOSSE?

As long as you’re not #​TeamPOOSNOW. #​OwnYourData

Manual Backfeed in the Blogosphere

Forcing webmentions for conversations on websites that don’t support Webmention

Within the IndieWeb community there is a process called backfeed which is the process of syndicating interactions on your syndicated (POSSE) copies back (AKA reverse syndicating) to your original posts. As it’s commonly practiced, often with the ever helpful Brid.gy service, it is almost exclusively done with social media silos like Twitter, Instagram, Flickr, Github, and Mastodon. This is what allows replies to my content that I’ve syndicated to Twitter, for example, to come back and live here on my website.

Why not practice this with other personal websites? This may become increasingly important in an ever growing and revitalizing blogosphere as people increasingly eschew corporate social sites and their dark patterns of tracking, manipulative algorithmic feeds, and surveillance capitalism. It’s also useful for sites whose owners may not have the inclination, time, effort, energy or expertise to support the requisite technology.

I’ve done the following general reply pattern using what one might call manual backfeed quite a few times now (and I’m sure a few others likely have too), but I don’t think I’ve seen it documented anywhere as a common IndieWeb practice. As a point of fact, my method outlined below is really only half-manual because I’m cleverly leveraging incoming webmentions to reduce some of the work.

Manually syndicating my replies

Sometimes when using my own website to reply to another that doesn’t support the W3C’s Webmention spec, I’ll manually syndicate (a fancy way of saying cut-and-paste) my response to the website I’m responding to. In these cases I’ll either put the URL of my response into the body of my reply, or in sites like WordPress that ask for my website URL, I’ll use that field instead. Either way, my response appears on their site with my reply URL in it (sometimes I may have to wait for my comment to be moderated if the receiving site does that).

Here’s the important part: Because my URL appears on the receiving site (sometimes wrapped as a link on either my name or the date/time stamp depending on the site’s user interface choices), I can now use it to force future replies on that site back to my original via webmention! My site will look for a URL pointing back to it to verify an incoming webmention on my site.

Replies from a site that doesn’t support sending Webmentions

Once my comment appears on the receiving site, and anyone responds to it, I can take the URL (with fragment) for those responses, and manually input them into my original post’s URL reply box. This will allow me to manually force a webmention to my post that will show up at minimum as a vanilla mention on my website. 

The manual webmention box and button that appear on all my posts.

(Note, if your site doesn’t have a native box like this for forcing manual webmentions, you might try external tools like Aaron Parecki’s Telegraph or Kevin Mark’s Mention.Tech, which are almost as easy. For those who are more technical, cURL is an option as well.)

Depending on the microformats mark up of the external site, the mention may or may not have an appropriate portion for the response and/or an avatar/name. I can then massage those on my own site (one of the many benefits of ownership!) so that the appropriate data shows, and I can change the response type from a “mention” to a “reply” (or other sub-types as appropriate). Et voilà, with minimal effort, I’ve got a native looking reply back on my site from a site that does not support Webmention! This is one of the beautiful things of even the smallest building-blocks within the independent web or as a refrain some may wish to sing–“small pieces, loosely joined”!

This method works incredibly well with WordPress websites in particular. In almost all cases the comments on them will have permalink URLs (with fragments) to target the individual pieces, often they’ve got reasonable microformats for specifying the correct h-card details, and, best of all, they have functionality that will send me an email notification when others reply to my portion of the conversation, so I’m actually reminded to force the webmentions manually.

An Illustrative Example

As an example, I posted on my website that I’d read an article on Matt Maldre’s site along with a short comment. Since Matt (currently) doesn’t support either incoming or outgoing webmentions, I manually cut-and-pasted my reply to the comment section on his post. I did the same thing again later with an additional comment on my site to his (after all, why start a new separate conversation thread when I can send webmentions from my comments section and keep the context?).

Matt later approved my comments and posted his replies on his own website. Because his site is built on WordPresss, I got email notifications about his replies, and I was able to use the following URLs with the appropriate fragments of his comments in my manual webmention box:

https://www.spudart.org/blog/xeroxing-your-face/#comment-43843
https://www.spudart.org/blog/xeroxing-your-face/#comment-43844

After a quick “massage” to change them from “mentions” into “replies” and add his gravatar, they now live on my site where I expect them and in just the way I’d expect them to look if he had Webmention support on his website.

I’ll mention that, all of this could be done in a very manual cut-and-paste manner–even for two sites, neither of which have webmention support.  But having support for incoming webmentions on one’s site cuts back significantly on that manual pain.

For those who’d like to give it a spin, I’ll also mention that I’ve similarly used the incredibly old refbacks concept in the past as a means of notification from other websites (this can take a while) and then forced manual webmentions to get better data out of them than the refback method allows.