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.
share2fedi/README.md

92 lines
2.5 KiB
Markdown
Raw Normal View History

<h1 align="center"><img src="assets/logo.svg" width="128" height="128" alt="toot"></h1>
2020-09-23 09:08:21 -05:00
2021-01-30 09:12:32 -05:00
> Cross-instance share page for Mastodon
2020-09-23 11:39:38 -05:00
2022-02-12 06:30:49 -05:00
[toot] allows you to share stuff on Mastodon, cross-instance. Just put in your
post text and the instance URL and click Toot!
2021-01-30 09:12:32 -05:00
2022-02-12 06:30:49 -05:00
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:
2020-09-23 11:39:38 -05:00
```html
2021-11-04 12:01:45 -05:00
<a href="https://toot.kytta.dev/?text=Hello%20world!&instance=https%3A%2F%2Fmastodon.xyz">
Share on Mastodon
2020-09-23 11:39:38 -05:00
</a>
```
2022-02-12 06:30:49 -05:00
The instance URL can be saved in your `localStorage` to be automatically
appended later — handy!
2021-01-30 09:12:32 -05:00
## Hosting
### One-click Vercel deploy
For now, toot is a tad bit vendor-locked to run on
[Vercel](https://vercel.com/). To deploy it yourself, you can use the following
button:
2022-02-02 09:32:36 -05:00
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fkytta%2Ftoot)
### Host it yourself
Self-hosting toot outside of Vercel requires some extra setup:
2021-11-04 12:20:24 -05:00
1. Make sure you have got Node.js v12 or later as well as pnpm installed
2. Build the static part of toot:
```sh
2021-11-04 12:20:24 -05:00
pnpm install # to install dependencies
pnpm run build # to build the website
```
3. Run the backend server for the form:
```sh
pm2 start api/toot.js --watch --ignore-watch="node_modules"
```
2022-03-17 08:04:44 -05:00
> You can find a summary for pm2 at: https://pm2.keymetrics.io/docs/usage/quick-start/
4. Set up webserver
2022-03-17 08:04:44 -05:00
1. Apache
2022-03-17 08:04:44 -05:00
```
2022-03-17 08:09:30 -05:00
DocumentRoot "path_to_toot/public"
ProxyPass "/api/toot" "http://localhost:8000/"
2022-03-17 08:04:44 -05:00
```
2. Nginx
2022-03-17 08:04:44 -05:00
```
2022-03-17 08:09:30 -05:00
root path_to_toot/public;
2022-03-17 08:04:44 -05:00
index.html;
location /api/toot {
proxy_pass http://localhost:8000/;
}
```
2021-01-30 09:12:32 -05:00
## See also
2022-02-12 06:30:49 -05:00
**[📯 Shareon](https://shareon.js.org)**
2022-03-17 08:04:44 -05:00
(lightweight, stylish, and ethical share buttons) uses [toot] under the hood!
## Licence
2022-02-12 06:30:49 -05:00
Copyright © 20202022 [Nikita Karamov](https://www.kytta.dev/)
Licenced under the [GNU Affero General Public License, version 3](https://spdx.org/licenses/AGPL-3.0-only.html)
The toot logo is based on Mastodons Simple logo, licensed under [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html).
The repo banner includes Mastodons Full logo, licensed under [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html).
2020-09-23 11:39:38 -05:00
2022-03-17 08:04:44 -05:00
---
2021-08-29 07:10:23 -05:00
2022-02-12 06:30:49 -05:00
This project is hosted on Codeberg: <https://codeberg.org/kytta/toot>
2021-08-29 07:10:23 -05:00
2022-02-12 06:30:49 -05:00
[toot]: https://toot.kytta.dev/