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

  • @Yoru
    link
    English
    22 years ago

    Hello, I just made a new bookmarklet where it automatically transfers all of your subscribed communities to another instance, can be found here

    • ⱿeusOP
      link
      English
      2
      edit-2
      2 years ago

      i’ll be honest, i’m not sure what that’s for? is it moving to another account if you want to change your home instance? if so, that’s a good idea, i could add it to the post if you want in case this comment gets buried

      spoiler

      although i’m not entirely certain using https://github.com/Rob--W/cors-anywhere/issues/301 is a great idea…

      • @Yoru
        link
        English
        12 years ago

        I didn’t want to use it but I didn’t see any other way to tackle the cors issue

    • @[email protected]
      link
      fedilink
      English
      11 year ago

      Tried this with a throwaway, but it’s broken.

      Subscription location has changed.

      When corrected, it asks to visit https://cors-anywhere.herokuapp.com/corsdemo to request access. Despite doing so, it never gets past that point.

      When/if you fix it, you might give some context about how you’re handling user credentials.