A micro micro-blogging cms

Eli Mellen b436b45e2a dangerous and unknown changes 2 months ago
images d4558aa81c working on cleaning up RSS. images aren't working yet, though :( 4 months ago
rss 5dc43a905e some legit documentation and a lot of other improvements, including a micropub endpoint. Also trying to sign this commit. Wish me Luck! 4 months ago
shared 5dc43a905e some legit documentation and a lot of other improvements, including a micropub endpoint. Also trying to sign this commit. Wish me Luck! 4 months ago
20170523031150.json f1b1de1cf2 enabled webmentions as well as og and twitter cards. Now only using handlebars on the home page 4 months ago
20170523031250.json f1b1de1cf2 enabled webmentions as well as og and twitter cards. Now only using handlebars on the home page 4 months ago
20170523031332.json f1b1de1cf2 enabled webmentions as well as og and twitter cards. Now only using handlebars on the home page 4 months ago
20170523031912.json f1b1de1cf2 enabled webmentions as well as og and twitter cards. Now only using handlebars on the home page 4 months ago
20170524034055.json c2303ee469 testing 4 months ago
20170524034900.json d4558aa81c working on cleaning up RSS. images aren't working yet, though :( 4 months ago
20170524035113.json d4558aa81c working on cleaning up RSS. images aren't working yet, though :( 4 months ago
20170524035630.json d4558aa81c working on cleaning up RSS. images aren't working yet, though :( 4 months ago
20170524043347.json d4558aa81c working on cleaning up RSS. images aren't working yet, though :( 4 months ago
20170524043752.json d4558aa81c working on cleaning up RSS. images aren't working yet, though :( 4 months ago
20170524045745.json af8758a682 FIXED IMAGES IN THE RSS FEED! WAHOOOOO 4 months ago
20170525025317.json 18bec27459 fixed webmention support 4 months ago
LICENSE 8bc72ff2e5 initial commit 4 months ago
README.md 82d8df0768 updated readme 4 months ago
config.php 5dc43a905e some legit documentation and a lot of other improvements, including a micropub endpoint. Also trying to sign this commit. Wish me Luck! 4 months ago
entry.php b436b45e2a dangerous and unknown changes 2 months ago
feed.php 6433b426f0 enabled larger twitter summary cards for posts with images 4 months ago
index.php b436b45e2a dangerous and unknown changes 2 months ago
micropub.php 5dc43a905e some legit documentation and a lot of other improvements, including a micropub endpoint. Also trying to sign this commit. Wish me Luck! 4 months ago
robots.txt 5dc43a905e some legit documentation and a lot of other improvements, including a micropub endpoint. Also trying to sign this commit. Wish me Luck! 4 months ago

README.md

Pneumatic Post

A micro micro-blogging tool

"A Series of Tubes", Episode 61 of 99% Invisible

Pneumatic Post is a heap of PHP scripts that amount to something like a flat-file, IndieWeb-compatible content CMS. I'm using it on my own website, feel free to check it out there, eli.li.

Goals

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 .json.

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!

Of note...

Pneumatic Post doesn't have bona fide POSSE support. I currently make up the gap with ifttt. I created an "applet" that posts to twitter whenever a new item is added to my RSS feed.

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 .json files!?

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.

Contributing

The source for Pneumatic Post lives in two places:

Todo

  • ⛔ Write better documentation
  • ✅ Markup to support microformats
  • Multiple post types
    • ✅ Notes
    • ✅ Images (partial support, there is no media endpoint)
    • ✅ Replies
    • ⛔ Reposts/Bookmarks/Likes (uncertain if I will enable all/any of these)
    • ✅ Articles
  • ✅ 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 ","')

Credit where credit is due