Wikipedysta:Malarz pl/wp sk.js
(Przekierowano z Wikipedia:SK/mSK)
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)
- Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5.
- Opera: Naciśnij klawisze Ctrl+F5.
// <nowiki>
mw.hook('userjs.wp_sk.ready').add(function (wp_sk)
{
//console.log( "Attaching to WP:SK" );
// własne [[WP:SK]]
wp_sk.pre_malarz_cleaner = wp_sk.cleaner;
wp_sk.extension += "+[[WP:SK/mSK|mSK]]";
wp_sk.cleaner = function( str ) {
// linki zewnętrzne do wiki na [[linki]]
str = str.replace( /\[https?:\/\/pl\.wikipedia\.org\/wiki\/([^\[\] ]+) ([^\[\]]+)\]/g, '[[$1|$2]]' );
//rozpoczęte <b><i> w pustych parametrach szablonów
str = str.replace( /([^=]=\s*)''+(\s*(\||\}\}))/g, '$1$2' );
//czyścimy ISBN'y dla [[Specjalna:Książki]]
str = str.replace( /ISBN-1(0|3):* */g, 'ISBN ' );
//dekodowanie niektórych sekwencji specjalnych HTML
str = str.replace( /ä/g, 'ä' );
str = str.replace( /ö/g, 'ö' );
str = str.replace( /ü/g, 'ü' );
str = str.replace( /Ä/g, 'Ä' );
str = str.replace( /Ö/g, 'Ö' );
str = str.replace( /Ü/g, 'Ü' );
str = str.replace( /ß/g, 'ß' );
str = str.replace( /Å/g, 'Å' );
str = str.replace( /å/g, 'å' );
str = str.replace( /æ/g, 'æ' );
str = str.replace( /ç/g, 'ç' );
str = str.replace( /ñ/g, 'ñ' );
str = str.replace( /â/g, 'â' );
str = str.replace( /á/g, 'á' );
str = str.replace( /à/g, 'à' );
str = str.replace( /Æ/g, 'Æ' );
str = str.replace( /Ç/g, 'Ç' );
str = str.replace( /Ñ/g, 'Ñ' );
str = str.replace( /Â/g, 'Â' );
str = str.replace( /Á/g, 'Á' );
str = str.replace( /À/g, 'À' );
str = str.replace( /…/g, '…' );
str = str.replace( /"/g, '"' );
str = str.replace( /−/g, '−' );
str = str.replace( /‾/g, '‾' );
str = str.replace( /¢/g, '¢' );
str = str.replace( /£/g, '£' );
str = str.replace( /€/g, '€' );
str = str.replace( /§/g, '§' );
str = str.replace( /†/g, '†' );
str = str.replace( /‘/g, '‘' );
str = str.replace( /’/g, '’' );
str = str.replace( /·/g, '·' );
str = str.replace( /•/g, '•' );
str = str.replace( /×/g, '×' );
str = str.replace( /©/g, '©' );
str = str.replace( /®/g, '®' );
str = str.replace( /™/g, '™' );
str = str.replace( /¿/g, '¿' );
str = str.replace( /¡/g, '¡' );
str = str.replace( /↓/g, '↓' );
str = str.replace( /↑/g, '↑' );
str = str.replace( /↵/g, '↵' );
str = str.replace( /→/g, '→' );
str = str.replace( /←/g, '←' );
str = str.replace( /↔/g, '↔' );
str = str.replace( /⇓/g, '⇓' );
str = str.replace( /⇑/g, '⇑' );
str = str.replace( /⇒/g, '⇒' );
str = str.replace( /⇐/g, '⇐' );
str = str.replace( /⇔/g, '⇔' );
str = str.replace( /—/g, '—' );
str = str.replace( /–/g, '–' );
str = str.replace( /∈/g, '∈' );
str = str.replace( /∉/g, '∉' );
str = str.replace( /∅/g, '∅' );
str = str.replace( /⊂/g, '⊂' );
str = str.replace( /⊆/g, '⊆' );
str = str.replace( /⊄/g, '⊄' );
str = str.replace( /Λ/g, 'Λ' );
str = str.replace( /¬/g, '¬' );
str = str.replace( /∼/g, '∼' );
str = str.replace( /α/g, 'α' );
str = str.replace( /β/g, 'β' );
str = str.replace( /γ/g, 'γ' );
str = str.replace( /δ/g, 'δ' );
str = str.replace( /ε/g, 'ε' );
str = str.replace( /ζ/g, 'ζ' );
str = str.replace( /η/g, 'η' );
str = str.replace( /θ/g, 'θ' );
str = str.replace( /ι/g, 'ι' );
str = str.replace( /κ/g, 'κ' );
str = str.replace( /λ/g, 'λ' );
str = str.replace( /μ/g, 'μ' );
str = str.replace( /ν/g, 'ν' );
str = str.replace( /ξ/g, 'ξ' );
str = str.replace( /ο/g, 'ο' );
str = str.replace( /π/g, 'π' );
str = str.replace( /ρ/g, 'ρ' );
str = str.replace( /σ/g, 'σ' );
str = str.replace( /τ/g, 'τ' );
str = str.replace( /υ/g, 'υ' );
str = str.replace( /φ/g, 'φ' );
str = str.replace( /χ/g, 'χ' );
str = str.replace( /ψ/g, 'ψ' );
str = str.replace( /ω/g, 'ω' );
str = str.replace( /Α/g, 'Α' );
str = str.replace( /Β/g, 'Β' );
str = str.replace( /Γ/g, 'Γ' );
str = str.replace( /Δ/g, 'Δ' );
str = str.replace( /Ε/g, 'Ε' );
str = str.replace( /Ζ/g, 'Ζ' );
str = str.replace( /Η/g, 'Η' );
str = str.replace( /Θ/g, 'Θ' );
str = str.replace( /Ι/g, 'Ι' );
str = str.replace( /Κ/g, 'Κ' );
str = str.replace( /Λ/g, 'Λ' );
str = str.replace( /Μ/g, 'Μ' );
str = str.replace( /Ν/g, 'Ν' );
str = str.replace( /Ξ/g, 'Ξ' );
str = str.replace( /Ο/g, 'Ο' );
str = str.replace( /Π/g, 'Π' );
str = str.replace( /Ρ/g, 'Ρ' );
str = str.replace( /Σ/g, 'Σ' );
str = str.replace( /Τ/g, 'Τ' );
str = str.replace( /Υ/g, 'Υ' );
str = str.replace( /Φ/g, 'Φ' );
str = str.replace( /Χ/g, 'Χ' );
str = str.replace( /Ψ/g, 'Ψ' );
str = str.replace( /Ω/g, 'Ω' );
// + wolne linie przed nagłówkami
str = str.replace( /\n=/g, '\n\n=' );
// dekodowanie nazw szablonów
str = str.replace( /\{\{([^\|\}]*)(\||\}\})/g, wp_sk.mm_rTempldecode );
// usuwam spacje na końcach linii
str = str.replace( /[ \t]*\n/g, '\n' );
// unifikacja nagłówka
str = str.replace( /([^ \n\t\}])[ \n\t]*\n'''? *Bibliografia:* *'''?[ \n\t]*/gi, '$1\n\n== Bibliografia ==\n' );
str = str.replace( /([^ \n\t\}])[ \n\t]*\n(=+) *Bibliografia:* *=+[ \n\t]*/gi, '$1\n\n$2 Bibliografia $2\n' );
str = str.replace( /([^ \n\t\}])[ \n\t]*\n'''? *Referencje:* *'''?[ \n\t]*/gi, '$1\n\n== Przypisy ==\n' );
str = str.replace( /([^ \n\t\}])[ \n\t]*\n(=+) *Referencje:* *=+[ \n\t]*/gi, '$1\n\n$2 Przypisy $2\n' );
str = str.replace( /([^ \n\t\}])[ \n\t]*\n'''? *Piśmiennictwo:* *'''?[ \n\t]*/gi, '$1\n\n== Przypisy ==\n' );
str = str.replace( /([^ \n\t\}])[ \n\t]*\n(=+) *Piśmiennictwo:* *=+[ \n\t]*/gi, '$1\n\n$2 Przypisy $2\n' );
// niepotrzebna kropka kropka z liczebników w datach
str = str.replace( /([0-9])\. *(stycznia|lutego|marca|kwietnia|maja|czerwca|lipca|sierpnia|września|października|listopada|grudnia)/g, '$1 $2' )
// ale u [[hr: w listopadzie potrzebna
str = str.replace( /\[\[ *hr *: *([0-9]{1,2}) listopada/g, '[[hr:$1. listopada' )
// oryginalny cleaner
str = wp_sk.pre_malarz_cleaner( str );
// usuwam entery, spacje i tabulatory po infoboksie
str = str.replace( /\{\{([^|}]+[ _]infobo[^|}]+)((?:[^{}]|[^{}][{}][^{}]|\{\{(?:[^{}]|[^{}][{}][^{}]|\{\{[^{}]+\}\})+\}\})+)}\}[\n\t ]*/g, '{{$1$2}}\n' );
// i usuwam entery na końcu (jeżeli są np. dodane przez powyższy)
str = str.replace( /[\n\t ]*$/g, '' );
// usuwam entery na początku artykułu
str = str.replace( /^\n*/, '' );
// usuwam BR'y na końcach list i akapitów
str = str.replace( /( *<\/?br ?\/?>)* *\n(\*|\#|\n|\:)/ig, '\n$2' );
// usuwam spacje przy BR'ach
str = str.replace( / *<\/?br ?\/?> */ig, '<br>' );
// czyszczę przypisy z cytuj cośtam
str = str.replace(/== *\n\s*\n*\{\{[Cc]ytuj/g, '==\n\* \{\{Cytuj');
str = str.replace(/\n?(\{\{([Cc]ytuj[^|}]+)((?:[^{}]|[^{}][{}][^{}]|\{\{(?:[^{}]|[^{}][{}][^{}]|\{\{[^{}]+\}\})+\}\})+)\}\})/g, wp_sk.mm_rFriendlyCytuj);
str = str.replace(/\n+<\/ref>/g, '</ref>');
return str;
};
wp_sk.mm_rTempldecode = function( a, name, end ) {
try {
name = decodeURIComponent( name )
a = '{{' + name + end;
} catch ( err ) {}
return a.replace( /_/g, ' ' );
};
wp_sk.mm_rFriendlyCytuj = function( a ) {
return a.replace( /\s+/g, ' ' );
};
});
// </nowiki>