A micro micro-blogging tool
"A Series of Tubes", Episode 61 of 99% Invisible
Pneumatic Post aims to be easy to install, maintain, and cheap to host. There is no database, and everything is pretty much just vanilla
PHP. Building this, I set out to learn some more
PHP, start participating in the IndieWeb community, and hopefully make it a bit easier for other folks to do so, too. Poking around Github before I built this, I noticed that most of the existing IndieWeb tools seem to be more technical than not...e.g., I looked at them and had little to no clue what I was looking at. My goal was to make something for the IndieWeb peripheral, the lay-folks.
This is defo. still a work in progress.
Getting started and installation
First, some quick setting of the stage:
- Despite aiming to be wicked easy to use, some basic assumptions are made:
- You have access to a server/computer that runs PHP
- You have either direct access, SSH access, or FTP access to that machine
- Pneumatic Post doesn't have a native admin interface. Once setup, you'll be able to post content with something like Quill or Micropublish
- There is no proper media-endpoint right now, so images can be added manually, or using ownyourgram...but then the actual images them selves will still be served via Instagram's servers (which I realize isn't an ideal set up)
- Currently, there isn't support for reposts, bookmarks, or likes. This isn't in place because I don't foresee using them. If folks actually adopt this, or I decide to start using them I'll see about adding support for them
The first thing to do is to download Pneumatic Post. Best place to do that is from the releases page.
Before deploying what you just downloaded, open
config.php. Follow the comments and add as much information as you can (NOTE that you can fiddle with this info down the road. There are some elements you'll need to add later, e.g. webmention.io info.). Once you've done so, save your edits and upload all the contents of the file to the publicly accessible directory that is being served at your domain, or wherever else you want to server your site (a subdomain, or child-folder).
Visit your site! You should see your site title and description as well as some sample posts. Once you've verified everything is rocking and rolling feel free to delete the sample posts, they end in
Take a breather — enjoy some fresh air, visit indieauth.com, webmention.io, and brid.gy. Set up with each. These services do the real heavy lifting. indieauth.com enables you to log in to various IndieWeb tools and services with your domain name, webmention.io is how Pneumatic Post receives webmentions from other folks' websites, and brid.gy funnels replies from other places (e.g. twitter, facebook, etc.) back to your website.
Next, verify your indieweb compatibility by visiting indiewebify.me. If that checks out, you are pretty much good to go at this point!
Sign in to quill, and get posting!
Because Pneumatic Post isn't currently rocking a legit media endpoint, the best way to post images is to use ownyourgram.
What the heck are all this
Every time you make a new post a new
.json file is created. If for some reason you ever need to edit a post, or delete one, you just need to find the file associated with that post. Their names look intimidating, but they're actually just the date and time the post was created without any spaces or punctuation. An easy way to find the corresponding file is to visit the post's permalink. The
URL will look something like
https://your.domain/entry.php?id=20170529001249 the number after
.../entry.php/?id= is the name of the file.
The source for Pneumatic Post lives in two places:
- ⛔ Write better documentation
✅Markup to support microformats
- Multiple post types
✅Notes ✅Images (
partial support, there is no
- ⛔ Reposts/Bookmarks/Likes (
uncertain if I will enable all/any of these)
✅Permalinks ✅JSON Feed ✅Feed pagination (
sort of enabled)
✅RSS ✅Receive webmentions
- ⛔ Display threaded conversations
✅Micropub endpoint (
only really supports CREATE right now, no editing or deleting)
- ⛔ Proper syndication targets
✅IndieAuth and other security stuff ✅Add markdown support
- ⛔ Pretty urls?
- ⛔ Sexier CSS?
- ⛔ Category tagging/filters
✅Support for Open Graph and Twitter cards
- ⛔ Indie-config compatibility
- ⛔ Favicon
- ⛔ Remove colophon from
feed.php('this is a hack that I'm using to ensure that the final item in the feed doesn't have a trailing ","')