View difference between Paste ID: YRRYmhz8 and 8shXdV0T
SHOW: | | - or go back to the newest paste.
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
})();