Commit graph

163 commits

Author SHA1 Message Date
Nikita Karamov
762dd8051b
Add Misskey forks support 2023-09-02 21:56:53 +02:00
Nikita Karamov
6971f4e40f
Add Fedibird support 2023-09-02 21:56:53 +02:00
Nikita Karamov
af241cfce9
Refactor /api/detect/[] 2023-09-02 21:56:53 +02:00
Nikita Karamov
256aa8fbd0
Improve /api/instances 2023-09-02 21:56:53 +02:00
Nikita Karamov
08c71218b2
Remove unused file 2023-09-02 21:56:53 +02:00
Nikita Karamov
9dc393e529
Simplify HTML 2023-09-02 21:56:53 +02:00
Nikita Karamov
e84fed7952
Load and cache popular instances 2023-09-02 21:56:52 +02:00
Nikita Karamov
870406209e
Rewrite nanostore for saved instances 2023-09-02 21:56:52 +02:00
Nikita Karamov
d6363e10f9
Fix Astro.generator 2023-09-02 21:56:52 +02:00
Nikita Karamov
eb185b7ea1
Update stylelint 2023-09-02 21:56:51 +02:00
Nikita Karamov
7c2b270789
Remove unnecessary .ts extension 2023-09-02 21:56:51 +02:00
Nikita Karamov
47426d5dc7
Normalize domains in store 2023-09-02 21:56:51 +02:00
Nikita Karamov
ce3e19626f
Normalize domain on /api/share 2023-09-02 21:56:50 +02:00
Nikita Karamov
23fdf5ab07
Re-implement domain normalization 2023-09-02 21:56:50 +02:00
Nikita Karamov
a5314e5923
Use nanostores for saving instances 2023-09-02 21:56:50 +02:00
Nikita Karamov
56db514d15
Extract form as a separate component 2023-09-02 21:56:50 +02:00
Nikita Karamov
f0df611c16
Rearrange files 2023-09-02 21:56:50 +02:00
Nikita Karamov
343fcd7bc9
Extract layout 2023-09-02 21:56:50 +02:00
Nikita Karamov
e4feeb5903
Fix link to manifest 2023-09-02 21:56:49 +02:00
Nikita Karamov
9d59cad84b
Move script to a subfolder 2023-09-02 21:56:49 +02:00
Nikita Karamov
cded0a9cbb
Move instance fetching to client 2023-09-02 21:56:49 +02:00
Nikita Karamov
b556e7f12d
Remove GoatCounter 2023-09-02 21:56:49 +02:00
Nikita Karamov
ea48a7f29a
Extract license and privacy policy into separate pages 2023-09-02 21:56:49 +02:00
Nikita Karamov
4842d9954f
Implement Hometown support 2023-09-02 21:56:48 +02:00
Nikita Karamov
f4506ae4bc
Detect Akkoma as Pleroma 2023-09-02 21:56:48 +02:00
Nikita Karamov
2ad24a91da
Improve instance detection
Instance detection is now based on NodeInfo, which is standardized and
lighterweight.
2023-09-02 21:56:48 +02:00
Nikita Karamov
6d4eca0131
Improve instance list
This now returns the list of instances of multiple Fediverse projects.
Currently pretty slow because of the Mastodon and Pleroma being too big.
2023-09-02 21:56:48 +02:00
Nikita Karamov
f5cbb082ed
Fix some typing errors 2023-09-02 21:56:48 +02:00
Nikita Karamov
effac10b7e
Mention other networks 2023-09-02 21:56:47 +02:00
Nikita Karamov
546c9029aa
Make detect return 404 instead of 400 2023-09-02 21:56:47 +02:00
Nikita Karamov
4dfe43918f
Add Misskey (untested) 2023-09-02 21:56:47 +02:00
Nikita Karamov
cb0fc3e11d
Kinda implement Hubzilla? 2023-09-02 21:56:47 +02:00
Nikita Karamov
e1aa6966c0
Use a stricter TypeScript config 2023-09-02 21:56:47 +02:00
Nikita Karamov
4031a76291
Use a more specific path for GNU Social 2023-09-02 21:56:47 +02:00
Nikita Karamov
2c8a6c7da8
Implement Friendica 2023-09-02 21:56:46 +02:00
Nikita Karamov
808ab27ed4
Return empty list if no instances could be fetched 2023-09-02 21:56:46 +02:00
Nikita Karamov
f811ba371d
Add copyright notices 2023-09-02 21:56:45 +02:00
Nikita Karamov
64cc54e717
Remove deprecated slash division 2023-09-02 21:56:45 +02:00
Nikita Karamov
9771d67af9
Re-add GoatCounter script 2023-09-02 21:56:45 +02:00
Nikita Karamov
47c498ad2e
Re-implement prefilling instance and text 2023-09-02 21:56:44 +02:00
Nikita Karamov
378351a5d8
Add host detection
This re-implements the posting that was achieved in v3.
2023-09-02 21:56:44 +02:00
Nikita Karamov
6f338966d7
Fix lint error 2023-09-02 21:56:44 +02:00
Nikita Karamov
3de15b1b4c
Re-implement saving instances
Also implements saving of multiple instances, which
closes https://github.com/kytta/share2fedi/issues/29
2023-09-02 21:56:44 +02:00
Nikita Karamov
f2ba7d5324
Add a bit better error handling 2023-09-02 21:56:44 +02:00
Nikita Karamov
49a489d532
Re-implement pre-filling instances 2023-09-02 21:56:43 +02:00
Nikita Karamov
43d36bd6d7
Fix bug in datalist 2023-09-02 21:56:43 +02:00
Nikita Karamov
d3fb510bbb
Rewrite the instance selector
This commit adds a new '/api/instances' endpoint that returns
the domains of the available Mastodon instances. This also changes the
input field, making it accept a host rather than the full domain.
2023-09-02 21:56:43 +02:00
Nikita Karamov
6031d959ea
Migrate HTML file and basic API functionality 2023-09-02 21:56:43 +02:00
Nikita Karamov
1ba204644b
Install Astro instead of Vite 2023-09-02 21:56:43 +02:00
Nikita Karamov
ea3339d413
Replace Gulp with Vite 2023-09-02 21:56:38 +02:00
Nikita Karamov
01e82d462d
Update URLs to lead to GitHub 2023-09-02 21:56:38 +02:00
Nikita Karamov
bf556860c1
Update copyright headers in files
This updates the project name, description, and copyright years
2023-09-02 21:56:37 +02:00
Nikita Karamov
a040b32405
Use at() instead of charAt() 2023-06-17 14:08:15 +02:00
Nikita Karamov
9c0d08eb7d
Use a better robots.txt to prevent information leakage 2023-06-17 14:00:32 +02:00
Nikita Karamov
4df79c322b
Fix lint problems 2023-03-01 12:42:40 +01:00
Nikita Karamov
e2ddc5221f
Fix formatting issues 2023-03-01 12:42:40 +01:00
Nikita Karamov
74090c9ec7
Fix instance prefill not working
Closes https://codeberg.org/kytta/toot/issues/15
2023-03-01 11:51:12 +01:00
Nikita Karamov
445908b34a
Check for instance at the very beginning 2022-12-23 03:08:22 +01:00
Nikita Karamov
5f0e28e506
Only count views on the official instances 2022-12-23 03:05:09 +01:00
Nikita Karamov
9982dded07
Redo analytics again
This time I am manually calling the sendBeacon() function instead of
the script loading an image. This is faster, more privacy-friendly, and
more performant, since sendBeacon is being sent asynchronously. The
script I got at the end is also very small and hosted on my side.
2022-12-23 02:55:30 +01:00
Nikita Karamov
3702f9a596
Remove pixel and only submit empty path 2022-12-21 11:59:25 +01:00
Nikita Karamov
cd8ba5b43c
Fix remember instances
Closes #12
2022-11-20 16:09:11 +01:00
Nikita Karamov
a87bf08e2e
Add canonical URL 2022-11-14 10:58:41 +01:00
Nikita Karamov
3c2931cab6
Add GoatCounter analytics
I know, it sounds horrible, but it isn't as bad as it sounds. This is a
GDPR-friendly analytics engine that respects adblockers and doesn't
store any identifying data about the page. I am using it to estimate the
visitors count of this page.

Statistics are available here:
https://share2fedi.goatcounter.com/
2022-11-14 10:58:32 +01:00
Nikita Karamov
80b1e796af
Fix font naming 2022-03-16 13:55:08 +01:00
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
Nikita Karamov
e699cc20eb
Update years in licence headers 2022-02-12 12:36:08 +01:00
Nikita Karamov
929338c93f
Update hosting to Codeberg 2022-02-12 12:35:53 +01:00
Nikita Karamov
a5acc3dfdf
Update usernames 2022-02-02 15:32:36 +01:00
Nikita Karamov
3b8e22a507
Replace karamoff.dev with kytta.dev 2021-11-04 18:01:45 +01:00
Nikita Karamov
0ad7c5595f
Add licence identifiers to the source
- add SPDX licence identifiers to every source file
- add LibreJS-compatible identifiers to the JS code
2021-08-29 13:54:14 +02:00
Nikita Karamov
555ac47080
Add description of toot
- adds a short description to the <title>
- adds a meta tag for description

See #13
2021-08-28 16:06:57 +02:00
Nikita Karamov
7839dfa6ff
Replace JS on form with a POST request
Closes #12
2021-08-27 15:03:24 +02:00
Nikita Karamov
4b545f4a14
Clean up JS code 2021-08-14 21:56:17 +02:00
Nikita Karamov
1e0469ebee
Update robots.txt 2021-08-14 19:12:50 +02:00
Nikita Karamov
67808803a4
Use Prettier to format files 2021-08-14 19:12:42 +02:00
Nikita Karamov
55c1e677e0
Remove old logo.svg 2021-08-14 19:03:29 +02:00
Nikita Karamov
d16f5ffa27
Update JS pipeline 2021-08-14 18:54:32 +02:00
Nikita Karamov
d9dca764cc
Update styles pipeline 2021-08-14 18:50:53 +02:00
Nikita Karamov
f036326abe
Replace Pug with pure HTML 2021-08-14 18:33:06 +02:00
Nikita Karamov
22638faf30
Span <main> across the whole page
Closes #11
2021-03-17 08:52:14 +01:00
Nikita Karamov
ece0b9a865
Add placeholder for <textarea> 2021-03-12 21:20:34 +01:00
Nikita Karamov
9f8bdbfb44
Style button like the Mastodon version of it 2021-03-12 21:20:25 +01:00
Nikita Karamov
eedb55459d
Add more Mastodon-like footer 2021-03-12 21:16:02 +01:00
Nikita Karamov
c6a92c3046
New, more Mastodon-like header 2021-03-12 21:10:10 +01:00
Nikita Karamov
7415bb2093
Add Mastodon logo to site's description
See #6
2021-03-12 20:46:34 +01:00
Nikita Karamov
3b5d3d5264
Optimize font loading 2021-01-30 14:32:09 +01:00
Nikita Karamov
157fdef188
Use toot logo instead of text heading 2021-01-30 14:28:35 +01:00
Nikita Karamov
a29d349349
Update favicons
New, simpler structure courtesy of
https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs
2021-01-30 14:27:29 +01:00
Nikita Karamov
dc6e100993
Migrate license from MIT to AGPL-3.0
This was done to be accordance with Mastodon's projects' licenses
2021-01-30 00:48:40 +01:00
Nikita Karamov
a22563ce6d
Add EditorConfig
Indentation also changed to tabs
2021-01-29 22:56:37 +01:00
Andy Balaam
0563c29dd6 Open Mastodon in the same tab 2020-09-25 00:51:25 +01:00
Nikita Karamov
ba270b5bb9
Merge pull request #1 from andybalaam/list-instances 2020-09-24 16:06:35 +02:00
Andy Balaam
dd4fb48516
Remove styling for select since we are not using it
Co-authored-by: Nikita Karamov <nick@karamoff.dev>
2020-09-24 10:59:56 +01:00
Andy Balaam
315b2c6ee6
Remove styling for select since we are not using it
Co-authored-by: Nikita Karamov <nick@karamoff.dev>
2020-09-24 10:59:49 +01:00
Andy Balaam
3cc3c96a3e
Avoid adding empty entries to the donain list, when nothing is chosen.
Co-authored-by: Nikita Karamov <nick@karamoff.dev>
2020-09-24 10:59:25 +01:00
Andy Balaam
d4bf9e6456 Use an input with associatied datalist instead of select, for instances list 2020-09-24 10:03:42 +01:00
Andy Balaam
7850cece52 Use XMLHttpRequest (for IE 11 compatibility) 2020-09-24 09:28:46 +01:00
Andy Balaam
4d36c872ca Make instance list appearance consistent with other controls 2020-09-24 09:09:35 +01:00
Andy Balaam
e8b9390343 Include the prefilled domain in the list, in the correct sort order 2020-09-24 09:07:17 +01:00