משתמש:מקף/common.js/OScripts/DiffLink.js
מראה
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
/*
ההעתקה והוספה בקלות של תבנית {{הבדל בין גרסאות}} בדפי השוואה
*מופיע בראש הדף
*ניתן ללחוץ להעתקה מהירה
להוספת הסקריפט העתיקו לדף הסקריפטים האישי שלכם
([[מיוחד:הדף שלי/common.js]])
את הקוד:
importScript('משתמש:מקף/common.js/OScripts/DiffLink.js');
*/
const pageName = mw.config.get("wgPageName").replaceAll(/_/g, " ");
const urlParams = new URLSearchParams(window.location.search);
let difCase = $(
"h1#firstHeading:contains(הבדלי גרסאות), h1#firstHeading:contains(הבדלים בין גרסאות)"
).length;
let verCase = $("div#mw-revision-info:contains(גרסה מ־)").length;
let hisCase = (urlParams.get("action") === "history" || $(
"h1#firstHeading:contains(היסטוריית הגרסאות של הדף), h1#firstHeading:contains(: היסטוריית גרסאות)"
).length);
console.info(difCase, verCase, hisCase)
if (difCase || verCase || hisCase) {
mw.util.addCSS(`
#copy-link { border-radius: 2px; padding: 1px 1px; margin: 3px 5px; box-shadow: 2px 2px 5px #DDDDDD; width: max-content;}
#copy-link-template { border-radius: 5px; padding: 2px 0px; margin: 0 10px; background-color: #fafff2; transition: background-color 0.75s; }
#copy-link-template:hover { background-color: greenyellow; cursor: pointer; }
#mw-revision-nav { clear: both};
#contentSub2 { clear: both};
`);
if (difCase || verCase) {
let oldid = null;
let newid = "";
if (difCase) {
newid = $("#mw-diff-ntitle1 a:first")
.attr("href")
.replace(/.*oldid=/, "");
oldid = $("#mw-diff-otitle1 a:first").attr("href");
}
if (!oldid) { oldid = urlParams.get("oldid") || ""; }
else { oldid = oldid.replace(/.*oldid=/, ""); }
if (difCase) {
const difText = `{{הבדל בין גרסאות|דף=${pageName}\t|מספר הגרסה=${newid}|גרסה קודמת=${oldid}\t|כיתוב=\t}}`;
console.log(difText);
$(".diff.diff-type-table").prepend(new_copyLink(difText));
}
if (verCase) {
const verText = `{{קישור לגרסה|${pageName}\t|${oldid}\t|כותרת=\t}}`;
console.log(verText);
$("#mw-revision-info").after(new_copyLink(verText));
}
}
if (hisCase) {
const hisText = `[[מיוחד:PageHistory/${pageName}]]`;
$("#mw-content-subtitle").append(new_copyLink(hisText)).css({ "display": "contents" });
$(".mw-mf-title-wrapper").append(new_copyLink(hisText));
}
$("#copy-link-template").click(function () {
if (mw.config.get("wgNamespaceNumber") + 1) {
const diffTemplate = document.getElementById("copy-link-template");
navigator.clipboard.writeText(diffTemplate.innerHTML);
mw.notify(
$('<a>')
.append($('<a>', { href: mw.util.getUrl(":he:שיחת משתמש:מקף/common.js/OScripts/DiffLink.js"), })
.append($("<strong>").text("✅\tהועתק ללוח")))
);
$(this).css({
"text-shadow": "0 0 3px greenyellow",
"font-weight": "bold",
});
}
});
}
function new_copyLink(copyText) {
const copyLink = $("<div>", {
id: "copy-link",
dir: "rtl",
style: "float:right; margin-block:auto;",
}).html(
'<span style="float:right;">לחצו להעתקה:</span><code id="copy-link-template">' +
copyText +
"</code>"
);
return copyLink;
}