No description
This repository has been archived on 2024-05-13. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Nikita Karamov 4ecf304519
Self-host Google Fonts
Due to questionable privacy policy of Google Fonts (including them being
called illegal by the Munich court [1]), I have decided to self-host the
fonts. I have used the google-webfonts-helper[2] to load the subset
version of the font.

I have also added the `local()` source so that the font will not be
loaded if the user has a font with the same name installed on their
system.

After this commit, toot requires no 3rd-party resources any more 🎉

[1]: https://rewis.io/urteile/urteil/lhm-20-01-2022-3-o-1749320/
[2]: https://google-webfonts-helper.herokuapp.com/
2022-03-16 13:44:00 +01:00
.github Update usernames 2022-02-02 15:32:36 +01:00
api Update years in licence headers 2022-02-12 12:36:08 +01:00
assets Update toot logo to be more Mastodon-like 2021-01-30 14:25:48 +01:00
src Self-host Google Fonts 2022-03-16 13:44:00 +01:00
.browserslistrc Move browserslist to separate file 2020-09-23 18:09:46 +02:00
.editorconfig Add EditorConfig 2021-01-29 22:56:37 +01:00
.gitignore Change output directory to public 2021-08-27 15:13:50 +02:00
.node-version Migrate from asdf to nodenv 2021-08-14 17:43:45 +02:00
.prettierignore Update .prettierignore 2021-08-29 13:54:26 +02:00
.prettierrc.json Use Prettier to format files 2021-08-14 19:12:42 +02:00
CHANGELOG.md Update changelog 2022-02-12 12:40:48 +01:00
gulpfile.js Change output directory to public 2021-08-27 15:13:50 +02:00
LICENSE Migrate license from MIT to AGPL-3.0 2021-01-30 00:48:40 +01:00
package.json v2.2.2 2022-02-12 12:41:05 +01:00
pnpm-lock.yaml Bump some dependencies 2022-02-12 12:30:28 +01:00
README.md Update README 2022-02-12 12:30:49 +01:00

toot

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
</a>

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

Hosting

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!

Licence

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