/*
* Rozszerzenie WP:SK, skryptu autorstwa Nuxa (pl:User:Nux)
* http://pl.wikipedia.orghttps://wiki386.com/pl/WP:SK
* Autor: ToSter (pl:User:ToSter)
* Licencja: GNU General Public License v2
* http://opensource.org/licenses/gpl-license.php
* <pre>
*/
( function() {
function attachToSk() {
//console.log( "Attaching to WP:SK" );
wp_sk.myver = '3.18';
wp_sk.extension += "+]";
wp_sk.escapeTemplate = function( str ) {
str = str.replace( /\|(\s**) - (*)=/gi, "|$1 <%%%SDASH%%%> $2=" );
str = str.replace( /\|(\s*altlink\s*=*) - (*)/gi, "|$1 <%%%SDASH%%%> $2" );
str = str.replace( /(\s**)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, function( a, fname, ext ) {
fname = fname.replace( /-/g, ' <%%%SDASH%%%> ' );
fname = fname.replace( /–/g, ' <%%%NDASH%%%> ' );
fname = fname.replace( /—/g, ' <%%%MDASH%%%> ' );
fname = fname.replace( /\./g, '<%%%DOT%%%>' );
fname = fname.replace( /(\d)r/g, "$1<%%%R%%%>" );
return fname + '.' + ext;
} );
return str;
};
wp_sk.cleanLinksAndTemplates = function( str ) {
// półpauzy
// na początek escape w linkach i szablonach
for ( i = 0; i <= 3; i++ ) {
str = str.replace( /\]+?) - (+?)(])/g, '[[$1 <%%%SDASH%%%> $2$3' );
str = str.replace( /\]+?) – (+?)(])/g, '[[$1 <%%%NDASH%%%> $2$3' );
str = str.replace( /\]+?)×(+?)(])/g, '[[$1<%%%CROSS%%%>$2$3' );
str = str.replace( /\]+?)\.(+?)(])/g, '[[$1<%%%DOT%%%>$2$3' );
str = str.replace( /\]+?\d)r(+?)(])/g, '[[$1<%%%R%%%>$2$3' );
str = str.replace( /\{\{((s\|)?+?) - (+?)()/g, '{{$1 <%%%SDASH%%%> $3$4' );
str = str.replace( /\{\{((s\|)?+?) – (+?)()/g, '{{$1 <%%%NDASH%%%> $3$4' );
str = str.replace( /\{\{((s\|)?+?)\.(+?)()/g, '{{$1<%%%DOT%%%>$3$4' );
str = str.replace( /\{\{((s\|)?+?)×(+?)()/g, '{{$1<%%%CROSS%%%>$3$4' );
str = str.replace( /\{\{((s\|)?+?\d)r(+?)()/g, '{{$1<%%%R%%%>$3$4' );
str = str.replace( /\{\{(main|mainsec|zobacz też|osobny artykuł|główny artykuł|kategoria główna|zobacz kategorię)\|(+?) - (+?)/gi, '{{$1|$2 <%%%SDASH%%%> $3' );
str = str.replace( /\{\{uża grafika\|(+?) - (+?)()/g, '{{Duża grafika|$1 <%%%SDASH%%%> $2$3' );
str = str.replace( /\{\{uża grafika\|(+?) – (+?)()/g, '{{Duża grafika|$1 <%%%NDASH%%%> $2$3' );
str = str.replace( /\{\{uża grafika\|(+?)\.(+?)()/g, '{{Duża grafika|$1<%%%DOT%%%>$2$3' );
str = str.replace( /\{\{uża grafika\|(+?\d)r(+?)()/g, '{{Duża grafika|$1<%%%R%%%>$2$3' );
str = str.replace( /\{\{ikisłownik\|(+?) - (+?)()/g, '{{Wikisłownik|$1 <%%%SDASH%%%> $2$3' );
str = str.replace( /<ref name\s*=\s*"(+?) - (+?)"/g, '<ref name="$1 <%%%SDASH%%%> $2"' );
str = str.replace( /\]+?) x (]+?)\]\]/g, ']' );
}
// + escape w galeriach
str = str.replace( /<gallery(+?)<\/gallery>/gi, function( a, zaw ) {
for ( i = 0; i < 5; i++ ) {
zaw = zaw.replace( /(\s**) - (*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, "$1 <%%%SDASH%%%> $2.$3" );
zaw = zaw.replace( /(\s**) – (*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, "$1 <%%%NDASH%%%> $2.$3" );
zaw = zaw.replace( /(\s**) — (*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, "$1 <%%%MDASH%%%> $2.$3" );
zaw = zaw.replace( /(\s**)\.(*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, "$1<%%%DOT%%%>$2.$3" );
zaw = zaw.replace( /(\s**\d)r(*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg|JPE?G|PNG|GIF|TIFF?|SVG|WEBM|OGG)/g, "$1<%%%R%%%>$2.$3" );
zaw = zaw.replace( /(\s**)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, function( a, filename, ext ) {
filename = filename.replace( /_/g, ' ' );
filename = filename.substr( 0, 1 ).toUpperCase() + filename.substr( 1, filename.length );
return filename + '.' + ext;
} );
}
return "<gallery" + zaw + "</gallery>";
} );
// + escape i poprawki w {{Galeria}}
str = str.replace( /\{\{Galeria(\s*\|+?)\}\}/gi, function( a, zaw ) {
zaw = zaw.replace( /(File|Image|Plik|Grafika):/gi, "Plik:" );
for ( i = 0; i < 5; i++ ) {
zaw = zaw.replace( /:(\s**) - (*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, ":$1 <%%%SDASH%%%> $2.$3" );
zaw = zaw.replace( /:(\s**) – (*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, ":$1 <%%%NDASH%%%> $2.$3" );
zaw = zaw.replace( /:(\s**) — (*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, ":$1 <%%%MDASH%%%> $2.$3" );
zaw = zaw.replace( /:(\s**)\.(*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, ":$1<%%%DOT%%%>$2.$3" );
zaw = zaw.replace( /:(\s**\d)r(*)\.(jpe?g|png|gif|tiff?|svg|webm|ogg|JPE?G|PNG|GIF|TIFF?|SVG|WEBM|OGG)/g, ":$1<%%%R%%%>$2.$3" );
zaw = zaw.replace( /:(\s**)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, function( a, filename, ext ) {
filename = filename.replace( /_/g, ' ' );
filename = filename.substr( 0, 1 ).toUpperCase() + filename.substr( 1, filename.length );
return ':' + filename + '.' + ext;
} );
}
return "{{Galeria" + zaw + "}}";
} );
return str;
};
wp_sk.unescapeString = function( str ) {
str = str.replace( /<%%%SDASH%%%>/g, '-' );
str = str.replace( /<%%%NDASH%%%>/g, '–' );
str = str.replace( /<%%%MDASH%%%>/g, '—' );
str = str.replace( /<%%%CROSS%%%>/g, '×' );
str = str.replace( /<%%%X%%%>/g, 'x' );
str = str.replace( /<%%%DOT%%%>/g, '.' );
return str;
};
wp_sk.friendlierTemplate = function( a, nazwa, zaw ) {
if ( zaw.indexOf( '=' ) == -1 && zaw.indexOf( '|' ) == -1 ) {
return a;
}
// -dane teleadresowe w infoboksach
zaw = zaw.replace( /(\s*)(\|\s*(email|mail|e-mail|mail_um|mail_ug|tel_ug|fax_ug|telefon|tel_um|fax_um)\s*=*?)+()/g, '$1$4' );
// escape
zaw = wp_sk.escapeTemplate( zaw );
zaw = zaw.replace( /\|(\s**)=(\s**)\.(jpe?g|png|gif|tiff?|svg|webm|ogg)/gi, function( a, param, filename, ext ) {
spaces = '';
if ( (filename.indexOf( '://' ) == -1) && (filename.indexOf( '%3a%2f%2f' ) == -1 ) ) {
filename = filename.replace( /_/g, ' ' );
while ( filename.charAt( 0 ) == ' ' ) {
filename = filename.substr( 1, filename.length );
spaces += ' ';
}
filename = filename.substr( 0, 1 ).toUpperCase() + filename.substr( 1, filename.length );
}
return '|' + param + '=' + spaces + filename + '.' + ext;
} );
return '{{' + nazwa + zaw + '}}';
};
wp_sk.cleaner_new = function( str ) {
str = wp_sk.cleanerWikiVaria_old( str );
// escape + podstawowe poprawki w linkach i szablonach
str = wp_sk.cleanLinksAndTemplates( str );
// brakująca kropka
str = str.replace( /(+) *w()/g, '$1 w.$2' );
// ort.
str = str.replace( /(północny|południowy|środkowy) * *(wschód|zachód)/g, '$1 $2' );
str = str.replace( /(północnego|południowego|środkowego) * *(wschodu|zachodu)/g, '$1 $2' );
str = str.replace( /(północnym|południowym|środkowym) * *(wschodzie|zachodzie)/g, '$1 $2' );
str = str.replace( /(północno|południowo|środkowo) * *(wschodni|zachodni)/g, '$1-$2' );
// + escape w szablonach, przy okazji sprzątnięcie podkreśleń w nazwach plików i usunięcie zbędnych parametrów
str = str.replace( /\{\{(+)((?:||\{\{(?:||\{\{+\}\})+\}\})+)\}\}/g, wp_sk.friendlierTemplate );
str = str.replace( /(\s)-(\s)/g, '$1–$2' );
str = str.replace( /–/g, '–' );
str = str.replace( /—/g, '—' );
// str = str.replace(/ — /g, ' – ');
// spacje w listach
str = str.replace( /(\n+)()/g, '$1 $2' );
str = str.replace( /(\n+)\{\{/g, '$1 {{' );
// -zbędne spacje przed div
str = str.replace( /\n\s*<(\/)?div/g, '\n<$1div' );
// skale map
str = str.replace( /(\D1): ?(\d) ?(\d{3}\D)/g, '$1:$2$3' );
str = str.replace( /(\D1): ?(\d{2,3}) ?(\d{3}\D)/g, '$1:$2 $3' );
// liczby do 9999 bez spacji
str = str.replace( /(\s\d)( | )(\d{3}(\s| )(\D))/g, '$1$3' );
// optymistyczna heurystyka:
// kropka na nbsp dla liczb pięciocyfrowych
str = str.replace( /(\d{2})\.(\d{3})( | )?(m|cm|mm|ha|os\.|osób|km|°C|°F)(\W)/g, '$1 $2 $4$5' );
// ludzie niepodzielni - ciach kropkę
str = str.replace( /(\d+)\.(\d+)( | )?(mieszk\.|mieszkańców|os\.|osób)(\W)/g, '$1$2 $4$5' );
// spacja przed rokiem
str = str.replace( /((\s()?\d{3})r\.)/g, '$2 r.' );
str = str.replace( /<%%%R%%%>/g, 'r' );
// encje, unicode od Malarza
str = str.replace( /•/g, '•' );
str = str.replace( /\&\#8211;/g, '–' );
str = str.replace( /\&\#8216;/g, '‘' );
str = str.replace( /\&\#8217;/g, '’' );
str = str.replace( /\&\#8221;/g, '”' );
// int./ort.
str = str.replace( /()m+in\.? /g, '$1m.in. ' );
str = str.replace( / np: /g, ' np. ' );
// dwie kropki na końcu zdania
str = str.replace( /\.\]\]\./g, '.]]' );
// uproszczenie linku do n.p.m.
str = str.replace( /\\]/gi, 'm ]' );
str = str.replace( /\\] \\]/gi, 'm ]' );
// strzałki dla opisów szlaków
str = str.replace( /↑ ?(\d)/g, '↑ $1' );
str = str.replace( /↓ ?(\d)/g, '↓ $1' );
str = str.replace( /_infobox/g, ' infobox' );
str = str.replace( /\| wydawca=Wydaw\. Naukowe PWN/g, '| wydawca= Wydawnictwo Naukowe PWN' );
// -puste parametry cytuj
str = str.replace( /((\s*)\|\s*(imię\d|nazwisko\d|inni|autor link\d|autor\d)\s*=\s*)+()/g, '$2$4' );
// 1 x 2 -> odpowiedni krzyżyk + nbsp
str = str.replace( /(+) (+) /g, '$1 × $2 ' );
str = str.replace( /\{\{nowrap start\}\}(\s*)(+) (+) /g, '{{nowrap start}}$1$2 × $3 ' );
// przypisy dużą literą
str = str.replace( / ?\{\{rzypisy/g, '{{Przypisy' );
// kropka w języku do linka
str = str.replace( /\{2,5})(+)\|\1\]\]\. ?/gi, '] ' );
str = str.replace( /\{\{Seealso/gi, '{{Zobacz też' );
// drobiazgi przy refach
str = str.replace( /<\/ref>()()/g, '</ref>$1 $2' );
// sprzątanie wiosek
str = str.replace( /Dane z \\] \\]\{\{ŹródłoPL\|2\}\}:/g, 'Dane z 30 czerwca 2004{{ŹródłoPL|2}}:' );
str = str.replace( /\{\| border="1" cellpadding="4" cellspacing="0" style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; text-align:right;"/g, '{| class="wikitable"' );
// wikizacja html
str = str.replace( /<i>(+?)<\/i>/gi, "''$1''" );
str = str.replace( /<(b|strong)>(+?)<\/\1>/gi, "'''$2'''" );
str = str.replace( /<(h1|h2)>(+?)<\/\1>/gi, "== $2 ==" );
str = str.replace( /<h3>(+?)<\/h3>/gi, "=== $1 ===" );
str = str.replace( /<h4>(+?)<\/h4>/gi, "==== $1 ====" );
str = str.replace( /<h5>(+?)<\/h5>/gi, "===== $1 =====" );
// listy
str = str.replace( /<(l)>(+?)<\/\1>/gi, function( a, ltype, zaw ) {
var substBeg = ( ltype.toLowerCase().charAt( 0 ) == 'u' ) ? '*' : '#';
zaw = zaw.replace( /<li>/gi, '\n<li>' );
zaw = zaw.replace( /\n\n/gi, '\n' );
zaw = zaw.replace( /<\/li>/gi, '' );
zaw = zaw.replace( /<li>/gi, substBeg + ' ' );
return zaw;
} );
// tabelki
str = str.replace( /<table(+?)>/gi, '{|$1' );
str = str.replace( /<\/table>/gi, '|}' );
str = str.replace( /<\/td>\n+\s*<td>/gi, '\n| ' );
str = str.replace( /<\/th>\n+\s*<th>/gi, '\n! ' );
str = str.replace( /<\/td>\n+\s*<td (+?)>/gi, '\n| $1 | ' );
str = str.replace( /<\/th>\n+\s*<th (+?)>/gi, '\n! $1 | ' );
str = str.replace( /<\/td>\s*<td>/gi, ' || ' );
str = str.replace( /<\/th>\s*<th>/gi, ' !! ' );
str = str.replace( /<\/td>\s*<td (+?)>/gi, ' || $1 | ' );
str = str.replace( /<\/th>\s*<th (+?)>/gi, ' !! $1 | ' );
str = str.replace( /(<\/t>)?\s*<\/tr>/gi, '' );
str = str.replace( /\s*<tr(*?)>\s*/gi, '\n|- $1\n' );
str = str.replace( /\n\s*<td>/gi, '\n| ' );
str = str.replace( /\n\s*<th>/gi, '\n! ' );
str = str.replace( /\n\s*<td (+?)>/gi, '\n| $1 | ' );
str = str.replace( /\n\s*<th (+?)>/gi, '\n! $1 | ' );
str = str.replace( /<\/td>/gi, '' );
// -> Plik: wszędzie, np. w parametrach infoboksów - rezygnacja, bo wycofujemy to z szablonów a generuje błędy
// str = str.replace( /(= *|\[\[)(Grafika|File|Image):/gi, '$1Plik:' );
// -spacje przy px
str = str.replace( /\|(\d{2,4}) px\|/g, '|$1px|' );
// centre -> center
str = str.replace( /\|centre/g, '|center' );
// |thumb|]] -> |thumb]]
str = str.replace( /\|(center|thumb|left)\|\]\]/g, '|$1]]' );
// thumb na początek, -right, od Matma Rexa
str = str.replace( /\]+)\|((?:\\]|])+)\]\]/g, function( a, name, opts ) {
o = opts.split( '|' );
if ( o.indexOf( 'thumb' ) >= 0 ) {
z = o.indexOf( 'right' );
if ( z >= 0 ) o.splice( z, 1 );
if ( o.indexOf( 'thumb' ) !== 0 ) {
o.splice( o.indexOf( 'thumb' ), 1 );
o.unshift( 'thumb' );
}
}
res = '|' + o.join( '|' );
res = res.replace( /\|\|/g, '|' );
res = res.replace( /\|$/g, '' );
return ']';
} );
// odescapujemy
str = wp_sk.unescapeString( str );
return str;
};
wp_sk.cleanerWikiVaria_old = wp_sk.cleanerWikiVaria;
wp_sk.cleanerWikiVaria = wp_sk.cleaner_new;
}
if ( typeof( wp_sk ) !== 'undefined' ) {
//console.log( "WP:SK is present" );
attachToSk();
} else {
//console.log( "WP:SK is not present" );
var timer;
var attemptsLeft = 600;
timer = window.setInterval( function() {
if ( typeof( wp_sk ) !== 'undefined' ) {
attachToSk();
window.clearInterval( timer );
return;
}
attemptsLeft--;
if ( attemptsLeft < 0 ) {
//console.log( "WP:SK is not present, giving up" );
window.clearInterval( timer );
}
}, 100 );
}
} )();
//</pre>
$(function() {
if(typeof wp_sk ==='undefined') return;
wp_sk.mm_rFriendlyIbox = function(a,nazwa,zaw) {
//
// usuwam komentarze
//
zaw = zaw.replace(/<!-- <liczba>/, '<!--');
zaw = zaw.replace(/ *<!--*--> *\n/g, '\n')
//
// jak został komentarz lub nie ma parametrów to kończymy
//
if (zaw.indexOf('<!--')!=-1 || zaw.indexOf('|')==-1)
{
return a;
}
nazwa = nazwa.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1"); // trim
//
// escapowanie parametrów
//
zaw = zaw.replace(/<<<(#+)>>>/g,'<<<#$1>>>');
// wewnętrzne szablony
zaw = zaw.replace(/\{\{((+)?(\{\{+\}\})?)*\}\}/g,function(a){ return a.replace(/\|/g,'<<<#>>>') });
// wewnętrzne linki
zaw = zaw.replace(/\]+\]\]/g,function(a){ return a.replace(/\|/g,'<<<#>>>') });
//
// sprzątanie
//
// del pustych
zaw = zaw.replace(/\|\s*(?=\|)/g, function(a) {return (a.indexOf('\n')==-1)?'':'\n'}).replace(/\|\s*$/g, "");
zaw = zaw.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1"); // trim
// przeniesienie | na początek wiersza (zawsze)
zaw = '\n'+zaw+'\n';
zaw = zaw.replace(/\s*\|\s*/g, '\n |');
//
// odescapowanie
//
zaw = zaw.replace(/<<<#>>>/g,'|').replace(/<<<#(#+)>>>/g,'<<<$1>>>');
dlugosc = 0;
zawartosc = zaw;
// obliczam długość najdłuższej nazwy parametru
while (zawartosc.length) {
linia = zawartosc.substr(0, zawartosc.indexOf('\n'));
zawartosc = zawartosc.substr(zawartosc.indexOf('\n')+1);
if (linia.match(/^ *\|*\=/)){
linia = linia.replace(/^ *\|(*)=.*$/, '$1');
linia = linia.replace(/^*()/, '$1');
linia = linia.replace(/()*$/, '$1');
if (!(linia.match(/^(stopni|minut|sekund)(N|E|S|W)$/))) {
dlugosc = (dlugosc>linia.length) ? dlugosc : linia.length;
}
}
}
// dla niekórych dlugosc ustawiam na stałe
if (nazwa.match(/^Jednostka administracyjna infobox/)) {
dlugosc = 31;
} else if (nazwa.match(/^Zwierzę infobox/)) {
dlugosc = 22;
} else if (nazwa.match(/^Biogram infobox/)) {
dlugosc = 20;
} else if (nazwa.match(/^Dzielnica infobox/)) {
dlugosc = 28;
}
// przerabiam wywołania parametrów
nowazaw = '';
while (zaw.length) {
linia = zaw.substr(0, zaw.indexOf('\n'));
zaw = zaw.substr(zaw.indexOf('\n')+1);
if (linia.match(/^ *\|*\=/)){
nazwapar = linia.replace(/^ *\|(*)=.*$/, '$1');
nazwapar = nazwapar.replace(/^*()/, '$1');
nazwapar = nazwapar.replace(/()*$/, '$1');
if (!(nazwapar.match(/^(stopni|minut|sekund)(N|E|S|W|_szer|_dł)$/))) {
while (nazwapar.length<dlugosc) nazwapar += ' ';
}
parametr = linia.replace(/^ *\|* *=(.*)$/, '$1');
parametr = parametr.replace(/^ *()/, '$1');
parametr = parametr.replace(/()*$/, '$1');
if (parametr == "?")
parametr = "";
parametr = parametr.replace(/ *<\/?br ?\/?>$/gi, '');
nowazaw += ' |' + nazwapar + ' = ' + parametr + '\n';
} else {
nowazaw += linia + '\n';
}
nowazaw = nowazaw.replace(/\n( \|(minut|sekund)(N|E|S|W|_szer|_dł) =)/, '$1');
nowazaw = nowazaw.replace(/\n \|(szerokość|długość) *= (N|E|S|W)/, ' |$1 = $2');
}
// składam do kupy nowy ibox
return '{{' + nazwa.substring(0,1).toUpperCase() + nazwa.substring(1) + nowazaw + '}}';
}
wp_sk.rFriendlyIbox = wp_sk.mm_rFriendlyIbox;
wp_sk.extension += "+]";
});
( function() {
function attachToSk() {
//console.log( "Attaching to WP:SK" );
// własne ]
wp_sk.pre_malarz_cleaner = wp_sk.cleaner;
wp_sk.extension += "+]";
wp_sk.cleaner = function( str ) {
// linki zewnętrzne do wiki na ]
str = str.replace( /\ ]+) (]+)\]/g, ']' );
//rozpoczęte <b><i> w pustych parametrach szablonów
str = str.replace( /(=\s*)''+(\s*(\||\}\}))/g, '$1$2' );
//czyścimy ISBN'y dla ]
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( /*\n/g, '\n' );
// unifikacja nagłówka
str = str.replace( /()*\n'''? *Bibliografia:* *'''?*/gi, '$1\n\n== Bibliografia ==\n' );
str = str.replace( /()*\n(=+) *Bibliografia:* *=+*/gi, '$1\n\n$2 Bibliografia $2\n' );
str = str.replace( /()*\n'''? *Referencje:* *'''?*/gi, '$1\n\n== Przypisy ==\n' );
str = str.replace( /()*\n(=+) *Referencje:* *=+*/gi, '$1\n\n$2 Przypisy $2\n' );
str = str.replace( /()*\n'''? *Piśmiennictwo:* *'''?*/gi, '$1\n\n== Przypisy ==\n' );
str = str.replace( /()*\n(=+) *Piśmiennictwo:* *=+*/gi, '$1\n\n$2 Przypisy $2\n' );
// niepotrzebna kropka kropka z liczebników w datach
str = str.replace( /()\. *(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( /\{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+)((?:||\{\{(?:||\{\{+\}\})+\}\})+)}\}*/g, '{{$1$2}}\n' );
// i usuwam entery na końcu (jeżeli są np. dodane przez powyższy)
str = str.replace( /*$/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*\{\{ytuj/g, '==\n\* \{\{Cytuj');
str = str.replace(/\n?(\{\{(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, ' ' );
};
}
if ( typeof( wp_sk ) !== 'undefined' ) {
//console.log( "WP:SK is present" );
attachToSk();
} else {
//console.log( "WP:SK is not present" );
var timer;
var attemptsLeft = 600;
timer = window.setInterval( function() {
if ( typeof( wp_sk ) !== 'undefined' ) {
attachToSk();
window.clearInterval( timer );
return;
}
attemptsLeft--;
if ( attemptsLeft < 0 ) {
//console.log( "WP:SK is not present, giving up" );
window.clearInterval( timer );
}
}, 100 );
}
} )();