# ActivityPub Pelican Plugin Warning: This is an experimental plugin, which most likely does not do what you'd expect it to do. Please read https://s3lph.me/activitypub-static-site.html for details. ## Configuration Add the following to your pelicanconf.py: ```python # Enable the plugin PLUGINS = ['activitypub'] # Configure the author's profiles: ACTIVITYPUB_AUTHORS = { # This user will be known as @alice@{{ SITEURL }} in the Fediverse 'alice': { 'name': 'Alice', 'movedTo': 'https://fedi.example/users/alice', 'alsoKnownAs': ['https://fedi.example/users/alice'], 'summary': 'Hi, I\'m Alice! Please follow me at @alice@fedi.example.', 'attachment': [ { 'type': 'PropertyValue', 'name': 'Mastodon', 'value': '@alice@fedi.example' } ], 'icon': { 'type': 'Image', 'mediaType': 'image/png', 'url': SITEURL + 'authors/alice.png' } } } ``` Apart from the ActivityPub resources, this plugin will also generate the following resources: - `.well-known/host-meta` - `.well-known/nodeinfo` - `.well-known/webfinger` If your Pelican site has multiple autors, you need to redirect `/.well-known/webfinger?resource=acct:alice@example.org` to `/.well-known/_webfinger/alice`. This can e.g. be achieved with Apache `.htaccess`: ``` RewriteEngine on RewriteRule ^/.well-known/webfinger?resource=acct:([^@]+)@example.org$ /.well-known/_webfinger/$1 [L] ``` Apart from that, the following Content-Types have to be overwritten (again in Apache config): ``` Header set Content-Type "application/activity+json; charset=utf-8" Header set Content-Type "application/xrd+xml; charset=utf-8" Header set Content-Type "application/json; charset=utf-8" Header set Content-Type "application/json; charset=utf-8" ```