9

Can anyone tell me how I can block an entire instance on kbin? I don't speak German so I want to remove feddit.de from my feed. I found how to block a single magazine/community but not how to block an entire instance.

you are viewing a single comment's thread
view the rest of the comments
[-] elmicha@feddit.de 5 points 1 year ago* (last edited 1 year ago)

I'm sorry I don't know the answer, but I would like to point out that there are also some English speaking communities on feddit.de (e.g. boardgames). I guess a better filter would be language based, although I don't know if the communities/magazines even have meta data with their language(s).

[-] Maestro@kbin.social 1 points 1 year ago

Thanks, I didn't know!

[-] Kaldo@kbin.social 1 points 1 year ago

I think lemmy has language in account settings which presumably filters content based on it, but kbin doesn't (yet).

[-] TehSr0c@kbin.social 1 points 1 year ago

I was going to ask about this, because I can see most of the german or french posts that hit the frontpage have the de or fr tag but there is no way to filter these on kbin at the moment?

[-] Kaldo@kbin.social 1 points 1 year ago

Seems not, there's an open feature request for it though. https://codeberg.org/Kbin/kbin-core/issues/217

[-] trent@kbin.social 1 points 1 year ago

Kbin does have tags for the language of posts, and they are accurately represented in these German posts, but I can't find a way to filter them without just blocking the server!

As a quick fix, a user script:

// ==UserScript==
// @name         Kbin: delete articles in other languages
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Auto-delete posts in languages you do not speak.
// @author       luphoria (https://kbin.social/u/trent)
// @match        https://kbin.social/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=kbin.social
// @grant        none
// ==/UserScript==

(function() {
  'use strict';
  const allowedLangs = ["en", "es"]; // Edit this to all of the languages you can speak / want to see in your feed

  let deleteUnwantedPosts = () => {
    const postTags = document.getElementsByClassName("kbin-bg");

    for (let i = 0; i < postTags.length; i++) {
      let postTag = postTags[i];
      if (postTag && postTag.textContent && postTag.textContent !== "OC" && !allowedLangs.includes(postTag.textContent)) { // OC tags are the only elements (i know of) with the same class.
        // Delete element's parent's parent's parent
        if (postTag.parentElement.children[0].textContent) {
          console.log(`Removing post labeled \`${postTag.textContent}\`: "${postTag.parentElement.children[0].textContent}"`);
          postTag.parentElement.parentElement.parentElement.remove();
        }
      }
    }
  }
  deleteUnwantedPosts(); // on load

  // for continuous feeds
  let observeDOMChanges = () => {
    const observer = new MutationObserver(function(mutationsList) {
      deleteUnwantedPosts();
    });
    observer.observe(document.body, { childList: true, subtree: true });
  }
  observeDOMChanges();
})();

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

/kbin meta

38 readers
1 users here now

Magazine dedicated to discussions about the kbin itself. Provide feedback, ask questions, suggest improvements, and engage in conversations related to the platform organization, policies, features, and community dynamics. ---- * Roadmap 2023 * m/kbinDevlog * m/kbinDesign

founded 1 year ago