Some docs

This commit is contained in:
Bryan Ashby 2023-03-19 00:05:52 -06:00
parent 26c44b91a6
commit cca850dd78
No known key found for this signature in database
GPG Key ID: C2C1B501E4EFD994
3 changed files with 71 additions and 1 deletions

View File

@ -0,0 +1,67 @@
---
layout: page
title: ActivityPub Web Handler
---
The ActivityPub ([activitypub.js](/core/servers/content/web_handlers/activitypub.js)) provides [ActivityPub](https://www.w3.org/TR/activitypub/) support currently compatible with [Mastodon](https://joinmastodon.org/) and perhaps similar ActivityPub systems within the [Fediverse](https://en.wikipedia.org/wiki/Fediverse) allowing direct and public messaging, following/followers, etc. to be integrated with the ENiGMA½ BBS system.
# Supported Features
* ActivityPub with Mastodon support
* Users are generated a random avatar once enabled with the ability to change them within their ActivityPub configuration
* Social Manager
* Actor search (that is, other users within the Fediverse)
* Private and public messaging to/from the Fediverse
# Configuration
## Enabling ActivityPub
Full ActivityPub support requires the [Web Server](./web-server.md) module be enabled as well as a number of Web Handlers. Each handler configured within the `contentServers.web.handlers` block keys below of your `config.hjson` must be set to `enabled: true`:
| Handler | Key | Description | Default |
|---------|-----|-------------|---------|
| [WebFinger](./webfinger-handler.md) | `webFinger` | Allows other servers to discover your user/Actors | disabled |
| System General | `systemGeneral` | Serves avatar images | enabled |
| NodeInfo2 | `nodeInfo2` | Allows other systems to query information about your node | enabled |
| ActivityPub | `activityPub` | Described within this file | disabled |
**Example**
```js
contentServers: {
web: {
handlers: {
webFinger: {
enabled: true
}
// ...
activityPub: {
enabled: true
}
}
}
}
```
## Configuration Keys
| Key | Description |
| ----|-------------|
| `enabled` | Boolean. Set to `true` to enable WebFinger services |
| `selfTemplate` | String. Provide a fully qualified, or relative to [static root](./web-server.md#static-root) path to a template file for fetching profile information. Defaults to the same file used for [WebFinger](./webfinger-handler.md) queries; See [WebFinger](./webfinger-handler.md#profile-template) for more information.
## Configuring Defaults
### General
General ActivityPub configuration can be found within the `activityPub` block:
| Key | Description | Default |
| ----|-------------|---------|
| `autoSignatures` | Include auto-signatures in ActivityPub outgoing message/Notes? | `false` |
| `maxMessageLength` | Max single message/Note length in characters. Note that longer lengths *are* generally allowed by remote systems. | `500` |
### Default User Settings
Settings applied to new users or users first enabling ActivityPub are found within `users.activityPub` with the following members:
| Key | Description | Default |
| ----|-------------|---------|
| `enabled` | Enabled for users by default? | `false` |
| `manuallyApproveFollowers` | Do users need to manually approve followers? | `false` |
| `hideSocialGraph` | Hide users social graph? (followers, following, ...) | `false` |
| `showRealName` | Show real name? | `true` |

View File

@ -6,6 +6,9 @@ Web handlers provide a way to easily add additional _routes_ to your [Web Server
# Built in Web Handler Modules
* [WebFinger](./webfinger-handler.md): Provides basic [WebFinger](https://webfinger.net/) ([RFC7033](https://www.rfc-editor.org/rfc/rfc7033)) support.
* System General: Serves user avatars.
* NodeInfo2: Handles [NodeInfo2](https://github.com/jaywink/nodeinfo2) requests.
* ActivityPub:
## Building Your Own
Adding a Web Handler

View File

@ -1,6 +1,6 @@
---
layout: page
title: WebFinger Handler
title: WebFinger Web Handler
---
The WebFinger ([webfinger.js](/core/servers/content/web_handlers/webfinger.js)) [Handler](./web-handlers.md) provides basic [WebFinger](https://webfinger.net/) ([RFC7033](https://www.rfc-editor.org/rfc/rfc7033)) support, enabling servers such as those participating in the [Mastodon](https://en.wikipedia.org/wiki/Mastodon_(social_network)) [Fediverse](https://en.wikipedia.org/wiki/Fediverse) to discover basic information about a user.