// ==UserScript==
// @name Filtrar carteles con palabras en Desmo
// @version 0.8.2
// @description Ocultar carteles que tengan ciertas palabras en Desmo
// @author ArtEze
// @match *://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.tamaño_original = function(){
window.carteles = Array.from(document.querySelectorAll(".demot-small"));
window.carteles.map(function(x){
x.attributes.class.value=".cartel";
x.querySelector("a").setAttribute("target","_blank");
x.querySelector(".img-small").attributes.class.value=".imagen";
});
};
window.obtener_carteles = function(){
var demotes = window.tener_css_todos(document,".demot");
var carteles = window.filtrar_por_atributo(demotes,"id",/d\d+/);
var es_usuario = false;
if(carteles.length==0){
carteles = window.tener_css_todos(document,".small");
es_usuario = true;
}
return [es_usuario,carteles];
}
window.carteles = window.obtener_carteles();
window.es_usuario = window.carteles[0];
window.json_carteles = window.carteles[1].map(
!window.es_usuario?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,.color3,.color4");
return {
nodos: {
cartel: x,
título: título_nodo,
etiquetas_nodo: etiquetas_nodo,
etiquetas_nodos: etiquetas_nodos,
nombre_nodo: nombre_nodo
},
textos: {
alternativo: "",
nombre: nombre_nodo.textContent,
título: título_nodo.childNodes[0].textContent,
detalles: "",
etiquetas: etiquetas_nodos.map(function(x){return x.textContent;})
}
};
}:function(x){
var enlace = x.querySelector("a");
var imagen = x.querySelector("img");
var nombre_nodo = document.querySelector(".color0,.color1,.color2,.color3,.color4");
var título_enlace = enlace.href.split("/").slice(-1)[0]
return {
nodos: {
cartel: x,
enlace: enlace,
imagen: imagen,
nombre_nodo: nombre_nodo
},
textos: {
alternativo: imagen.alt,
nombre: nombre_nodo.textContent,
título: imagen.alt.slice(0,título_enlace.length),
detalles: imagen.alt.slice(título_enlace.length+" - ".length),
etiquetas: [],
}
};
}
);
window.procesar_lista = function(x){
return x.split(/\s{2,}|,/g).filter(function(x){return x;});
};
window.ocultar_carteles = function(){
window.carteles_filtrados = window.json_carteles.filter(function(x){
var textos = [
x.textos.título
,x.textos.detalles
,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();
});
}
window.lista_filtros = {
contiene: window.procesar_lista(`
nuevo año,año nuevo,anonuevo,nuevoano,navidad,
dinero,guapo,
whisky,troll,stupid,
porn,coj,sex,nalg,webo,fetich,mamad,
abortat,perv,
bolud,pelotud,idiota,
testícul,testicul,
suscrib,
confía,confia,
mierd,
joto,laucha,patada,
weon,weón,weona,
pokemon,monster,covid,smith,
messi,
emerit,
facebook,poke,
novia,hija,gata,
novio,hijo,gato,
caga,cumea,trolea,tortura,
cago,cumeo,troleo,torturo,
nazi,
`),
completas: window.procesar_lista(`
amo,amor,desamor,
dinero,dinerito,
moco,mocos,mocoso,
nochebuena,
distanciamiento,
matar,autismo,
loli,
uwu,nya,onichan,
maricon,maricón,
culiao,tonto,
mamon,mamón,
follador,
beso,besos,celo,celos,abrazo,abrazos,
rey,reina,reino,
teta,tetas,tetón,tetona,
cum,polla,verga,pene,
culo,caca,orto,pedo,
ano,chingas,
gay,gays,gey,geys,
paja,tangas,pajero,pijas,joto,ostias,china,chinos,
pajas,tanga,pajeros,pija,jotos,ostia,chinas,chino,
puta,putas,pucha,puchas,
puto,putos,pucho,puchos,
tonta,tontas,parida,paridas,chinga,marica,mariconas,chota,
tonto,tontos,parido,paridos,chingo,marico,maricones,choto,
asco,asquea,asqueao,
chori,choripan,choripán,
alcohol,licor,
cocacola,coca cola,
paco y yo,
lovelive,starwars,
fire,rich,under,cake,park,guitar,hi,cringe,fock,chocolat,how,night,what,kinder,
among,universe,bimbo,naruto,vegetto,sonic,fortnite,mickey,
jake,freddie,brad,luigi,anne,soros,ben,dalas,
messi,mesi,
sovietico,soviético,
carajo,carajos,
pipí,puber,
cristo,jesus,jesús,jesucristo,dios,
resurreccion,resurrección,
amen,amén,
bad,god,good,
satan,satán,
larreta,willyrex,yoshi,rubius,
lacra,
20\\d{2}
`)
};
window.ocultar_carteles();
window.tamaño_original();