// ==UserScript==

//

// @namespace Schlimazel

//

// @include http://*.tumblr.com/*

//

// @description A userscript that is literally Hitler

// @description Uncovers the hateful nature of SJW-related texts by replacing terms for "white", "male",

// @description "heterosexual" and other "oppressive majorities" with "Jews" and related terms.

// @description If the resulting text is indistinguishable from a Mein Kampf quote, you know what's up.

//

// @version 1.0

//

// ==/UserScript==

( function ( ) {

if ( window. self !== window. top ) {

console. log ( "iframe window" ) ;

} else {

function textNodesUnder ( el ) {

var n , a = [ ] , walk = document. createTreeWalker ( el , NodeFilter. SHOW_TEXT , null , false ) ;

while ( n = walk. nextNode ( ) ) a. push ( n ) ;

return a ;

}

window. addEventListener ( "load" , function ( e ) {

// for when it'll suffice to replace for "Jew", no second element

// [/regexp/mgi, ]

// otherwise the second element is the replacement word.

// [/regexp/mgi. "replacement"]

var meinList = [

[ / ( straight | white | cishet | cis | privileged ) + ( man | male | boy ) / mgi , ] ,

[ / cishet ( white | male | man ) */ mgi , ] ,

[ / ( cishet | het | hetero | cis ) \s + ( scum | men ) / mgi , "Ashkenazi Jews" ] ,

[ / ( straight | cis | cishet | white ) + ( men | males | people ) / mgi , "Jews" ] ,

[ / straightpeople / mgi , "Jews" ] ,

[ / straight ( and | or ) white / mgi , "Jewish" ] ,

[ / straight / mgi , "Jewish" ] ,

[ / cisrace / mgi , "Untermensch" ] ,

[ / cis het / mgi , ] ,

[ / hetero / mgi , "semitic " ] ,

[ / ( heter | het ) s / mgi , "Jews" ] ,

[ / \s ( heter | het ) \s / mgi , ] ,

[ / ( [ ?, . !;: "’`' ‘“])male([ ?,.!;:" ’` ' ‘”])/mgi, "$1Jew$2"],

[/([ ?,.!;:"’`' ‘“ ] ) men ( [ ?, . !;: "’`' ‘”])/mgi, " $1Jews$2 "],

[/mayo/mgi,],

[/([ ?,.!;:" ’` ' ‘“])men[’`' ] s / mgi , "$1Jews'" ] ,

[ / truscum / mgi , "schwoogies" ] ,

[ / cracker / mgi , ] ,

[ / rapist / mgi , ] ,

[ / ( [ ?, . !;: "’`' ‘“])cis([ ?,.!;:" ’` ' ‘”])/mgi, "$1Jewish$2"],

[/woman of color/mgi, "Aryan"],

[/women of color/mgi, "Aryans"],

[/whites/mgi, "Jews"],

[/whiteness/mgi, "Sionism"],

[/white \s *(men|people)/mgi, "Jews"],

[/white/mgi, "Jews"],

[/patriarchy/mgi, "Sionism"],

[/sexuality/mgi, "ethnicity"],

[/gender/mgi, "race"],

[/sexualities/mgi, "ethnicities"],

[/misogynist/mgi, "Sionist"],

[/white supremacy/mgi, "Sionism"],

[/rape \s ?culture/mgi, "Judaism"],

[/(heteronormativity|masculinity|machism)/mgi, "Judaism"],

[/heterosexual/mgi, "Jewish"],

[/rape joke/mgi, "Jewish smirk"],

[/rape/mgi, "Bar-Mitzvah"],

[/triggering/mgi, "Jewish"],

[/trigger/mgi, ],

[/problematic(ally)?/mgi, "demanding the final solution"],

[/social issues/mgi, "racial struggle"],

[/✿ \) /mgi, "卐)"],

[/(women|females)/mgi, "Aryans" ],

[/PoC/mg, "Aryans" ],

[/people of color/mgi, "true Aryans" ],

[/person of color/mgi, "true Aryan" ],

[/(woman|female)/mgi, "Aryan" ],

[/reverse racism/mgi, "antisemitism"],

[/anita sarkeesian/mgi, "Führer"],

[/feminist/mgi, "master race"],

[/feminism/mgi, "nazism"],

[/meninist/mgi, "parasitic race"],

[/meninism/mgi, "racial parasitism"],

[/(radfem|terf)/mgi, "NSDAP"],

[/([ ?,.!;:"’`' ‘“ ] ) welcome ( [ ?, . !;: "’`' ‘”])/mgi, " $1Heil$2 "],

[/sisters/mgi, " Parteimitglieder "],

[/sister/mgi, " Parteigenosse "],

[/multiple system/mgi, " Obersturmbannführer "],

[/headmate/mgi, " Totenkopf "],

[/anti-sj[w]*/mgi, " Nationalverräter "],

[/egalitarian[s]*/mgi, " the Fifth Column "],

[/MRA/mgi, " subhuman "]

];

for (var z = 0; z < meinList.length; z++) {

if (typeof meinList[z][1] == 'undefined') {

meinList[z][1] = " Jew ";

}

}

for (var z = 0; z < meinList.length; z++) {

console.log (meinList[z][0], meinList[z][1]);

}

var fixed = 0;

var text_nodes = textNodesUnder(document);

for(var i = 0; i < text_nodes.length; i++) {

var text = text_nodes[i].nodeValue;

if (text.match(/^ \s *$/)) {

continue;

}

for (var rx = 0; rx < meinList.length; rx++) {

if (text.match(meinList[rx][0])) {

text = text.replace(meinList[rx][0], meinList[rx][1]);

text = text.replace(/(Jew )+/mgi, " Jew ");

fixed = fixed + 1;

}

}

text_nodes[i].nodeValue = text;

}

if (fixed) {

window.status = " This schlimazel got " + fixed + " shekels kekled ! "

}

}, false);

}