Fastify plugin that adds a Micropub endpoint to a Fastify server.
npm install @jackdbd/fastify-micropub-endpoint
Options for the Fastify micropub-endpoint plugin
Properties
Name | Type | Description | Required |
---|---|---|---|
ajv | Instance of Ajv |
no | |
createPost (Create post) |
Function |
Creates a post on the Micropub server. |
yes |
deletePost (Delete post) |
Function |
Deletes a post published at a URL. |
yes |
includeErrorDescription | boolean |
Default: false |
no |
isAccessTokenRevoked | Function |
Predicate function that returns true if a jti (JSON Web Token ID) is revoked. |
yes |
jf2ToLocation (JF2 to store/website location) |
Function |
Maps a JF2 object to a location in the store and a URL published on (or that it will be published to) the user's website. |
yes |
logPrefix | string |
Default: "[micropub-endpoint] " |
no |
me | yes | ||
mediaEndpoint (Media endpoint) |
string |
Format: "uri" |
no |
micropubEndpoint (Micropub endpoint) |
string |
Format: "uri" |
no |
multipartFormDataMaxFileSize (multipart/form-data max file size) |
number |
Max file size (in bytes) for multipart/form-data requests. Default: 10000000 Minimum: 0 |
no |
reportAllAjvErrors (report all AJV errors) |
boolean |
Whether to report all AJV validation errors. Default: false |
no |
syndicateTo | object[] |
Default: |
no |
undeletePost (Undelete post) |
Function |
Undeletes a post published at a URL. |
no |
updatePost (Update post) |
Function |
Updates a post published at a URL. |
yes |
Example
{
"includeErrorDescription": false,
"logPrefix": "[micropub-endpoint] ",
"multipartFormDataMaxFileSize": 10000000,
"reportAllAjvErrors": false,
"syndicateTo": []
}
Items
Item Properties
Name | Type | Description | Required |
---|---|---|---|
uid | string |
yes | |
name | string |
yes | |
service | object |
yes | |
user | object |
yes |
Properties
Name | Type | Description | Required |
---|---|---|---|
name | string |
yes | |
url | string |
yes | |
photo | string |
no |
Properties
Name | Type | Description | Required |
---|---|---|---|
name | string |
yes | |
url | string |
yes | |
photo | string |
no |
Package | Version |
---|---|
@fastify/formbody | ^8.0.2 |
@fastify/multipart | ^9.0.3 |
@fastify/response-validation | ^3.0.3 |
@jackdbd/canonical-url | 0.2.0-canary.8 |
@jackdbd/fastify-hooks | 0.2.0-canary.16 |
@jackdbd/fastify-utils | 0.2.0-canary.10 |
@jackdbd/indieauth | 0.2.0-canary.14 |
@jackdbd/microformats2 | 0.2.0-canary.9 |
@jackdbd/micropub | 0.2.0-canary.13 |
@jackdbd/oauth2-error-responses | 0.2.0-canary.9 |
@jackdbd/schema-validators | 0.2.0-canary.12 |
@paulrobertlloyd/mf2tojf2 | ^2.4.0 |
@sinclair/typebox | ^0.34.14 |
ajv | ^8.17.1 |
ajv-formats | ^3.0.1 |
fastify-plugin | ^5.0.1 |
form-auto-content | ^3.2.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