משתמש:איסתרק/המרת הערות.js
מראה
לתשומת ליבך: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
//<nowiki>
/*
מוסיף כפתור (במצב עריכה בקוד מקור) להמרת הערות השוליים בערך מתגיות
לתבניות, והוספת נקודה בסוף כל הערה '<ref>'
*/
if (
mw.config.get("wgAction") == "edit" ||
mw.config.get("wgAction") == "submit"
) {
$(
mw.util.addPortletLink(
"p-tb",
"#",
"המרת הערות",
null,
null,
"המרת קוד המקור של ההערות מתגיות לתבניות"
)
).click(() => {
const text = document.getElementById("wpTextbox1").value;
const newText = text
.replace(/<ref\>/g, "{{הערה|") // ראש הערה רגילה
.replaceAll("</ref>", ".</ref>") // הוספת נקודה לסוף הערה
.replace(/\.{1,2}<\/ref\>/g, ".}}") //הסרת נקודה כפולה, (למקרה שכבר היתה נקודה, ובלא לפגוע בשלוש נקודות), והמרת סוף ההערה
.replace(/<ref name="(.*?)"\>/g, "{{הערה|שם=$1|") // ראש הערה (מקורית) עם שם
.replace(/<ref name="(.*?)" \/\>/g, "{{הערה|שם=$1}}") // הפניה להערה בעלת שם
.replace(/<ref group="(.*?)"\>/g, "{{הערה|קבוצה=$1") // ראש הערה עם קבוצה
.replace("<references />", "{{הערות שוליים}}"); // תבנית הערות שוליים
function amara() {
document.getElementById("wpTextbox1").value = newText;
document.getElementById("wpSummary").value +=
"[[משתמש:איסתרק/המרת הערות.js|המרת הערות שוליים]]";
document.getElementById("wpDiff").click();
mw.notify("נא עבור על השינויים וודא שהכל תקין")
}
if (text == newText) {
mw.notify("אין הערות בצורת תג");
}
else
{if (
text.includes("{{מיון ויקפדיה") ||
text.includes("{{קרד") ||
text.includes("{{וח")
) {
var wiki=confirm("לתשומת ליבך:\nהערך יובא מוויקיפדיה, ויתכן שהמרת ההערות תקשה על העדכון. \nלהמיר בכל זאת?");
if (wiki)
{
amara();
}
} else {
amara();
if (newText.includes(/{{הערה|שם=:(\d+)/)) {
mw.notify("אנא תן שמות מילוליים להערות השמיות");
} }
}
});
}
//</nowiki>