מדיה ויקי:Links.js

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
// הוספת שורת "קישורי ויקיציטוט" בתחתית הדף, אם היא לא קיימת כבר.
// נכתב על־ידי [[משתמש:דולב]].
//
function addLinksTemplate() {
    // פונקציית עזר: יצירה מהירה של אלמנט קישור.
    function createLink(pageName, text) {
        var link = null;
        if (mw.config.get('wgTitle') == pageName) {
            link = document.createElement("strong");
            link.setAttribute("class", "selflink");
        } else {
            link = document.createElement("a");
            link.href = "/wiki/" + pageName.replace(/ /g, "_");
            link.title = pageName;
        }
        link.appendChild(document.createTextNode(text));
        return link;
    }

    if ( mw.config.get('wgUserName') ) return; // יוצא מהפונקציה אם המשתמש רשום
    // אם התבנית לא קיימת, הדף נמצא במרחב הראשי, זה לא העמוד הראשי
    // והפעולה היא צפייה או עריכת הדף
    if (document.getElementById("linksTemplate") == null && mw.config.get('wgNamespaceNumber') == 0 && mw.config.get('wgTitle') != "עמוד ראשי" &&     (mw.config.get('wgAction') == "view" || mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit")) {
        // בודק אם פעולת הצפייה היא בדף הפניה או בדף ריק
        // אם כן, יוצא מהפונקציה
        if (mw.config.get('wgAction') == "view" && (document.getElementById("contentSub").innerHTML == "דף הפניה" || wgCurRevisionId == false)) {
            return;
        }

        // בונה את התבנית
        var horizontalLine = document.createElement("hr")
        horizontalLine.setAttribute("style", "clear: both;");
        var linksTemplate = document.createElement("div");
        linksTemplate.id = "linksTemplate";
        linksTemplate.setAttribute("align", "center");                                  /* this is for IE */
        linksTemplate.setAttribute("style", "font-size: smaller; text-align: center;"); /* this doesn't work in IE */
        linksTemplate.appendChild(document.createElement("b"));
        linksTemplate.firstChild.appendChild(document.createTextNode("קישורי ויקיציטוט: "));
        linksTemplate.firstChild.appendChild(createLink("קטגוריה:אישים", "אישים"));
        linksTemplate.firstChild.appendChild(document.createTextNode(" - "));
        linksTemplate.firstChild.appendChild(createLink("קטגוריה:יצירות ספרותיות","יצירות ספרותיות"));
        linksTemplate.firstChild.appendChild(document.createTextNode(" - "));
        linksTemplate.firstChild.appendChild(createLink("קטגוריה:פתגמים", "פתגמים"));
        linksTemplate.firstChild.appendChild(document.createTextNode(" - "));
        linksTemplate.firstChild.appendChild(createLink("קטגוריה:סרטים", "סרטים"));
        linksTemplate.firstChild.appendChild(document.createTextNode(" - "));
        linksTemplate.firstChild.appendChild(createLink("קטגוריה:תוכניות טלוויזיה", "תוכניות טלוויזיה"));
        linksTemplate.firstChild.appendChild(document.createTextNode(" - "));
        linksTemplate.firstChild.appendChild(createLink("קטגוריה:נושאים", "נושאים"));
        linksTemplate.firstChild.appendChild(document.createTextNode(" - "));
        linksTemplate.firstChild.appendChild(createLink("קטגוריה:קטגוריות", "קטגוריות"));

        // מחפש מיקום מתאים ומוסיף את התבנית לדף
        if (document.getElementById("wikiPreview") != null) { // אם קיים מקטע "תצוגה מקדימה", כלומר חלון עריכה
            if (document.getElementById("wikiPreview").childNodes.length > 0) { // אם התצוגה המקדימה לא ריקה
                document.getElementById("wikiPreview").appendChild(horizontalLine);
                document.getElementById("wikiPreview").appendChild(linksTemplate);
            }
        } else if (document.getElementById("catlinks") != null) { // אם קיים מקטע קטגוריות
            var divCatlinks = document.getElementById("catlinks");
            divCatlinks.parentNode.insertBefore(horizontalLine, divCatlinks);
            divCatlinks.parentNode.insertBefore(linksTemplate, divCatlinks);
        } else if (document.getElementById("bodyContent") != null) { // אם קיים המקטע הראשי
            document.getElementById("bodyContent").appendChild(horizontalLine);
            document.getElementById("bodyContent").appendChild(linksTemplate);
        }
    }
}

jQuery(document).ready(addLinksTemplate);