forked from sam/fedifeed
48 lines
3.5 KiB
Markdown
48 lines
3.5 KiB
Markdown
# Fedifeed
|
|
|
|
[![Build Status](https://ci.git.froth.zone/api/badges/sam/fedifeed/status.svg)](https://ci.git.froth.zone/sam/fedifeed)
|
|
|
|
Embed an activitypub feed in your blog et cetera. \
|
|
This is a fork of [mastofeed](https://github.com/fenwick67/mastofeed) that adds support for more themes and Misskey.
|
|
|
|
https://www.fedifeed.com
|
|
|
|
## User guide
|
|
|
|
The homepage has a tool for generating iframe code for you, with a sensible `sandbox` attribute. The feeds fit comfortably in a 400px wide area.
|
|
|
|
## API
|
|
|
|
### V1
|
|
|
|
#### GET `/api/v1/feed`
|
|
|
|
> example: `/api/v1/feed?userurl=https%3A%2F%2Foctodon.social%2Fusers%2Ffenwick67&scale=90&theme=masto-light`
|
|
|
|
Returns a html page which displays a feed for a user URL. Note that URLs must be URI encoded (i.e. `encodeURIComponent('https://octodon.social/users/fenwick67')` ).
|
|
|
|
Querystring options:
|
|
|
|
| option | required | description |
|
|
| ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `userurl` | **\*** | Mastodon/Pleroma/Misskey account URL (usually `https://${instance}/users/${username}` for MastoAPI or `https://${instance}/@${username}` for Misskey) |
|
|
| `instance` | **\*\*** | Mastodon/Pleroma/Misskey instance URL (usually `https://${instance}`) |
|
|
| `user` | **\*\*** | Mastodon/Pleroma/Misskey user ID (usually `${username}`) |
|
|
| `feedurl` | no | a URL to a page of an ActivityPub post collection. Only used for pages beyond the first. |
|
|
| `theme` | no | either `masto-dark`, `masto-light` or `masto-auto`, to select the UI theme (default is `masto-dark`). `auto` will appear masto-light unless the user sets up masto-dark mode on their device. |
|
|
| `boosts` | no | whether to show boosts or not |
|
|
| `replies` | no | whether to show replies or not |
|
|
| `size` | no | the scale of the UI in percent. |
|
|
|
|
\* `userurl` is required if `instance` and `user` are not specified.\*\*\* \
|
|
\*\* `instance` **and** `user` are required if `userurl` is not specified.\*\*\*
|
|
|
|
\*\*\* **`userurl` and `instance`/`user` are mutually exclusive.**
|
|
|
|
## Server Installation
|
|
|
|
This is a straightforward node project with zero databases or anything, you should just be able to run `yarn install` and then `yarn start` to get up and running. Set your `PORT` environment variable to change the port it listens on.
|
|
|
|
## Improve me
|
|
|
|
Feel free to add a caching layer, improve the styles and add more features.
|