For those that use Tampermonkey or GreaseMonkey, here’s a quick script I whipped up that creates a button that redirects communities from other instances to your local instance. If your instance isn’t lemmy.world
, then change the localLemmy
var at the top. Enjoy!
// ==UserScript==
// @name Lemmings Fix
// @version 1.0
// @description Redirect to your local Lemmy instance
// @author @lemmy.world/u/soy
// @match https://*/c/*
// @icon https://join-lemmy.org/static/assets/icons/favicon.svg
// @grant GM_addStyle
// ==/UserScript==
const localLemmy = 'lemmy.world';
var isLemmy = document.head.querySelector("[name~=Description][content]").content === 'Lemmy';
if (isLemmy) {
// Get URL info
var splitUrl = location.href.split('/');
var instanceUrl = splitUrl[2];
var community = splitUrl[4];
var localizedUrl = 'https://' + localLemmy + '/c/' + community + '@' + instanceUrl;
// Create redirect button if not on local
if (instanceUrl !== localLemmy) {
var zNode = document.createElement ('div');
zNode.innerHTML = '<button id="localize" type="button">Open in local instance</button>';
zNode.setAttribute('id', 'localizeContainer');
document.body.appendChild(zNode);
document.getElementById ("localize").addEventListener (
"click", onLocalize
);
}
}
function onLocalize (zEvent) {
window.location.replace(localizedUrl);
}
GM_addStyle ( `
#localizeContainer {
position: fixed;
right: 0px;
bottom: 0px;
}
#localize {
cursor: pointer;
padding: 16px;
}
` );
Hah, just came here to suggest an improvement, but the script has already transformed completely while I was gone :D