Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fenwick67/mastofeed
ActivityPub feed => iframe embed. https://www.mastofeed.com
https://github.com/fenwick67/mastofeed
atom embed hacktoberfest iframe iframe-embeds mastodon
Last synced: 3 days ago
JSON representation
ActivityPub feed => iframe embed. https://www.mastofeed.com
- Host: GitHub
- URL: https://github.com/fenwick67/mastofeed
- Owner: fenwick67
- License: mit
- Created: 2017-04-30T02:15:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-29T13:18:19.000Z (about 1 year ago)
- Last Synced: 2024-04-13T14:54:49.815Z (8 months ago)
- Topics: atom, embed, hacktoberfest, iframe, iframe-embeds, mastodon
- Language: CSS
- Homepage:
- Size: 337 KB
- Stars: 130
- Watchers: 5
- Forks: 29
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mastofeed
Embed a mastodon feed in your blog et cetera.
https://www.mastofeed.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
### V2
#### GET `/apiv2/feed`
> example: `/api/feed?userurl=https%3A%2F%2Foctodon.social%2Fusers%2Ffenwick67&scale=90&theme=light`
Returns a html page which displays a mastodon 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` | **yes** | Mastodon/ActivityPub account URL (usually `https://${instance}/users/${username}`) |
| `feedurl` | no | a URL to a page of an ActivityPub post collection. Only used for pages beyond the first. |
| `theme` | no | either `dark`, `light` or `auto`, to select the UI theme (default is `dark`). `auto` will appear light unless the user sets up 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. |### V1 (deprecated, will now just redirect you to the v2 API)
#### GET `/api/feed`
> example: `/api/feed?url=https%3A%2F%2Foctodon.social%2Fusers%2Ffenwick67.atom&scale=90&theme=light`
Returns a html page which displays a mastodon feed for an atom feed URL. Note that URLs must be URI encoded (i.e. `encodeURIComponent('https://octodon.social/users/fenwick67.atom')` ).
Querystring options:
| option | required | description |
| ------ | -------- | ----------- |
| `url` | **yes** | Mastodon Atom feed URL |
| `theme` | no | either dark, light or auto, to select the UI theme (default is dark). `auto` will appear light unless the user sets up dark mode on their device. |
| `size` | no | the scale of the UI in percent. |## Server Installation
This is a straightforward node project with zero databases or anything, you should just be able to run `npm install` and then `npm start` to get up and running.
### ENV VARS
you need to set:
* `AP_PRIVATE_KEY_BASE64=asdfsd` Run utils/make-keys.js to make a key
* `AP_PUBLIC_KEY_BASE64=safasdf` Run utils/make-keys.js to make a key
* `DOMAIN_NAME=mastofeed.com` or whatever
* `PORT=80` or whatever