this post was submitted on 12 Jun 2023
9 points (100.0% liked)

sh.itjust.works Main Community

7701 readers
1 users here now

Home of the sh.itjust.works instance.

Matrix

founded 1 year ago
MODERATORS
 

I made a little thing to more easily move to another instance:

A way to quickly grab a list of your subscribed communities.

Go to your list of subscribed communities, /communities/listing_type/Subscribed/page/1 and create a bookmark with the following code as link:

code

javascript:(function() {
    const currentHostname = window.location.hostname;
    const table = document.getElementById('community_table');
    const anchorTags = table.getElementsByTagName('a');
    const communityUrls = [];

    for (let i = 0; i < anchorTags.length; i++) {
      const title = anchorTags[i].title.substring(1);
      const parts = title.split('@');
      const community = parts[0].trim();
      const domain = parts[1] ? parts[1].trim() : currentHostname;
      const communityUrl = `https://${domain}/c/${community}`;
      communityUrls.push(communityUrl);
    }

    const urlsText = communityUrls.join('\n');

    navigator.clipboard.writeText(urlsText)
      .then(() => {
        alert('Community URLs copied to clipboard!');
      })
      .catch((error) => {
        alert('Failed to copy Community URLs to clipboard:', error);
      });
})();
Clicking this bookmark will automatically copy a list of all your subscribed communities and format the links so that you can pop them in the search bar of another instance to subscribe to them from another account. It can only scrape what's on screen, so if your subscribed communities list is several pages long just click the bookmark for each page.
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 5 points 1 year ago (1 children)

I made a slight modification to your bookmarklet asking to which instance you are migrating, which produces a list of links you can paste into something like https://www.openallurls.com so it becomes just a matter of clicking all of the "Subscribe" buttons:

javascript:(function() {
  const currentHostname = window.location.hostname;
  const tld = prompt("Please enter the name of the instance to which you are migrating:");
  const table = document.getElementById('community_table');
  const anchorTags = table.getElementsByTagName('a');
  const communityUrls = [];

  for (let i = 0; i < anchorTags.length; i++) {
    const title = anchorTags[i].title.substring(1);
    const parts = title.split('@');
    const community = parts[0].trim();
    const domain = parts[1] ? parts[1].trim() : currentHostname;
    const communityUrl = `https://${tld}/c/${community}@${domain}`;
    communityUrls.push(communityUrl);
  }

  const urlsText = communityUrls.join('\n');

  navigator.clipboard.writeText(urlsText)
    .then(() => {
      alert('Community URLs copied to clipboard!');
    })
    .catch((error) => {
      alert('Failed to copy Community URLs to clipboard:', error);
    });
})();
[โ€“] [email protected] 1 points 1 year ago

Does it cause issues if domain and tld match?