MediaWiki:Common.js

Версия от 05:42, 20 марта 2019; Виталик Штепсель (обсуждение | вклад) (удалено включение Dynavbar.js, для сворачивающихся элементов используйте mw-collapsible и mw-collapsed: https://www.mediawiki.org/wiki/Manual:Collapsible_elements)

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
function importScriptURI(uri) {
    mw.loader.load(uri);
}

function importScript(scriptName) {
    importScriptURI("/w/index.php?title=" + mw.util.wikiUrlencode(scriptName) + "&action=raw&ctype=text/javascript");
}

importScript("MediaWiki:Editsumm.js");
importScript("MediaWiki:Gadget-NikAvtoStav.js");
importScript("MediaWiki:Gadget-markadmins.js");

/* Викификатор для новой панели редактирования. */
if ($.inArray(mw.config.get("wgAction"), ["edit", "submit"]) !== -1) {
    mw.loader.load("//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript");
}

function wikificatorCustomizeToolbar() {
    $("#wpTextbox1").wikiEditor("addToToolbar", {
        "section": "advanced",
        "group": "format",
        "tools": {
            "wikify": {
                label: "Абсурдофикатор — оформитель текста",
                type: "button",
                icon: "//upload.wikimedia.org/wikipedia/commons/0/06/Wikify-toolbutton.png",
                action: {
                    type: "callback",
                    execute: function (context) {
                        Wikify();
                    }
                }
            }
        }
    });
}

if ($.inArray(mw.config.get("wgAction"), ["edit", "submit"]) !== -1) {
    mw.loader.using("user.options", function () {
        if (mw.user.options.get("usebetatoolbar")) {
            mw.loader.using("ext.wikiEditor", function () {
                $(document).ready(wikificatorCustomizeToolbar);
            });
        }
    });
}

/* Обеспечиваем фокус с {{sysdep}} — Edward. */
function sysdep_init() {
    var lo = document.getElementById("linux_only");
    var wo = document.getElementById("winds_only");
    if (navigator.userAgent.match("Linux") || navigator.userAgent.match("X11")) {
        if (lo) lo.style.display = "block";
        if (wo) wo.style.display = "none";
    } else {
        if (lo) lo.style.display = "none";
        if (wo) wo.style.display = "block";
    }
}

/* Обеспечиваем нигилистические фокусы (см., например, статью [[Google]]). */
$(function () {
    var nhl = $('#nihilism')[0];
    if (nhl && !document.location.href.match("diff")) {
        var msg = nhl.innerHTML;
        $('body')[0].style.backgroundColor = 'white';
        $('body').html("<div id='nihilism_message'" + (nhl.style.top == "0px" ? " style='top: 0px; left: 0px;'" : "") + ">" + msg + "</div>");
        $(document).dblclick(function () {
            window.location = 'http://absurdopedia.wiki/w/index.php?title=' + encodeURIComponent(mw.config.get("wgPageName")) + '&action=edit';
        });
    }
});

/* Обеспечиваем стирание памяти для «Людёй в чёрном». */
$(function () {
    if ($("#erase_memory")[0])
        setTimeout(function () { $("#erase_memory").hide(); }, 20000);
});

/* Заставляем работать шаблон {{title}} (удалить этот код, когда заработает {{DISPLAYTITLE}}). */
function rewrite_title() {
    if (mw.config.get("wgAction") == "view") {
        p = document.getElementById("correctTitle");
        if (p) {
            document.getElementById("firstHeading").innerHTML = p.innerHTML;
            document.getElementById("wrongTitle").style.display = "none";
        }
    }
}

/* Ссылка «править» для нулевой секции. */
$(function () {
    var zeroSectionTip = "Править введение";

    if (!mw.config.get("wgArticleId")) {
        return;
    }

    var action = mw.config.get("wgAction");
    if (action != "view" && action != "purge")
        return;

    mw.util.$content.find("h2").children(".mw-editsection:first").clone().prependTo("#bodyContent").css("float", "right").find("a").each(function (index) {
        $(this).attr("title", zeroSectionTip);
        if ($(this).attr("class") === "mw-editsection-visualeditor") {
            $(this).attr("href", mw.config.get("wgScript") + "?title=" + mw.util.wikiUrlencode(mw.config.get("wgPageName")) + "&veaction=edit&vesection=0&summary=/*%20Преамбула%20*/%20");
        } else {
            $(this).attr("href", mw.config.get("wgScript") + "?title=" + mw.util.wikiUrlencode(mw.config.get("wgPageName")) + "&action=edit&section=0&summary=/*%20Преамбула%20*/%20");
        }
    });
});

/* Вставка юзернейма с помощью <span class="insertusername"></span>. */
$(function () {
    if ((typeof (disableUsernameReplace) == "undefined" || !disableUsernameReplace) && mw.config.get("wgUserName") !== null)
        $("span.insertusername").html(mw.config.get("wgUserName"));
});

function defaultUploadInfo() {
    var rewrite = document.getElementById("wpForReUpload");
    if (!rewrite) return;
    if (rewrite.value == 1) return;

    var d = document.getElementById("wpUploadDescription");
    if (d) {
        if (!d.value.match(/\[\[(Категория|Category):/)) {
            d.value += "\n\n\n[[Категория:Некатегоризованные изображения]]";
        }
    }
}

// $(onPageInit);

/* Ссылка на случайную статью. */
/* // TODO
$(function () {
    $(".subnav-2a").each(function () {
        if ($(this).attr("data-canonical") == "random")
            $(this).attr("href", "/wiki/Служебная:RandomInCategory/Абсурдопедия:Случайные статьи");
    });
});
*/