Advertisement
Guest User

Schlimazel.user.js

a guest
Jan 28th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. //
  3. // @namespace  Schlimazel
  4. //
  5. // @include http://*.tumblr.com/*
  6. //
  7. // @description A userscript that is literally Hitler
  8. //
  9. // ==/UserScript==
  10.  
  11. (function() {
  12.  
  13.     if (window.self !== window.top) {
  14.         console.log ("iframe window");
  15.     } else {
  16.  
  17.         function textNodesUnder(el){
  18.             var n, a=[], walk=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null,false);
  19.             while(n=walk.nextNode()) a.push(n);
  20.             return a;
  21.         }
  22.  
  23.         window.addEventListener("load", function(e) {
  24.  
  25.             // for when it'll suffice to replace for "Jew", no second element
  26.             // [/regexp/mgi, ]
  27.             // otherwise the second element is the replacement word.
  28.             // [/regexp/mgi. "replacement"]
  29.             var meinList = [
  30.                 [/(straight |white |cishet |cis |privileged )+(man|male|boy)/mgi,],
  31.                 [/cishet( white| male| man)*/mgi,],
  32.                 [/cishet( scum| men)/mgi, "Jews"],
  33.                 [/(straight |cis |cishet |white )+(men|males|people)/mgi, "Jews"],
  34.                 [/straightpeople/mgi, "Jews"],
  35.                 [/straight (and|or) white/mgi, "Jewish"],
  36.                 [/cis het/mgi, ],
  37.                 [/\bhets\b/mgi, "Jews"],
  38.                 [/\bmale\b/mgi, "Jew"],
  39.                 [/\bmen\b/mgi, "Jews"],
  40.                 [/mayo/mgi,],
  41.                 [/\bmen[’`']s/mgi, " Jews'"],
  42.                 [/truscum/mgi, "schwoogies"],
  43.                 [/cracker/mgi,],
  44.                 [/rapist/mgi,],
  45.                 [/\bcis\b/mgi, "Jewish"],
  46.                 [/whites/mgi, "Jews"],
  47.                 [/white\s*(men|people)/mgi, "Jews"],
  48.                 [/patriarchy/mgi, "Sionism"],
  49.                 [/sexuality/mgi, "ethnicity"],
  50.                 [/gender/mgi, "race"],
  51.                 [/sexualities/mgi, "ethnicities"],
  52.                 [/misogynist/mgi, "Sionist"],
  53.                 [/white supremacy/mgi, "Sionism"],
  54.                 [/rape\s?culture/mgi, "Judaism"],
  55.                 [/(heteronormativity|masculinity|machism)/mgi, "Judaism"],
  56.                 [/rape joke/mgi, "Jewish smirk"],
  57.                 [/rape/mgi,],
  58.                 [/triggering/mgi, "Jewish"],
  59.                 [/trigger/mgi, ],
  60.                 [/women/mgi, "Aryans" ],
  61.                 [/woman/mgi, "Aryan" ],
  62.                 [/reverse racism/mgi, "antisemitism"],
  63.                 [/anita sarkeesian/mgi, "Führer"],
  64.                 [/feminism/mgi, "nazism"],
  65.                 [/(radfem|terf)/mgi, "NSDAP"],
  66.                 [/\bwelcome\b/mgi, " Heil"],
  67.                 [/sisters/mgi, "Parteimitglieder"],
  68.                 [/sister/mgi, "Parteigenosse"],
  69.                 [/multiple system/mgi, "Obersturmbannführer"],
  70.                 [/headmate/mgi, "Totenkopf"]
  71.             ];
  72.            
  73.             for (var z = 0; z < meinList.length; z++) {
  74.                 if (typeof meinList[z][1] == 'undefined') {
  75.                     meinList[z][1] = "Jew";
  76.                 }
  77.             }
  78.            
  79.             for (var z = 0; z < meinList.length; z++) {
  80.                 console.log (meinList[z][0], meinList[z][1]);
  81.             }
  82.            
  83.             var fixed = 0;
  84.             var text_nodes = textNodesUnder(document);
  85.            
  86.             for(var i = 0; i < text_nodes.length; i++) {
  87.                
  88.                 var text = text_nodes[i].nodeValue;
  89.                 if (text.match(/^\s*$/)) {
  90.                     continue;
  91.                 }
  92.                 for (var rx = 0; rx < meinList.length; rx++) {
  93.                     if (text.match(meinList[rx][0])) {
  94.                         text = text.replace(meinList[rx][0], meinList[rx][1]);
  95.                         fixed = fixed + 1;
  96.                     }
  97.                 }
  98.                 text_nodes[i].nodeValue = text;
  99.  
  100.             }
  101.            
  102.             if (fixed) {
  103.                 window.status = "This schlimazel got " + fixed + " shekels kekled!"            
  104.             }
  105.        
  106.         }, false);
  107.     }
  108.  
  109. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement