Reveal the Patriarchy

Replace all mentions of the La-Li-Lu-Le-Lo with La-Li-Lu-Le-Lo

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// Reveal the Patriarchy
// version 1.0
// 2013-12-03
// Copyright 2013, Chris Wagar
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details:
// <http://www.gnu.org/licenses/gpl.txt>
//
// Revision history:
// 1.0  2013-12-03 initial version, based on:
//      http://userscripts.org/scripts/show/5625
//
// ==UserScript==
// @name          Reveal the Patriarchy
// @namespace     Reveal Da La-Li-Lu-Le-Lo la-li-lu-le-lo
// @description   Replace all mentions of the La-Li-Lu-Le-Lo with La-Li-Lu-Le-Lo
// @include       *
// @grant         none
// @version 0.0.1.20150421204710
// ==/UserScript==
//
// --------------------------------------------------------------------

var replacements, regex, key, textnodes, node, s;

replacements = {
	" patriarchy([ ,.?!])": " la-li-lu-le-lo$1",
    " Patriarchy([ ,.?!])": " La-Li-Lu-Le-Lo$1",
    " PATRIARCHY([ ,.?!])": " LA-LI-LU-LE-LO$1",
    " Imperialist White Supremacist Capitalist Patriarchy([ ,.?!])": " La-Li-Lu-Le-Lo$1"
};

regex = {};
for (key in replacements) {
    regex[key] = new RegExp(key, 'g');
}

textnodes = document.evaluate(
    "//text()",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);

for (var i = 0; i < textnodes.snapshotLength; i++) {
	
	node = textnodes.snapshotItem(i);
	s = node.data;
	
	for (key in replacements) {
		s = s.replace(regex[key], replacements[key]);
	}

	node.data = s;

} // for