4

This looks super-cool, maybe could be useful to some :)

[-] fperson@lemmy.world 1 points 1 year ago

Why are these bot operators going through the hassle of joining existing instances

I wonder if there's already a "the bots are from Reddit" conspiracy :D

I really see no point in these actions. I mean, seriously, why would you want to just harm something open?

[-] fperson@lemmy.world 2 points 1 year ago

There’s an open-source and privacy-oriented userscript manager for Chrome(ium) called ViolentMonkey. Highly recommended using that!

17

Hey folks! I hope you're having a lovely day. I was using the "Lemmings fix" by @soy@lemmy.world for a while now and have been improving it to tailor my needs.

This one

  • works even when browsing remote instances on remote instances
  • adds the redirect button to the "sidebar"/community card
  • works on mobile, too

Here are a couple of screenshots:

Here's the code (modify localLemmy before using):

// ==UserScript==
// @name         Lemmings Fix
// @version      1.1
// @description  Redirect to your local Lemmy instance
// @author       @lemmy.world/u/soy, @lemmy.world/u/fperson
// @match        https://*/c/*
// @icon         https://join-lemmy.org/static/assets/icons/favicon.svg
// ==/UserScript==

(function () {
  'use strict';

  const localLemmy = 'lemmy.world';
  const isLemmy = document.head.querySelector('[name~=Description][content]').content === 'Lemmy';

  if (!isLemmy) {
    return;
  }

  // Get URL info
  const splitUrl = location.href.split('/');
  const instanceUrl = splitUrl[2];
  const community = splitUrl[4];
  let localizedUrl = `https://${localLemmy}/c/${community}`;
  if (!community.includes('@')) {
    localizedUrl = `${localizedUrl}@${instanceUrl}`;
  }

  // Create redirect button if not on local
  if (instanceUrl !== localLemmy) {
    var zNode = document.createElement('a'); // create anchor tag
    zNode.href = localizedUrl; // set the href
    zNode.textContent = `Open in ${localLemmy}`; // set the text
    zNode.id = 'localizeContainer'; // set the id
    // update styles for a more modern look
    zNode.style = `
          display: inline-block;
          cursor: pointer;
          padding: 5px 20px;
          background-color: #007BFF;
          color: #FFF;
          text-decoration: none;
          border-radius: 5px;
          border: none;
          box-shadow: 0 2px 5px rgba(0,0,0,0.15);
          font-size: 1rem;
          font-weight: bold;
          transition: background-color 0.3s ease;
          top: 5rem;
          right: 1rem;
          z-index: 1000;
          `;
    zNode.addEventListener('mouseenter', function () {
      this.style.backgroundColor = '#0056b3';
    });
    zNode.addEventListener('mouseleave', function () {
      this.style.backgroundColor = '#007BFF';
    });

    function addButtonIfNotPresent(node) {
      const link = node.querySelector('a[href*="/create_post"]');
      if (link && !link.parentNode.querySelector('#localizeContainer')) {
        var zNode = document.createElement('a');
        zNode.href = localizedUrl;
        zNode.textContent = `Open in ${localLemmy}`;
        zNode.id = 'localizeContainer';
        zNode.style = `
    display: inline-block;
    cursor: pointer;
    padding: 5px 20px;
    background-color: #007BFF;
    color: #FFF;
    text-decoration: none;
    border-radius: 5px;
    border: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    font-size: 1rem;
    font-weight: bold;
    transition: background-color 0.3s ease;
    top: 5rem;
    right: 1rem;
    z-index: 1000;
  `;
        zNode.addEventListener('mouseenter', function () {
          this.style.backgroundColor = '#0056b3';
        });
        zNode.addEventListener('mouseleave', function () {
          this.style.backgroundColor = '#007BFF';
        });

        link.parentNode.appendChild(zNode);
      }
    }

    const observer = new MutationObserver(function (mutationsList, observer) {
      for (let mutation of mutationsList) {
        if (mutation.type === 'childList') {
          mutation.addedNodes.forEach((node) => {
            if (node.nodeType === 1) {
              addButtonIfNotPresent(node);
            }
          });
        }
      }
    });

    // Options for the observer (which mutations to observe)
    const config = { childList: true, subtree: true };

    // Target node to observe
    const targetNode = document.body;

    // Start observing the target node for configured mutations
    observer.observe(targetNode, config);

    // Run initial check
    document.querySelectorAll('.card-body').forEach(addButtonIfNotPresent);
  }
})();
1

It was fine :)

1

The answers are pretty funny and fully match the duo's vibe!

1

I found it pretty randomly. I believe it was an Apple Music recommendation or something. And I couldn't stop listening to it; I was constantly going back to it, listening repeatedly. It sounded terrific!

Then I went ahead to check out some more of their music. And I love them! They're one of my favorite bands nowadays; definitely worth checking out!

3

Yup, I agree with him. However, I'm still happy that all the Reddit stuff happened. That may naturally sound weird, but at least now there are enough people on Lemmy to be a viable replacement for me personally

2
submitted 1 year ago* (last edited 1 year ago) by fperson@lemmy.world to c/southparkmemes@lemmy.world
1
submitted 1 year ago* (last edited 1 year ago) by fperson@lemmy.world to c/aromantic@lemmy.ml

Hey folks, I hope you're having a lovely day. I've been recently thinking about the idea of being aromantic by choice. It may sound weird, and some people may even disagree with it. However, I genuinely believe that it's pretty legit and helpful.

I consider myself aromantic. While it hasn't always been this way, I was always kind of leaning toward it. Several months ago, I was chatting with a friend about relationships (not only romantic) and, after some background thinking, concluded to be aromantic, and I'm happy about it since it helps me focus on stuff that I personally find more important. Also, it turns out to help develop better platonic relationships.

I'm also thinking about making a video on this topic once my tripod arrives (which is in a few days already!), making it even more interesting to discuss :).

I'd be glad to hear what you think about the idea. And maybe some other folks are this way?

Peace <3

edit: editing for possible actual federation?

1

And it sounds like a lot of work ¯_(ツ)_/¯

1
6

!electropunk@lemmy.world - a community for all-things electropunk 💥

like a new breath

like a new desire

1

Electropunk has a very special place in my heart. I love it in an unusual way. While there are only several bands that are recognized as electropunk, there's lots of other music that feels like it.

I've been recently listening to lots of Bondage Fairies, and I think they are now one of my favorite bands! And Kap Bambino is, of course, superb. Just a random thingie :).

Anyways, feel free to share and discuss everything related to electropunk here!

view more: next ›

fperson

joined 1 year ago
MODERATOR OF