i find it annoying to have to manually change urls to subscribe to a community outside lemmy.world, so i wrote a bookmarklet to quickly switch to the lemmy.world instance
to use, just drag the following code to your bookmarks bar (name it whatever you like), then click it when you want to use it
javascript:(function(){const myInst="lemmy.world";let currUrl=window.location.toString().split("/");let currInst=currUrl[2];currUrl[2]=myInst;if(currUrl[3]=="m"){currUrl[3]="c";}let newUrl=currUrl.join("/");if(!(currUrl[-1].includes("@"))){newUrl=newUrl+"@"+currInst;}window.location=newUrl;})()
readable version:
javascript:(
function() {
// make sure to change this if using on a different instance
const myInst="lemmy.world";
let currUrl=window.location.toString().split("/");
let currInst=currUrl[2];
currUrl[2]=myInst;
// fix for kbin using "m" instead,
// without overriding /u/ for user
if (currUrl[3]=="m") {
currUrl[3]="c";
}
let newUrl=currUrl.join("/");
// fix for already foreign instances (e.g. lemm.ee/c/[email protected])
if (!currUrl[-1].includes("@")) {
newUrl=newUrl+"@"+currInst;
}
window.location=newUrl;
})
()
old version
javascript:(function(){const myInst="lemmy.world";let currUrl=window.location.toString().split("/");let currInst=currUrl[2];currUrl[2]=myInst;currUrl[3]="c";let newUrl=currUrl.join("/")+"@"+currInst;window.location=newUrl;})()
readable version:
javascript:(
function() {
// make sure to change this if using on a different instance
const myInst="lemmy.world";
let currUrl=window.location.toString().split("/");
let currInst=currUrl[2];
currUrl[2]=myInst;
currUrl[3]="c"; // fix for kbin using "m" instead
let newUrl=currUrl.join("/")+"@"+currInst;
window.location=newUrl;
})
()
update 2023-06-27: add compatibility for kbin magazines
update 2023-07-01: compatibility with users, kbin, and already foreign instances
Do you know if the process works differently in FireFox? (Note that technically I use Ghostery but it’s based in Firefox). I copied the script to a new bookmark URL and changed lemmy.world to lemmy.one since thats the instance I’m registered on. However, when clicked nothing happens. Is there something I’m missing?
i can tell you that i made and currently use it with firefox…
sanity check, when you select edit bookmark it should look like this
however, i don’t know about ghostery (i didn’t even know they made a browser). it’s possible they block arbitrary js for security reasons? it would be a dumb choice in my opinion, but i guess it’s protecting you from yourself?
however i can tell you a couple of things. this doesn’t work with some communities (they just 404), but that happens if one puts the url in manually. i don’t know when or why this happens, but it does seem to happen a lot with lemmy.one. i wonder if it’s a l.1 federation issue
Interesting. ok I’ll dig further into it being Ghostery related then.
For your sanity, yes, looks relatively the same on me end when I edit bookmark.
deleted by creator
No worries at all. I actually found a post working on a FF extension that I think will work. https://beehaw.org/post/493791. Similar idea, but adds an icon to the left of links.
I appreciate you taking the time to look into it though!
weird - sorry i couldn’t help… : (