feat(activitypub): Add ActivityPub support #19

Merged
blacklight merged 39 commits from feat/11/activitypub into main 2026-03-08 03:29:30 +01:00
Owner

Closes: #11

Closes: #11
test(activitypub): Make Pubby optional for tests but include it in CI/CD
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
a56f0f8d66
- Add `activitypub_object_type` with default "Note"
- Allow override via config file and env var
feat(activitypub): Render Markdown as HTML in outgoing objects
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
44f42d2261
- Use Madblog markdown extensions and set mediaType text/html
- Always strip metadata headers and allow configurable object type
- Parse `@user@domain` mentions from post content
- Add Mention tags and include mentioned actors in cc
docs(readme): Add ActivityPub federation setup and configuration
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
544473eabe
- Document install extra, config/env vars, mentions, and options table
This allows integrations such as ActivityPub and Webmentions to be
called on startup if there are changes to the content since the last
poll that requires new notifications to be sent.
- Store caches under .madblog/activitypub workdir
- Track published URLs with file mtimes; add mixin hooks and aliases
test: Align ActivityPub tests with pubby Note objects
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
9ba3b9d7b1
- Remove unused pubby Object import
- Expect Note type for content change publish
- Minor formatting cleanup in test file
Add WebFinger lookup with fallback to /@username for mentions.

This fixes federated mention notifications to e.g. Pleroma/Akkoma, which
use a different convention for user URLs.
- Document new config keys in example YAML
- Support `activitypub_posts_content_wrapped` via file and env config
- Drop top-level markdown heading from body content cleaning
- Prepend linked title to rendered HTML content
- Support description-only and content-wrapped summary modes
- Update test to assert title appears in rendered content
- Centralize markdown extensions and rendering helpers
- Add post-content/object builders and split delete/publish handlers
- Switch mentions to pubby extract_mentions and simplify URL caching
- Set ActivityPub object language from per-post metadata with config fallback
- Use config.language for the page <html lang> attribute
- Add Hashtag tags from #text and absolutize /tags links in HTML
feat(activitypub): Attach rendered LaTeX and Mermaid diagrams as PNGs
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
a77800caaf
- Extract base64 LaTeX images from HTML into stored PNGs and AP attachments
- Render Mermaid code blocks to PNG via mmdc/npx and attach to posts
- Include generated attachments in ActivityPub Note objects
- Add config option + env var and document in README/example YAML
- Include quotePolicy in ActivityPub object payload
- Add helper to build AP object and set caching/language headers
- Return ActivityPub response when Accept includes activity+json or ld+json
feat(activitypub): Add auto quote approvals and interaction policy
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
b7b2687573
- Add config toggle for auto-approving remote quotes
- Prefer ActivityPub response for AP-only Accept requests
- Emit quotePolicy/interactionPolicy based on quote control settings
feat(activitypub): Add rel=me actor link and verified field attachment
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
22445cbc60
- Add actor attachment PropertyValue linking back to blog URL
- Expose /ap/actor profile URL in config and emit rel=me in head
blacklight changed title from WIP: feat(activitypub): Add ActivityPub support to feat(activitypub): Add ActivityPub support 2026-03-08 03:29:20 +01:00
blacklight deleted branch feat/11/activitypub 2026-03-08 03:29:30 +01:00
Sign in to join this conversation.
No description provided.