diff --git a/README.md b/README.md index 34fd9b0..cb1618d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ Share to Mastodon is a browser extension for quickly sharing links and tabs to the [Mastodon social network](https://joinmastodon.org/). You can click the Mastodon button in the top bar (or the keyboard shortcut) to share the current tab, or right-click a link on any page. You can also select text and pick Mastodon in the context (right-click) menu to share a snippet. -The extension can store multiple server options, and synchronize them with your browser. It works with any Mastodon server, and it uses the share dialog hosted by the selected server, so no API access is required. +The browser extension can store multiple server options, and synchronize them with your browser's settings. It uses the share dialog hosted by the selected server, so no API access or account permissions are required. + +Share to Mastodon is compatible with any Mastodon server, as well as platforms that have implemented Mastodon's share URL scheme, such as [Calckey](https://calckey.org/) and [Misskey](https://join.misskey.page/en-US/). It also works with the [Elk](https://elk.zone/) Mastodon web client. **[Download for Google Chrome](https://chrome.google.com/webstore/detail/bibnjflclpdmbbcncejifemmbggkcjde)** diff --git a/js/share.js b/js/share.js index 78dc54e..2feaeea 100644 --- a/js/share.js +++ b/js/share.js @@ -1,11 +1,13 @@ // Function to generate URL function getFinalURL(domain, text, link) { var url = '' - if (domain === 'elk.zone') { + if ((domain === 'elk.zone') || (domain === 'main.elk.zone')) { // Elk web app url = 'https://elk.zone/intent/post?text=' + encodeURIComponent(text + '

' + link) } else { - // Standard Mastodon URL intent + // Standard Mastodon URL intent, also used by Calckey, Misskey, and other projects + // Misskey documentation: https://misskey-hub.net/en/docs/features/share-form.html + // Calckey implementation: https://codeberg.org/calckey/calckey/src/branch/main/packages/backend/src/server/web/manifest.json#:~:text=share_target url = 'https://' + domain + '/share?text=' + encodeURIComponent(text + '\n\n' + link) } return url @@ -53,7 +55,7 @@ async function init() { linkEl.rel = 'preconnect' // Add server icon to list var serverImg = document.createElement('img') - if (serverUrl === 'elk.zone') { + if ((serverUrl === 'elk.zone') || (serverUrl === 'main.elk.zone')) { serverImg.setAttribute('src', chrome.runtime.getURL('img/elk.png')) } else { serverImg.setAttribute('src', 'https://' + serverUrl + '/favicon.ico') diff --git a/settings.html b/settings.html index 66984c9..b53bad8 100644 --- a/settings.html +++ b/settings.html @@ -33,7 +33,7 @@ -
Mastodon forks or alternative servers, like Wildebeest or PixelFed, may not be compatible.
+
This must be a server running Mastodon, Calckey, Misskey, or another compatible social media platform.