script per siti che facilita la condivisione delle pagine web nelle istanze Mastodon toot ti permette di condividere URL su Mastodon, sunziona per qualsiasi istanza. Basta inserire il testo del tuo post e l'URL dell'istanza e cliccare su "Toot!". https://mastodon.it
Go to file
Nikita Karamov 4df79c322b
Fix lint problems
2023-03-01 12:42:40 +01:00
.github Update usernames 2022-02-02 15:32:36 +01:00
api Fix lint problems 2023-03-01 12:42:40 +01:00
assets Update toot logo to be more Mastodon-like 2021-01-30 14:25:48 +01:00
src Fix lint problems 2023-03-01 12:42:40 +01:00
.browserslistrc Fix formatting issues 2023-03-01 12:42:40 +01:00
.editorconfig Add EditorConfig 2021-01-29 22:56:37 +01:00
.eslintignore Set up linters 2023-03-01 12:42:40 +01:00
.eslintrc.json Set up linters 2023-03-01 12:42:40 +01:00
.gitignore Change output directory to public 2021-08-27 15:13:50 +02:00
.pre-commit-config.yaml Set up linters 2023-03-01 12:42:40 +01:00
.prettierignore Set up linters 2023-03-01 12:42:40 +01:00
.prettierrc.json Set up linters 2023-03-01 12:42:40 +01:00
CHANGELOG.md Release 2.4.3 2022-12-23 03:12:03 +01:00
LICENSE Migrate license from MIT to AGPL-3.0 2021-01-30 00:48:40 +01:00
README.md add caddy syntax 2022-05-17 15:30:54 +02:00
gulpfile.js Set up linters 2023-03-01 12:42:40 +01:00
package.json Set up linters 2023-03-01 12:42:40 +01:00
pnpm-lock.yaml Set up linters 2023-03-01 12:42:40 +01:00

README.md

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
    

    or if you want to run the process in the background:

    pm2 start api/toot.js --watch --ignore-watch="node_modules"
    

    You can find a summary for pm2 at: https://pm2.keymetrics.io/docs/usage/quick-start/

  4. Set up webserver

    1. Apache
    DocumentRoot "path_to_toot/public"
    
    ProxyPass "/api/toot"  "http://localhost:8000/"
    
    1. Nginx
    root path_to_toot/public;
    index.html;
    
    location /api/toot {
        proxy_pass http://localhost:8000/;
    }
    
    1. Caddy
    root * path_to_toot/public;
    try_files index.html
    
    handle_path /api/toot {
       reverse_proxy localhost:8000
    }
    

See also

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

Licence

Copyright © 20202022 Nikita Karamov
Licenced under the GNU Affero General Public License, version 3

The toot logo is based on Mastodons Simple logo, licensed under AGPL-3.0.

The repo banner includes Mastodons Full logo, licensed under AGPL-3.0.


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