IndieBlocks

Use blocks, and, optionally, “short-form” post types to easily “IndieWebify” your WordPress site.

Microformats, and Blocks

IndieBlocks currently registers a single block, “Context,” which takes a URL and “type,” and outputs a very brief, correctly microformatted HTML introductory paragraph.

The idea is to have this block sit at the very top of (some of) your “Notes” (see below), although, technically, you’re free to add it just about anywhere in a post.

More blocks are on the way—I’m hoping to soon be able to more clearly display, e.g., replies and reposts, and, who knows, checkins or RSVPs.

In combination with a microformats-compatible theme, the Context block helps ensure Microformats consumers, like Webmention services, determine a post’s type.

Webmention

One of the reasons, and often the most important one, to have your site support microformats, is Webmention. Webmentions are a lot like pingbacks, but better. The protocol enables true cross-site conversations, where your response to someone else’s blog post ends up on their site, and vice versa, without you having to ever fill out their comment form.

It also supports various types of posts: likes, bookmarks, replies, reposts, and more. For other software to correctly detect these, however, you’re going to need to mark them up—or rather, have this plugin, and your theme, mark them up—using microformats2.

If you happen to be running a modern, block-based theme, you’re in luck: IndieBlocks comes with a (somewhat experimental!) option to add microformats to (nearly all!) block-based themes.

Exactly which microformats get added to your site’s front end depends a bit on your theme’s specific templates. But, thanks to WordPress’s new Full-Site Editor, it’s never been easier to modify these!

Like, say your theme does not show author meta (and, thus, a so-called h-card) below each individual post on your homepage; well, you would then hop into the Site Editor and add a core/post-author block right where it should be.

Same thing if your theme, on its own, does not display post dates (and, thus, the dt-published attribute) where you expect them; a few instances of the core/post-date block are all you need!

Of note: If your theme does not support the Full-Site Editor but otherwise offers support for microformats2, great! That means you’re all set already, and can use the Context block just fine.

“Notes” and “Likes,” and Micropub

IndieBlocks also comes with “short-form” (Note and Like) Custom Post Types. These allow you to better separate your “microblog” (i.e., your “notes”) from your main blog (where your “regular” posts, or “articles” live).

This part of IndieBlocks is fully compatible with the Micropub plugin—it’ll even attempt to set the post type based on whatever properties your Micropub client sends along.

Even better integration (i.e., actually applying blocks to “Micropub posts,” and support for Micropub clients’ so-called “config queries”) with the Micropub plugin is planned for a next version.

On the roadmap as well: smarter RSS feeds, Post Format support, and an integrated Webmention endpoint (and client).

Reason I’m looking to bundle all of these is that I used to run half a dozen “IndieWeb” plugins and “must-use” plugins combined, which became a bit of a pain to maintain.

Current Features

All of these are optional, and most of them disabled by default. (E.g., if your theme already supports microformats2, you’ll likely want to leave that setting disabled, and so on.)

Blocks

The “Context” block, for now. Adding this to the start of a “note,” a short status update, immediately turns it into—as far as Microformats parsers are concerned—a bookmark, reply or repost.

Post Types

Registers two “short-form” Custom Post Types: Notes and Likes. Helps you keep a neatly organized (micro)blog. (Custom Post Types, after all, get their own WP Admin menus, and so on.)

If both Post Types and Blocks are enabled, new Notes and Likes will come with some preset content.

A new Note will start with a dummy Context block, followed by a Group with an empty Paragraph in it. The Group will have an e-content class already set—if you’ve previously dabbled in anything microformats, you may even know what that means!

Feel free to delete them, though, if you’re looking to just write a quick note. (One way to make this a bit less clumsy would be to have separate Custom Post Types for each, well, “IndieWeb post type.” Something I explicitly chose not to do.)

A new Like will come with just a Context block, the “like” type already set.

Note: This may very well change in a future version. As said, these blocks are very much a work in progress.

(Note) Taxonomies

Lets you categorize and tag Notes (but not Likes). The reason for Likes’ different behavior is that they’re often “unlisted” and mostly used in combination with Webmention, a protocol that allows for meaningful cross-site interactions.

Autogenerate Titles and Slugs

These settings will automatically generate a title and unique slug for each of your Notes and Likes. (A Note, by definition, have or should not have a real “title.” But leaving it blank makes it difficult to navigate around WP Admin. And, by default, WordPress assigns a titleless entry a slug based on its database ID, which may also not be what you’re after. This addresses those concerns.

Microformats2

A first attempt to add the most common (h-feed, h-entry, and h-card) microformats to WordPress’ “theme” blocks, i.e., the blocks that the new Full-Site Editor builds upon. This, in combination with a modern, block-based theme and the “Blocks” setting above, should (or rather, can) make your blog 100% ready for Microformats parsers (think Webmention services, and so on).

Roadmap

I’ve been experimenting with built-in Webmention support. And a number of changes to WordPress’ built-in RSS feeds, like an option to include Notes in your site’s main feed. And further Micropub integration.

Links