Sleazy Fork is available in English.

Filtrar carteles con palabras en Desmo

Ocultar carteles que tengan ciertas palabras en Desmo

Versión del día 6/1/2021. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name         Filtrar carteles con palabras en Desmo
// @version      0.6.8
// @description  Ocultar carteles que tengan ciertas palabras en Desmo
// @author       ArtEze
// @match        https://desmotivaciones.es/*
// @grant        none
// @namespace http://tampermonkey.net/
// ==/UserScript==

window.tener_css_todos = function(nodo,css){
    return Array.from(nodo.querySelectorAll(css));
};
window.concatenar_arrays = function(a,b){
    return a.concat(b);
};
window.filtrar_por_atributo = function(nodo,atributo,regex){
    return nodo.filter(function(x){
        return x.attributes[atributo] && regex.test(x.attributes[atributo].value);
    });
};

window.carteles = window.filtrar_por_atributo(
    window.tener_css_todos(document,".demot"),"id",/d\d+/
);

window.json_carteles = window.carteles.map(function(x){
    var título_nodo = x.querySelector(".demot-title");
    var etiquetas_nodo = x.querySelector(".wrap");
    var etiquetas_nodos = window.tener_css_todos(etiquetas_nodo,"a");
    var nombre_nodo = x.querySelector(".color0,.color1,.color2");
    return {
        nodos: {
            cartel: x,
            título: título_nodo,
            etiquetas_nodo: etiquetas_nodo,
            etiquetas_nodos: etiquetas_nodos,
            nombre_nodo: nombre_nodo
        },
        textos: {
            título: título_nodo.childNodes[0].textContent,
            etiquetas: etiquetas_nodos.map(function(x){return x.textContent;}),
            nombre: nombre_nodo.textContent
        }
    };
});

window.lista_filtros = {
    contiene: [
        "nuevo año","año nuevo","navidad","dinero","whisky",
        "porn","coj","sex","nalg",
        "testícul","testicul",
        "confía","confia",
        "mierd",
        "nazi","joto","laucha","patada",
        "weon","weón","weona",
        "pokemon","monster","luigi",
        "novia","hija","gata",
        "novio","hijo","gato",
        "caga","trolea",
        "cago","troleo"
    ],
    completas: [
        "amor","beso","uwu",
        "celo","celos",
        "abrazo","abrazos",
        "teta","tetón","tetona",
        "cum","caca","culo","ano","paja","polla",
        "joto",
        "parida",
        "parido",
        "asco","asquea",
        "20\\d{2}"
    ]
};

window.carteles_filtrados = window.json_carteles.filter(function(x){
    var textos = [x.textos.título,x.textos.nombre].concat(x.textos.etiquetas);
    var booleano = false;
    window.lista_filtros.contiene.map(function(y){
        var regex = new RegExp(y,"i");
        textos.map(function(z){
            booleano = regex.test(z)?true:booleano;
        });
    });
    window.lista_filtros.completas.map(function(y){
        var regex = new RegExp("\\b"+y+"\\b","i");
        textos.map(function(z){
            booleano = regex.test(z)?true:booleano;
        });
    });
    booleano = x.textos.título.toUpperCase()==x.textos.título?true:booleano;
    return booleano;
});

window.carteles_filtrados.map(function(x){
    x.nodos.cartel.remove();
});