Fastify plugin that adds a syndicate
endpoint to a Fastify server.
This endpoint manages the syndication (aka cross-posting) of content/media to the syndication targets supported by a Micropub server.
npm install @jackdbd/fastify-syndicate-endpoint
Options for the Fastify syndicate-endpoint plugin
Properties
Name | Type | Description | Required |
---|---|---|---|
includeErrorDescription | boolean |
Whether to include an error_description property in all error responses. This is meant to assist the client developer in understanding the error. This is NOT meant to be shown to the end user.Default: false |
no |
isAccessTokenRevoked | Function |
Predicate function that returns true if a jti (JSON Web Token ID) is revoked. |
yes |
logPrefix | string |
Default: "[syndicate-endpoint] " |
no |
me | yes | ||
reportAllAjvErrors (report all AJV errors) |
boolean |
Whether to report all AJV validation errors. Default: false |
no |
retrievePost (retrieveContent) |
Function |
Retrieves a post from the Micropub server. |
yes |
syndicators | object[] |
yes | |
updatePost (Update post) |
Function |
Updates a post published at a URL. |
yes |
urlToLocation (URL to location) |
Function |
Maps a URL published on the user's website to a location on the user's store (e.g. a table in a database, a path in a git repository, a URL in a public bucket of an object storage service like AWS S3). |
yes |
Example
{
"includeErrorDescription": false,
"logPrefix": "[syndicate-endpoint] ",
"reportAllAjvErrors": false,
"syndicators": [
{}
]
}
Items
Item Properties
Name | Type | Description | Required |
---|---|---|---|
createContentToSyndicate (Create content to syndicate) |
Function |
yes | |
name | string |
The human readable name of the syndicator. Minimal Length: 1 |
yes |
jf2ToContent (JF2 to content) |
Function |
Generates some content from a JF2 object. |
yes |
retrieveContentsToSyndicate | Function |
Retrieves all the contents to syndicate. |
yes |
syndicate | Function |
Syndicate the content published at a canonical URL (i.e. content published on your me domain) to another target (e.g. a social network). |
yes |
uid | string |
Unique identifier for the syndicator Minimal Length: 1 |
yes |
Example
[
{}
]
Package | Version |
---|---|
@fastify/formbody | ^8.0.2 |
@fastify/response-validation | ^3.0.3 |
@jackdbd/canonical-url | 0.2.0-canary.8 |
@jackdbd/fastify-hooks | 0.2.0-canary.16 |
@jackdbd/indieauth | 0.2.0-canary.14 |
@jackdbd/micropub | 0.2.0-canary.13 |
@jackdbd/oauth2-error-responses | 0.2.0-canary.9 |
@paulrobertlloyd/mf2tojf2 | ^2.4.0 |
@sinclair/typebox | ^0.34.15 |
ajv | ^8.17.1 |
ajv-formats | ^3.0.1 |
fast-xml-parser | ^4.5.1 |
fastify-plugin | ^5.0.1 |
This package defines 2 peer dependencies.
Peer | Version range |
---|---|
@fastify/request-context |
>=6.0.0 |
fastify |
>=5.0.0 |
© 2024 - 2025 Giacomo Debidda // MIT License