לדלג לתוכן

מדיה ויקי:Gadget-Censorbutton.js: הבדלים בין גרסאות בדף

מתוך ויקיטקסט, מאגר הטקסטים החופשי
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
ניסיון.
תגית: שוחזרה
שורה 20: שורה 20:
buttonSpan.addEventListener("click", function() {
buttonSpan.addEventListener("click", function() {
function censore(element, word) {
function censore(element, word) {
let split_str = word.split("");
let split_str = word.split("");
const nikud = "[֐-׈/]*"
const nikud = "[֐-׈/]*"
const reg_list = split_str.reduce((list, elem, i) => {
const reg_list = split_str.reduce((list, elem, i) => {
list.push(elem, nikud);
list.push(elem, nikud);
return list;
return list;
}, []);
}, []);
reg_list.splice(0, 0, '(');
reg_list.splice(0, 0, '(');
reg_list.splice(3, 0, ')', '(');
reg_list.splice(3, 0, ')', '(');
reg_list.push(')');
reg_list.push(')');
if (word === "אדני") reg_list[reg_list.length-4] = "[֐-֯/ָּ]*"
if (word === "אדני") reg_list[reg_list.length-4] = "[֐-֯/ָּ]*"
const regex = new RegExp(reg_list.join(""), "g");
const regex = new RegExp(reg_list.join(""), "g");
element.innerHTML = element.innerHTML.replace(regex, "$1-$2");
element.innerHTML = element.innerHTML.replace(regex, "$1-$2");
}
}


שורה 39: שורה 39:


for (var i = 0; i < elements.length; i++) {
for (var i = 0; i < elements.length; i++) {
censore(elements[i], "יהוה");
const innerText = elements[i].textContent || elements[i].innerText;
if (
censore(elements[i], "אדני");
/יהוה|אדני|אלוה|אלהי|אלהים|אלוהים|צבאות|שדי/.test(innerText) &&
censore(elements[i], "אלוה");
!/[֐-׈/]/.test(innerText)
censore(elements[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], "אלהי");
censore(elements[i], "אלהים");
censore(elements[i], "אלוהים");
censore(elements[i], "צבאות");
censore(elements[i], "שדי");
}
}
}
});
});

גרסה מ־14:50, 8 בספטמבר 2023

// סקריפט לצנזור שם ה' - נכתב ע"י [[user:Neriah]]
if (
  mw.config.get('wgNamespaceNumber') === 0 ||
  mw.config.get('wgNamespaceNumber') === 106 ||
  mw.config.get('wgNamespaceNumber') === 14
) {
  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++) {
      const innerText = elements[i].textContent || elements[i].innerText;
      if (
        /יהוה|אדני|אלוה|אלהי|אלהים|אלוהים|צבאות|שדי/.test(innerText) &&
        !/[֐-׈/]/.test(innerText)
      ) {
        censore(elements[i], "יהוה");
        censore(elements[i], "אדני");
        censore(elements[i], "אלוה");
        censore(elements[i], "אלהי");
        censore(elements[i], "אלהים");
        censore(elements[i], "אלוהים");
        censore(elements[i], "צבאות");
        censore(elements[i], "שדי");
      }
    }
  });
}