{"id":13686530,"url":"https://github.com/fenwick67/mastofeed","last_synced_at":"2026-03-05T16:39:01.911Z","repository":{"id":20394356,"uuid":"89824353","full_name":"fenwick67/mastofeed","owner":"fenwick67","description":"ActivityPub feed =\u003e iframe embed.  https://www.mastofeed.com","archived":false,"fork":false,"pushed_at":"2023-09-29T13:18:19.000Z","size":345,"stargazers_count":130,"open_issues_count":17,"forks_count":29,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-13T14:54:49.815Z","etag":null,"topics":["atom","embed","hacktoberfest","iframe","iframe-embeds","mastodon"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fenwick67.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-04-30T02:15:40.000Z","updated_at":"2024-04-13T14:15:26.000Z","dependencies_parsed_at":"2023-02-18T19:46:03.816Z","dependency_job_id":"63ec4bff-652a-4594-9b1a-a5e78209cde5","html_url":"https://github.com/fenwick67/mastofeed","commit_stats":{"total_commits":98,"total_committers":7,"mean_commits":14.0,"dds":0.653061224489796,"last_synced_commit":"459d21bb91a01880e90777e61ae9f10580482378"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenwick67%2Fmastofeed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenwick67%2Fmastofeed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenwick67%2Fmastofeed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenwick67%2Fmastofeed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fenwick67","download_url":"https://codeload.github.com/fenwick67/mastofeed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230367781,"owners_count":18215326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atom","embed","hacktoberfest","iframe","iframe-embeds","mastodon"],"created_at":"2024-08-02T15:00:34.505Z","updated_at":"2026-03-05T16:39:01.856Z","avatar_url":"https://github.com/fenwick67.png","language":"CSS","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Mastofeed\n\nEmbed a mastodon feed in your blog et cetera.\n\nhttps://www.mastofeed.com\n\n## User guide\n\nThe homepage has a tool for generating iframe code for you, with a sensible `sandbox` attribute.  The feeds fit comfortably in a 400px wide area.\n\n## API\n\n### V2\n\n#### GET `/apiv2/feed`\n\n\u003e example: `/api/feed?userurl=https%3A%2F%2Ftechhub.social%2Fusers%2Ffenwick67\u0026scale=90\u0026theme=light`\n\nReturns a html page which displays a mastodon feed for a user URL.  Note that URLs must be URI encoded (i.e. `encodeURIComponent('https://techhub.social/users/fenwick67')` ).\n\nQuerystring options:\n\n| option | required | description |\n| ------ | -------- | ----------- |\n| `userurl` | **yes** | Mastodon/ActivityPub account URL (usually `https://${instance}/users/${username}`) |\n| `feedurl` | no | a URL to a page of an ActivityPub post collection. Only used for pages beyond the first. |\n| `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. |\n| `boosts` | no | whether to show boosts or not |\n| `replies` | no | whether to show replies or not |\n| `size` | no | the scale of the UI in percent. |\n\n### V1 (deprecated, will now just redirect you to the v2 API)\n\n#### GET `/api/feed`\n\n\u003e example: `/api/feed?url=https%3A%2F%2Ftechhub.social%2Fusers%2Ffenwick67.atom\u0026scale=90\u0026theme=light`\n\nReturns a html page which displays a mastodon feed for an atom feed URL.  Note that URLs must be URI encoded (i.e. `encodeURIComponent('https://techhub.social/users/fenwick67.atom')` ).\n\nQuerystring options:\n\n\n| option | required | description |\n| ------ | -------- | ----------- |\n| `url` | **yes** | Mastodon Atom feed URL |\n| `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. |\n| `size` | no | the scale of the UI in percent. |\n\n## Server Installation\n\nThis 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.\n\n### ENV VARS\n\nyou need to set:\n\n* `AP_PRIVATE_KEY_BASE64=asdfsd` Run utils/make-keys.js to make a key\n* `AP_PUBLIC_KEY_BASE64=safasdf` Run utils/make-keys.js to make a key\n* `DOMAIN_NAME=mastofeed.com` or whatever\n* `PORT=80` or whatever\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffenwick67%2Fmastofeed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffenwick67%2Fmastofeed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffenwick67%2Fmastofeed/lists"}