@indiekit/endpoint-syndicate
Syndication endpoint for Indiekit. Provides an endpoint you can ping to check that recently published posts have been posted to configured syndication targets.
Installation
npm install @indiekit/endpoint-syndicate
NOTE
This package is installed alongside @indiekit/indiekit
Usage
To customise the behaviour of this plug-in, add @indiekit/endpoint-syndicate to your configuration, specifying options as required:
{
"@indiekit/endpoint-syndicate": {
"mountPath": "/syndikat", // de-DE
},
}Options
| Option | Type | Description |
|---|---|---|
mountPath | string | Path to syndication endpoint. Optional, defaults to /syndicate. |
Supported endpoint queries
- URL to syndicate:
/syndicate?source_url=https%3A%2F%2Fwebsite.example%2Fposts%2F1 - Every post awaiting syndication, oldest first:
/syndicate
A request without source_url works through every published post that still has a syndication target to reach, one at a time, and responds with a result for each. A second such request arriving while one is still running is told that syndication is already in progress.
Authorization
Authorization is needed to update posts with any syndicated URLs. This can be done in a few different ways:
Query string
Include your server’s access token as the token query:
POST /syndicate?token=[ACCESS_TOKEN] HTTP/1.1
Host: indiekit.website.example
Accept: application/jsonYou can find an access token on your server’s status page.
Form body
Include a value for access_token in your form submission:
POST /syndicate HTTP/1.1
Host: indiekit.website.example
Content-type: application/x-www-form-urlencoded
Accept: application/json
access_token=[ACCESS_TOKEN]You can find an access token on your server’s status page.
Using a webhook secret (Netlify only)
If you are using Netlify to host your website, you can send a notification to the syndication endpoint once a deployment has been completed.
First, create an environment variable for your Indiekit server called WEBHOOK_SECRET and give it a secret, hard-to-guess value.
Then on Netlify, in your site’s ‘Build & Deploy’ settings, add an outgoing webhook with the following values:
- Event to listen for: ‘Deploy succeeded’
- URL to notify:
[YOUR_INDIEKIT_URL]/syndicate - JWS secret token: The same value you used for
WEBHOOK_SECRET