Blog is now a native ActivityPub actor; Mastodon syndication via
troet.cafe is no longer needed. Removes the syndicator package,
config vars, patch script, and env example entries.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- gardenStage: added to all post types (article, note, bookmark, like,
repost, photo, reply, page) so Indiekit preserves it in frontmatter
- aiTextLevel/aiCodeLevel/aiTools/aiDescription: extended from article+note
to all content post types (bookmark, repost, photo, reply, page)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
/blogroll static page hardcodes /blogrollapi/api/* calls.
/news static page hardcodes /rssapi/api/* calls.
Both must work simultaneously.
- Revert mountPath to /blogrollapi (restores /blogroll page)
- Patch init() to also register publicRouter at /rssapi via a
thin Indiekit.addEndpoint() alias (fixes /news page)
- /api/feeds alias retained for /news page (maps to listBlogs)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The /news/ page fetches /rssapi/api/items, /rssapi/api/feeds and
/rssapi/api/status. The blogroll endpoint was mounted at /blogrollapi,
so all three requests returned a 404 HTML page — causing the
"Unexpected token '<'" JSON parse error.
- Change blogroll mountPath from /blogrollapi to /rssapi
- Add patch-endpoint-blogroll-feeds-alias.mjs: injects a /api/feeds
route alias pointing to listBlogs (page expects /feeds, endpoint
only had /blogs)
- Wire new patch into postinstall and serve scripts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AP endpoint already sends native Like/Announce activities to fediverse
authors, making the "❤️ URL" / "🔁 URL" Mastodon status posts redundant.
Disabling syndicateExternalLikes + syndicateExternalReposts prevents the
"did not return a URL" error from the scope-limited Mastodon token.
Native same-instance favourites/reblogs still route through Mastodon
(requires write:favourites + write:statuses scope on the token).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- start.example.sh: replace fixed sleep 30 with /status poll loop (up to 2min)
so the webmention poller waits exactly until indiekit is ready, not longer
- indiekit.config.mjs: remove redundant webmentionIoMountPath variable and
mountPath from webmention-io config (package default /webmentions is correct)
- .env.example: remove all stale proxy and unused WEBMENTION_SENDER_* vars
(HOST, PORT, ENDPOINT, READY_TIMEOUT, STOP_TIMEOUT, AUTO_POLL) that were
never read by start.example.sh; keep only WEBMENTION_SENDER_POLL_INTERVAL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove @rmdes/indiekit-endpoint-webmentions-proxy (redundant with
webmention-io which already provides a public JSON API from MongoDB)
- Remove proxy-related variables (webmentionsProxyMountPath, cacheTtl)
- Add explicit mountPath to webmention-io config to avoid future surprises
- Increase WEBMENTION_SENDER_POLL_INTERVAL to 600s so deploys complete
before the poller fires, preventing silent data loss where posts with
no stored content get marked webmention-sent before the page is live
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wires up the already-installed Micropub endpoint (aliased to
@rmdes/indiekit-endpoint-micropub) at /micropub.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds Microsub social reader endpoint at /microsub, enabling feed
subscription and management via the Microsub protocol.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>