Wikisłownikarz:ABX/monobook.js

Z Wikisłownika – wolnego słownika wielojęzycznego

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
importScript('MediaWiki:Gadget-sk.js');
importScript('User:ABX/przyciski.js');
importScript('Wikipedysta:Equadus/skrypt16.js');
importScript('Wikipedysta:Equadus/skrypt17.js');

// Ustawienia popupu
popupFixRedirs=true;	// naprawianie linków do przekierowań

// ********************
// ** DODATKOWE MENU **
// ********************

function InsertMyMenu()
{
    mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Mypage/todo', 'moje todo', 'pt-todo', 'moje todo', '', document.getElementById('pt-preferences'));
    mw.util.addPortletLink('p-personal', 'http://pl.wiktionary.org/w/index.php?title=Specjalna%3ANowe_strony&namespace=0&username=ABX', 'moje nowe', 'pt-nowe', 'moje nowe', '', document.getElementById('pt-preferences'));
    mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Mypage/kanon', 'kanon', 'pt-kanon', 'kanon', '', document.getElementById('pt-preferences'));
    mw.util.addPortletLink('p-personal', 'http://www.poznan.pl/slownik/', 'poznań', 'pt-poznan', 'poznań', '', document.getElementById('pt-preferences'));
    mw.util.addPortletLink('p-personal', 'http://www.slownik-online.pl/', 'KopalińskiSWOonline', 'pt-kopalinski', 'Kopaliński', '', document.getElementById('pt-preferences'));
    mw.util.addPortletLink('p-personal', 'http://www.merriam-webster.com/cgi-bin/mwwod.pl', 'merriam-webster', 'pt-mw', 'mw', '', document.getElementById('pt-preferences'));
}

$( InsertMyMenu );

// *********************************************************************
// ** STRAŻNIK PILNUJĄCY BY WYMAGANE POLA SZABLONU ZOSTAŁY WYPEŁNIONE **
// *********************************************************************

$(function() {
    var save_el = document.getElementById('wpSave');
    if (save_el) mw.util.addPortletLink('p-cactions', 'javascript:wt_sk.buttonClicked();', 'sk', 'ca-sk', 'Alternatywne uruchomienie sprzątania kodu','*');
    if ((save_el) && (wgNamespaceNumber == 0) ) // tylko w przestrzeni głównej, żeby dało się edytować ten skrypt ;)
        save_el.onclick = new Function('return testTemplateWords()')
    ;
});

function testWord(txt,subtxt) {
    if (txt.indexOf(subtxt)==-1) return false;

    alert ('Popraw ' + subtxt);
    return true;
}

function testTemplateWords() {
    var text_el = document.getElementById('wpTextbox1');
    if (text_el) {
        var wrong_part = false;
        var txt = text_el.value;
        if (txt.indexOf("{{ek")!=-1) return true;
        wrong_part = wrong_part || testWord(txt,"żeński, męski");
        wrong_part = wrong_part || testWord(txt,"({{język jaki}})");
        wrong_part = wrong_part || testWord(txt,"[[krótki|krótka]] [[definicja]]");
        wrong_part = wrong_part || testWord(txt,"(1.1) ''przykład''");
        wrong_part = wrong_part || testWord(txt,"angielski: (1.1) [[ ]]");

        // pilnowanie by wszystkie wyróżnienia linków zostały uzupełnione językiem
        // patrz niżej: SPRZĄTANIE LINKÓW DO SEKCJI
        wrong_part = wrong_part || testWord(txt,"=]]"); 
        wrong_part = wrong_part || testWord(txt,"=|");
        wrong_part = wrong_part || testWord(txt,"ǂ]]"); 
        wrong_part = wrong_part || testWord(txt,"ǂ|");

        // // pilnowanie by w haśle nie pozostały linki do samych siebie - wyłączone do czasu ustalenia standardu w Barze
        // wrong_part = wrong_part || testWord(txt,'[[' + wgTitle + '#'); 
        // wrong_part = wrong_part || testWord(txt,'[[' + wgTitle + '|'); 
        // wrong_part = wrong_part || testWord(txt,'[[' + wgTitle + ']]'); 

        // sprawdzanie czy są jakieś linki do uszczegółowienia
        // patrz niżej: SPRZĄTANIE LINKÓW DO SEKCJI
        if (txt.search(wt_sk.linkiDoDoprecyzowaniaReg) != -1) {
            wrong_part = wrong_part || !confirm( "W haśle jest link do długiego hasła\nbez wskazania sekcji. Czy mimo to zapisać?" );
        }

        // sprawdzanie czy są jakieś linki do przekierowania na formę podstawową
        // patrz niżej: SPRZĄTANIE LINKÓW DO SEKCJI
        if (txt.search(wt_sk.linkiDoPrzekierowaniaReg) != -1) {
            wrong_part = wrong_part || !confirm( "W haśle jest link do hasła, które może mieć\ninną formę podstawową. Czy mimo to zapisać?" );
        }

        if (wrong_part) return false;
    }
    return true;
}

// ***************************
// ** Bajerki do sprzątania **
// ***************************

function my_rozne(str)
{
    // poprawianie zobtłumów częściowo od Equadusa
    str = str.replace(/''dla języków nierozróżniających rodzajów'' {{zobtłum/gi, "{{zobtłum rodz");
    str = str.replace(/''dla języków nierozróżniających aspektów'' {{zobtłum/gi, "{{zobtłum dok");

    str = str.replace(/\{\{tłumaczenia\}\}\s*\*?\s?(\(\d*\.\d*\))?(\s*)\{\{zobtłum\|/gi, "{{tłumaczenia}}\n: (1.1) $1$2{{zobtłum|");
    str = str.replace(/\(1\.1\) (\(\d\.\d\))/gi, "$1");
    str = str.replace(/\* (\(\d\.\d\)) \{\{zobtłum\|/gi, ": $1 {{zobtłum|");

    str = str.replace(/\{\{tłumaczenia\}\}\s*\*?\s?(\(\d*\.\d*\))?(\s*)\{\{zobtłum dok\|/gi, "{{tłumaczenia}}\n: (1.1) $1$2{{zobtłum dok|");
    str = str.replace(/\(1\.1\) (\(\d\.\d\))/gi, "$1");
    str = str.replace(/\* (\(\d\.\d\)) \{\{zobtłum dok\|/gi, ": $1 {{zobtłum dok|");

    str = str.replace(/\{\{tłumaczenia\}\}\s*\*?\s?(\(\d*\.\d*\))?(\s*)\{\{zobtłum rodz\|/gi, "{{tłumaczenia}}\n: (1.1) $1$2{{zobtłum rodz|");
    str = str.replace(/\(1\.1\) (\(\d\.\d\))/gi, "$1");
    str = str.replace(/\* (\(\d\.\d\)) \{\{zobtłum rodz\|/gi, ": $1 {{zobtłum rodz|");

    // w cytatach (..), (...), [..], [...] na wielokropki typograficzne […]
    str = str.replace(/(\(|\[)\.+(\)|\])/gi, "[…]");

    // aoryst
    str = str.replace(/''aoryst''/gi, "{{aor}}");

    return str;
}
 
$(function (){
    wt_sk.addUserFunction(my_rozne);
});