How Indiekit works
Publishing
Let’s say you have installed Indiekit on your web server, and set it up so that it can be reached at https://indiekit.website.example
.
Any application that supports the Micropub protocol can make the following POST
request to https://indiekit.website.example/micropub
:
POST /micropub HTTP/1.1
Host: indiekit.mywebsite.com
Content-type: application/x-www-form-urlencoded
Authorization: Bearer XXXXXXX
h=entry
&content=Hello+world
Indiekit will recognise this as a Micropub request and create a new note post with the content ‘Hello world’.
If you’ve configured Indiekit to publish files to GitHub for a site generated using Jekyll, Indiekit will create the following file and commit it to your repository at your specified location:
---
date: 2021-02-15T21:38:25.343Z
mp-syndicate-to:
- https://twitter.com/username
- https://mastodon.social/@username
---
Hello world
Assuming your publication is deployed every time there is a new commit, this new post will appear on your website (this may take a few minutes if you’re using a static site generator).
Syndication
Note the mp-syndicate-to
property in the above example. If you’ve configured Indiekit to syndicate to third-party websites they will appear in this list.
You can then send a second POST
request, this time to https://indiekit.website.example/syndicate
along with a secret token:
POST /syndicate HTTP/1.1
Host: indiekit.mywebsite.com
Content-type: application/x-www-form-urlencoded
Authorization: Bearer XXXXXXX
token=XXXXXXX
This will tell Indiekit to syndicate the most recent un-syndicated post to the third-party websites listed in the front matter. Once this has been completed, Indiekit will update the post, replacing mp-syndicate-to
with a syndication
property listing the location of each syndicated copy:
---
date: 2021-02-15T21:38:25.343Z
syndication:
- https://twitter.com/username/1234567890
- https://mastodon.social/@username/1234567890
---
Hello world
Notifications
Indiekit is in the early stages of development so only supports the Micropub protocol and post syndication for now. Future releases may add support for Webmention and other IndieWeb standards.