🐘 Cross-instance share page for Mastodon https://toot.kytta.dev/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nikita Karamov af6420eef8
2 months ago
.github Update usernames 4 months ago
api Update years in licence headers 3 months ago
assets Update toot logo to be more Mastodon-like 1 year ago
src Fix font naming 2 months ago
.browserslistrc Move browserslist to separate file 2 years ago
.editorconfig Add EditorConfig 1 year ago
.gitignore Change output directory to public 9 months ago
.node-version Migrate from asdf to nodenv 9 months ago
.prettierignore Update .prettierignore 9 months ago
.prettierrc.json Use Prettier to format files 9 months ago
CHANGELOG.md Fix font naming 2 months ago
LICENSE Migrate license from MIT to AGPL-3.0 1 year ago
README.md Update README 3 months ago
gulpfile.js Change output directory to public 9 months ago
package.json v2.3.1 2 months ago
pnpm-lock.yaml Bump some dependencies 3 months ago



Cross-instance share page for Mastodon

toot allows you to share stuff on Mastodon, cross-instance. Just put in your post text and the instance URL and click ‘Toot!’

And if you open this page with text URL parameter, it will be auto-inserted in the text field. The same goes for the instance URL parameter. This can be used to build custom share buttons for Mastodon:

<a href="https://toot.kytta.dev/?text=Hello%20world!&instance=https%3A%2F%2Fmastodon.xyz">
  Share on Mastodon

The instance URL can be saved in your localStorage to be automatically appended later — handy!


One-click Vercel deploy

For now, toot is a tad bit vendor-locked to run on Vercel. To deploy it yourself, you can use the following button:

Deploy with Vercel

Host it yourself

Self-hosting toot outside of Vercel requires some extra setup:

  1. Make sure you have got Node.js v12 or later as well as pnpm installed

  2. Build the static part of toot:

    pnpm install    # to install dependencies
    pnpm run build  # to build the website
  3. Run the backend server for the form:

    node api/toot.js
  4. Set up a reverse proxy from localhost:8000 to /api/toot

See also

📯 Shareon (lightweight, stylish, and ethical share buttons) uses toot under the hood!


Copyright © 2020–2022 Nikita Karamov
Licenced under the GNU Affero General Public License, version 3

The ‘toot’ logo is based on Mastodon’s ‘Simple’ logo, licensed under AGPL-3.0.

The repo banner includes Mastodon’s ‘Full’ logo, licensed under AGPL-3.0.

This project is hosted on Codeberg: https://codeberg.org/kytta/toot