55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
# AcitivtyStreams support for Hugo
|
|
|
|
This is a [Hugo module](https://gohugo.io/categories/hugo-modules), you can use in [Hugo](https://gohugo.io/), to generate [ActivityStreams](https://www.w3.org/ns/activitystreams) representations of posts.
|
|
|
|
## How to use
|
|
|
|
You can use this module by adding it to your Hugo config (example of a YAML Hugo configuration file):
|
|
|
|
```yaml
|
|
module:
|
|
imports:
|
|
# other imports ...
|
|
# The hugo-activitystreams module:
|
|
- path: git.jlel.se/jlelse/hugo-activitystreams
|
|
```
|
|
|
|
You also need to specify the [custom output format](https://gohugo.io/templates/output-formats/) `activity` for the kinds `index` and `page`. When you add a custom output format, you need to make sure to also include the [default ones](https://gohugo.io/templates/output-formats/#default-output-formats).
|
|
|
|
```yaml
|
|
outputs:
|
|
home:
|
|
- "html" # Default
|
|
- "rss" # Default
|
|
- "activity"
|
|
page:
|
|
- "html" # Default
|
|
- "activity"
|
|
```
|
|
|
|
And finally (if you want to use use your website as an [ActivityPub](https://www.w3.org/TR/activitypub/) actor - middleware to do that with Hugo is coming soon...), you need to configure two params: `inbox` with the ActivityPub inbox URL and `publickeypem` with the PEM format of the public key of the key you use to sign activities.
|
|
|
|
```yaml
|
|
params:
|
|
# Your other params...
|
|
# ActivityPub params
|
|
activitypub:
|
|
inbox: https://blog.example/activitypub/de/inbox
|
|
publickeypem: -----BEGIN PUBLIC KEY-----...
|
|
```
|
|
|
|
### Note
|
|
|
|
By default the [ActivityPub](https://www.w3.org/TR/activitypub/) actor has the IRI of the language-based homepage. Example:
|
|
|
|
- Domain: jlelse.blog (a Hugo blog with two configured languages, default language "en")
|
|
- English actor:
|
|
- Username: @en@jlelse.blog
|
|
- IRI: https://jlelse.blog/
|
|
- German actor:
|
|
- Username: @de@jlelse.blog
|
|
- IRI: https://jlelse.blog/de/
|
|
|
|
## License
|
|
|
|
This project is MIT licensed. See the license [here](./LICENSE). |