One click indieweb for WordPress

I was discussing one click indieweb for WordPress with David Shanske on the IRC channel. The aim is to make it as easy as possible for a WordPress user – not a developer – to implement an indieweb site.

I’ve decided to put it up as a brain dump.

There are two aspects to consider: features and data attributes.

Indieweb features

Various indieweb features are defined on indiewebcamp.com. In list form, the features I’d like to see are:

  • Articles kept as standard blog posts
  • An indieweb custom content type with these kinds of posts:
    • notes,
    • bookmarks,
    • likes,
    • photos,
    • possibly events,
    • possibly check ins, and
    • possibly RSVPs.
  • Sending and receiving of web mentions
    • suck in social media likes, retweets, etc via bridgy
  • POSSE syndication to:
    • Twitter, and,
    • Facebook.
  • PESOS syndication from:
    • instagram
    • likes and retweets on silos
  • Syndication links where appropriate
  • WordPress filters adding microformats 2 to post classes, body classes, etc
  • Ability to define any post type as:
    • reply
    • repost
  • Ability to categorise any post with:
    • WordPress categories
    • WordPress tags
  • an everything feed containing articles and indieweb custom content types
  • indieauth and micropub endpoint – version two.

 Indieweb data

All posts (both indieweb and blog posts) are made up of some combination of data. These are defined within WordPress as

  • Post super attributes
    • Title: post title
    • Slug: post slug
  • Post attributes
    • Body content: post content
      • Notes use unformatted text, auto link hashtags, @-mentions, URLS
      • Character count displayed to user
    • Categories: category taxonomy
    • Tags: tags taxonomy
    • Reply/repost: custom taxonomy
  • Syndication attributes:
    • Twitter:
      • text meta data: twitter_text
      • ID meta data: twitter_id
      • reference tweet meta data: twitter_reference
        used when reply, retweet or favorite
    • Facebook
      • text meta data facebook_text
      • post id meta data: facebook_id
      • reference fb post meta data: facebook_reference
        used when reply, retweet or favorite
    • Instagram:
      • text meta data: instagram_text
      • post meta data: instagram_id
  • Answers
    • yes
    • no
    • maybe
  • Photos:
    • Up to four per post
  • Location

Forms

Forms differ slightly depending on the type of post. I am basing the forms on Ben Roberts micropub publisher.

  • Articles
    • post super attributes
    • post attributes
    • location
    • silo syndication text
      • twitter
      • facebook
  • Notes
    • post attributes (plain text)
    • location
    • no silo text, inferred from body
    • tags inferred from body
  • bookmarks
    • post attributes (plain text)
  • likes
    • post attributes (plain text)
  • Photos
    • super attributes
    • post attributes
    • location
    • photos
  • Events
    • super attributes
    • post attributes
    • location
  • Check ins
    • location
  • RSVP
    • post attributes
    • location
    • answer

Where not specified, the post super attributes are auto generated.

Lordy, that’s a lot of stuff

As far as initial brainstorms go, turns out this is a lot of stuff. Many of the features above are actually multiple features. Oauth may be required for syndication, although bridgy will be able to make life easier. 

And that’s not all, there are additional post types I think would be fun but are niche.

  • tweet storms – for use when live tweeting a conference talk or similar
  • collections – self hosted storify
  • podcast capture – self hosted huffduffer

By Peter Wilson

Peter has worked on the web for twenty years on everything from table based layouts in the 90s to enterprise grade CMS development. Peter’s a big fan of musical theatre and often encourages his industry colleagues to join him for a show or two in New York or in the West End.

1 comment

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.