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.
Next to each thread's post, you should see an instance specified in parentheses, such as
(lemmygrad.ml). Click that item to list other threads from that host, as well as a sidebar box that says Domain. Click the "no smoking" type of button to suppress everything that domain produces. I think.
Verify it worked by going to your user's settings menu, click the blocked tab, then the Domains link.
I have yiffi.net blocked (the whole instance) and yet that shit still shows up on the bottom right of my page under "random posts." Any idea how to stop it from appearing there as well?
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).
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();
})();