לדלג לתוכן

משתמש:מ. רובין/RedLinks.js

מתוך חב"דפדיה, אנציקלופדיה חב"דית חופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
mw.loader.using("mediawiki.util").done(function () {
    // הוסף כפתור בתפריט האישי
    var link = mw.util.addPortletLink(
        "p-personal",
        "#",
        "הצג קישורים אדומים",
        "redlinks-button",
        "רשימת דפים אדומים",
        null,
        "#pt-preferences"
    );

    $(link).click(function (e) {
        e.preventDefault();

        var redLinksSet = new Set();

        $("a.new").each(function () {
            var title = $(this).attr("title");
            if (title) {
                var cleanTitle = title.replace(/ \(הדף אינו קיים\)$/, "").trim();
                redLinksSet.add(cleanTitle);
            }
        });

        if (redLinksSet.size === 0) {
            alert("לא נמצאו קישורים אדומים בדף זה.");
            return;
        }

        // מחק קוד קודם אם קיים
        $("#redlinks-output").remove();

        // צור אלמנט תצוגה
        var $box = $("<div id='redlinks-output' style='border:2px solid #aaa; padding:10px; background:#f8f8f8; direction:rtl; margin:1em;'>")
            .append("<strong>קישורים אדומים בדף:</strong>")
            .append("<ul>" + Array.from(redLinksSet).map(function (t) {
                return "<li>" + mw.html.escape(t) + "</li>";
            }).join("") + "</ul>");

        // הוסף לראש הדף
        $("#content").prepend($box);
    });
});