Postr

From IndieWeb

Postr is a open source IndieWeb backend for node.js developed by Grant Richmond

Usage

Currently being used to run the following sites:

Functionality

Database

  • Posts are stored as microformats2 json
  • Uses RxDB as an extendible database
  • Supports real time replication, both to couchdb compatible servers and clientside databases

Micropub

  • The @postr/core package provides a fully functional micropub endpoint, with support for: posting, media, updates, deletes, undeletes, queries and more

Clientside Support

Postr is built in an isomorphic fashion, meaning it can also be run clientside. A lot of functionality is not possible clientside (such as the micropub endpoint) but there the database containing your posts / content can be fully replicated to the client and the same api used to query the database on the frontend and backend.

Miscellaneous

  • Plain text posts will be parsed for markdown
  • Mf2 posts are automatically validated
  • References to external media files are automatically copied locally
  • Photos can be automatically resized for thumbnails etc.
  • Slugs are automatically generated from the post name / content

Glitch support

Postr can run on Glitch, although not everything may be supported due to the limited nature of glitch hosting.

A basic example site can be found and remixed at postr.glitch.me

Plugins

Postr is highly extendible, plugins can be used to modify data in the database, provide express endpoints and pretty much whatever else you could want.

@postr/plugin is the base plugin class, plugins can extend this and then be dropped into any postr instance.

Webmention Endpoint

@postr/plugin-webmention-endpoint provides a webmention endpoint that plugs directly into the post storage and will update posts when they receive a webmention.

Syndication

@postr/syndicator is a base plugin, designed to be extended to create syndication plugins.


Instagram

@postr/syndicator-instagram supports syndicating photos, likes and reposts to instagram.

Superfeedr

@postr/syndicator-superfeedr notifies superfeedr of new posts

Twitter

@postr/syndicator-twitter supports syndicating to twitter

Feeds

There is a feeds plugin in development that will enable content to be automatically output in different feed formats.

Planned Plugins

There are a number of other planned plugins, with the goal of making postr a fully functional IndieWeb backend:

  • Importer to import your content from somewhere else
  • Backup to automatically backup your content
  • Token endpoint
  • Webhook plugin to send webhooks that could trigger site build or send notifications
  • Auth endpoint


See Also