Recently, especially with feddit.de, there are a lot of posts in languages that are not English. This is great for adoption!, but unfortunately I have no idea what the posts are about because I don’t speak German. I couldn’t find a setting to hide posts in other languages either!
To make my feed better for myself, I wrote a simple user script which removes any posts that are tagged anything other than EN/ES (the two languages I can speak.
Update the script to your preferences (make sure to @match
your instance), and load it up in TamperMonkey!
Here you go:
// ==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"]; // <-- Edit this to all of the languages you can speak / want to see in your feed. Format: ["lang", "lang", "lang"]
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();
})();
Repeat after me:
“Bier her, aber zackig!”
“Wo gibt’s hier die beste Schweinshaxe, Du Hurensohn?”
“Nein, ich habe keine Fahrkarte, Du Möchtegern-Blockwart!”
“Ich rede nicht mit Subalternen. Bringen Sie mir sofort den Geschäftsführer!”
You are now fully prepared for your holiday in Germany,
“How to Win Friends and Influence People” in one short lesson :-)