Spyke

Posts

plugins·Lemmy Plugins and Userscriptsbyfperson

[UserScript] Yet another redirector (hopefully, a better one!)

Hey folks! I hope you're having a lovely day. I was using the "Lemmings fix" by @[email protected] 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);
  }
})();
View original on lemmy.world
frusciante·John Frusciantebyfperson

John Frusciante - Forever Away

This song is amongst the most influential in my life. Especially nowadays when I can't visit my hometown due to political/war issues.

I remember listening to it and feeling like this outcast of society as a kid. And having lots of late nights, following my curiosity, talking to my internet pals, and trying to figure out what this life thingie is.

Things have changed now, but the music is still unbelievably beautiful.

View original on lemmy.world
aromantic·aromantic communitybyfperson

Aromanticism as a choice?

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?

View original on lemmy.world
electropunk·i love electropunkbyfperson

Welcome to [email protected]

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 original on lemmy.world
southpark·South Parkbyfperson

South Park Enhancer Browser extension

Hey, fellas! I've been recently watching lots of South Park and found myself wishing that the official South Park website had some additional features/behaviors for a better viewing experience. So I made a browser extension to fix that.

I myself find it pretty helpful so far! Here's a list of current features:

  • Adds a "Skip Intro" button
  • Automatically hides the cursor after a few seconds of inactivity on the video player
  • Toggle play/pause on click on the video player
  • Always play/pause the video when the spacebar is pressed (instead of scrolling the page if the video is not focused)
  • Configurable seeking time (defaults to 5 seconds)
  • Toggle fullscreen on double-click
  • Makes episodes' list under "Watching" scrollable
  • Focuses the currently selected season when opening the season selection dropdown
  • Makes the "FULL EPISODES" header on the homepage link to the full episodes page.

I was initially planning also to add functionality for marking episodes as watched/unwatched but dunno when I'll get to that.

It's open-source and currently supports Chrome (and any Chromium-based browsers; e.g., Brave, Arc) and Firefox. I may eventually build it for Safari too :)

I hope you find it useful!

P.S. If you have any small improvement ideas, there's a big chance that I'll implement them if you share them!

https://github.com/f-person/parkview_enhancerOpen linkView original on lemmy.world