Configure syndicate endpoint with Bluesky and Mastodon syndicators

This commit is contained in:
svemagie
2026-03-09 13:48:49 +01:00
parent 37c22291ea
commit 8d77f0d259
4 changed files with 1395 additions and 10 deletions

View File

@@ -19,3 +19,18 @@ WEBMENTION_SENDER_TIMEOUT=10000
# User-Agent used for target endpoint discovery and sends
WEBMENTION_SENDER_USER_AGENT=
# Syndication endpoint mount path
# Default in indiekit.config.mjs is /syndicate
SYNDICATE_MOUNT_PATH=/syndicate
# Bluesky syndicator settings
# Example: your-handle.bsky.social
BLUESKY_HANDLE=
BLUESKY_PASSWORD=
# Mastodon syndicator settings
# MASTODON_USER should be your username without @
MASTODON_URL=https://mastodon.social
MASTODON_USER=
MASTODON_ACCESS_TOKEN=

View File

@@ -38,6 +38,20 @@ const funkwhaleUsername = process.env.FUNKWHALE_USERNAME;
const funkwhaleToken = process.env.FUNKWHALE_TOKEN;
const lastfmApiKey = process.env.LASTFM_API_KEY;
const lastfmUsername = process.env.LASTFM_USERNAME;
const blueskyHandle = (process.env.BLUESKY_HANDLE || "")
.trim()
.replace(/^@+/, "");
const blueskyPassword = process.env.BLUESKY_PASSWORD || "";
const mastodonUrl = process.env.MASTODON_URL || "https://mastodon.social";
const mastodonUser = (
process.env.MASTODON_USER || process.env.MASTODON_USERNAME || ""
)
.trim()
.replace(/^@+/, "");
const mastodonAccessToken =
process.env.MASTODON_ACCESS_TOKEN || process.env.MASTODON_TOKEN || "";
const syndicateMountPath =
process.env.SYNDICATE_MOUNT_PATH || "/syndicate";
const publicationBaseUrl = (
process.env.PUBLICATION_URL ||
process.env.SITE_URL ||
@@ -189,6 +203,8 @@ export default {
"@indiekit/store-github",
"@indiekit/post-type-repost",
"@rmdes/indiekit-post-type-page",
"@rmdes/indiekit-syndicator-bluesky",
"@rmdes/indiekit-syndicator-mastodon",
"@rmdes/indiekit-preset-eleventy",
"@rmdes/indiekit-endpoint-github",
"@rmdes/indiekit-endpoint-webmention-io",
@@ -212,6 +228,18 @@ export default {
"@indiekit/post-type-repost": {
name: "Repost",
},
"@rmdes/indiekit-syndicator-bluesky": {
handle: blueskyHandle,
password: blueskyPassword,
},
"@rmdes/indiekit-syndicator-mastodon": {
url: mastodonUrl,
user: mastodonUser,
accessToken: mastodonAccessToken,
},
"@indiekit/endpoint-syndicate": {
mountPath: syndicateMountPath,
},
"@rmdes/indiekit-endpoint-github": {
token: githubActivityToken,
username: githubUsername,

1360
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -37,6 +37,8 @@
"@rmdes/indiekit-endpoint-webmention-sender": "^1.0.6",
"@rmdes/indiekit-post-type-page": "^1.0.4",
"@rmdes/indiekit-preset-eleventy": "^1.0.0-beta.33",
"@rmdes/indiekit-syndicator-bluesky": "^1.0.19",
"@rmdes/indiekit-syndicator-mastodon": "^1.0.8",
"dotenv": "^17.3.1",
"mongodb": "^7.1.0",
"node-gyp": "^12.2.0"