מדיה ויקי:Gadget-Censorbutton.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
// סקריפט לצנזור שם ה' - נכתב ע"י [[user:Neriah]]
if (
mw.config.get('wgNamespaceNumber') === 0 ||
mw.config.get('wgNamespaceNumber') === 106 ||
mw.config.get('wgNamespaceNumber') === 14
) {
// Check if the script is required before creating the button.
var plain_text = document.getElementById('mw-content-text').textContent;
plain_text = plain_text.replaceAll(/[\u0591-\u05BD\u05BF]/g, ''); // Remove Nikkud and Cantillation marks
const pattern = /(יהוה|אל(וה|ו?הים?)|שדי)/;
if (!document.querySelector('.law') && pattern.test(plain_text)) {
var buttonSpan = document.createElement("span");
buttonSpan.className = "plainlinks mw-ui-button";
buttonSpan.id = "censorButton";
buttonSpan.innerText = "צנזור שם ה'";
var buttonDiv = document.createElement("div");
buttonDiv.className = "mw-parser-output";
buttonDiv.id = "censorButton-div";
buttonDiv.appendChild(buttonSpan);
var heading = document.getElementById('firstHeading');
heading.appendChild(buttonDiv);
buttonSpan.addEventListener("click", function() {
function censore(element, word) {
let split_str = word.split("");
const nikud = "[-/]*"
const reg_list = split_str.reduce((list, elem, i) => {
list.push(elem, nikud);
return list;
}, []);
reg_list.splice(0, 0, '(');
reg_list.splice(3, 0, ')', '(');
reg_list.push(')');
if (word === "אדני") reg_list[reg_list.length-4] = "[-֯/ָּ]*"
const regex = new RegExp(reg_list.join(""), "g");
element.innerHTML = element.innerHTML.replace(regex, "$1-$2");
}
var elements = document.getElementsByTagName("*");
for (var i = 0; i < elements.length; i++) {
censore(elements[i], "יהוה");
censore(elements[i], "אדני");
censore(elements[i], "אלוה");
censore(elements[i], "אלהי");
censore(elements[i], "אלהים");
censore(elements[i], "אלוהים");
censore(elements[i], "צבאות");
censore(elements[i], "שדי");
}
});
}
}