Wikipedysta:Persino/Gadget-StronicowyParser.js/StronaSubst.js
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.
mw.loader.using('ext.gadget.gConfig', function(){
let globalne_zmienne=this;
StronicowyParser.WyswietlStronyKsiazki=async function(){
await StronicowyParser.muteks.zablokuj();
let stronasubst_latex=undefined;
let stronasubst_mathml=undefined;
let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined;
let stronasubst_ukrywaj_toc=undefined;
let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined;
let stronasubst_aktualizowanie_nazw_artykulow=undefined;
let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined;
let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined;
let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined;
let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined;
let stronasubst_nie_usuwaj_styli=undefined;
let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined;
if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){
mw.messages.set({
'StronaSubst-name': 'Strona zbiorcza',
'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst',
'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.',
'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.',
'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.',
'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.",
'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.",
'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.',
'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.",
'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.',
'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.',
'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.',
'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.',
'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.',
});
gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [
{
name: 'latex',
desc: mw.msg('StronaSubst-latex'),
type: 'boolean',
deflt: false,
legacy: [window, 'wb_stronasubst_latex']
},
{
name: 'mathml',
desc: mw.msg('StronaSubst-mathml'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_mathml']
},
{
name: 'opakuj_kategorie_ze_sortowaniem',
desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'),
type: 'boolean',
deflt: false,
legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem']
},
{
name: 'ukrywaj_toc',
desc: mw.msg('StronaSubst-ukrywaj_toc'),
type: 'integer',
deflt: 0,
validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; },
legacy: [window, 'wb_stronasubst_ukrywaj_toc']
},
{
name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach',
desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach']
},
{
name: 'aktualizowanie_nazw_artykulow',
desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow']
},
{
name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami',
desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami']
},
{
name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika',
desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika']
},
{
name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej',
desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej']
},
{
name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule',
desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule']
},
{
name: 'nie_usuwaj_styli',
desc: mw.msg('StronaSubst-nie_usuwaj_styli'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_nie_usuwaj_styli']
},
{
name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst',
desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'),
type: 'boolean',
deflt: true,
legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst']
},
]);
stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true);
stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true);
stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true);
stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc');
stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach');
stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true);
stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true);
stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true);
stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true);
stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true);
stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true);
stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true);
}
//let podglad=document.querySelector('body:not(.action)');
//if(podglad){return;}
let stronasubst_tablica_tych_samych=new Array();
let stronasubst_tablica_rozdzialow=new Array();
let stronasubst_tablica_alternatywnych_nazw=new Array();
stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false);
stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true);
stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false);
stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0));
stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0);
stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true);
stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true);
stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true);
stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true);
stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true);
stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true);
stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true);
stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true);
async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){
await StronicowyParser.muteks.zablokuj();
let rozdzial_ksiazki="rozdział_książki";
let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany');
if((el!==null)&&(el.length>0)){
for(let i=0;i<el.length;++i){
let element_el=el[i];
let ksiazka=element_el.querySelector("."+rozdzial_ksiazki);
if(ksiazka){
let nazwa_strony=element_el.getAttribute('nazwa_strony');
if(tab_promise2){tab_promise2.wygeneruj(1);}
CzyStronaSubst(element_el,nazwa_strony,tab_promise2);
}
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}
async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){
await StronicowyParser.muteks.zablokuj();
let title=data.parse.title;
let wikikod=data.parse.text['*'];
let strona_hash;
let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
let t=tab_uzyskane[0];
if(t==undefined){
console.log("Nie wykryto znacznika lsth_\d+.");
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
strona_hash=titles[t];
let selflink=document.createElement('div');
selflink.innerHTML=wikikod;
let czy_selflink=selflink.getElementsByClassName('selflink');
if((czy_selflink!==null)&&(czy_selflink.length==1)){
let elements=tabstrona[strona_hash];
let a=document.createElement('a');/*Tworzenie linku*/
a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title));
a.innerHTML=strona_hash;
let span=document.createElement('span');
span.appendChild(a);
span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/
if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span);
}
for(let q in elements){
let element=elements[q];
element.innerHTML="";
element.appendChild(span);
$(element).wrap(function(){return "<strong></strong>";});
let przed=document.createTextNode("{{:");
let po=document.createTextNode("}}");
element.insertBefore(przed,element.firstChild);
element.appendChild(po);
element.style.display="block";
let parent=element.parentNode;
if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){
parent.style.display="block";
}
let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu');
if(pasek!==null){
element.parentNode.removeChild(pasek);
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
wikikod=tab_uzyskane[1].innerHTML;
let elements=tabstrona[strona_hash];
for(let q in elements){
let element=elements[q];
element.innerHTML=wikikod;
StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles);
}
StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml)
let strona_start=$(elements[0]).parents(".strona_start");
let rodzic=undefined;
if((strona_start!==null)&&(strona_start.length>0)){
rodzic=strona_start[0];
}
StronicowyParser.IndeksujHeadLine(rodzic);
StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true);
for(let q in elements){
let element=elements[q];
async function ElementDalszychObliczen(element,tab_promise2){
await StronicowyParser.muteks.zablokuj(true);
StronicowyParser.PoprawRozdzialyStron(element);
if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów.
}
if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {});
}
if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {});
}
element.style.display="block";
let parent=element.parentNode;
if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){
parent.style.display="block";
}
let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu');
if(pasek!==null){
element.parentNode.removeChild(pasek);
}
if(StronicowyParser.TrybCiemnyIJasny){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.TrybCiemnyIJasny(element,tab_promise2);
}
if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){
let tab_promise=new StronicowyParser.GenerowaneObiekty(1);
StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {});
if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{
if(tab_promise2){tab_promise2.wygeneruj(1);}
AnalizujDalejSzablonSubst(element,tab_promise2);
if(tab_promise2){tab_promise2.zwolnij();}
}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
}
StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element);
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}
if(tab_promise2){tab_promise2.wygeneruj(1);}
ElementDalszychObliczen(element,tab_promise2);
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}
async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){
await StronicowyParser.muteks.zablokuj();
StronicowyParser.NaprawNaglowkiStrony(element_strony,true);
let czy_wikikod=wikikod.match(/^[_\s]*$/g);
let strona_start=$('#mw-content-text .mw-parser-output .strona_start');
function CzyWszystkieNaglowkiWewnatrzStronaStart(){
let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6');
for(let i=0;i<pole.length;++i){
let s=strona_start.find(pole[i]);
if((s===null)||(s.length==0)){
return false;
}
}
return true;
}
if(czy_wikikod){
StronicowyParser.muteks.odblokuj();
let tab_promise=new StronicowyParser.GenerowaneObiekty();
if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){
tab_promise.wygeneruj(1);
StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów.
}
let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true);
if(czy_numerowac){
czy_numerowac=false;
tab_promise.wygeneruj(1);
StronicowyParser.api.ZadaniaApi({
action: 'expandtemplates',
format: 'json',
prop: 'wikitext',
title: StronicowyParser.pageinfo.fullname,
text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}',
smaxage: 600,
maxage: 600,
}).then(async function(data){
let wikikod=data.expandtemplates.wikitext;
let czy_wikikod=/^[_\s]*$/g.test(wikikod);
if(!czy_wikikod){
czy_numerowac=true;
}
tab_promise.zwolnij();
}).catch(()=>{tab_promise.zwolnij();});
}
if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{
let tab_promise=new StronicowyParser.GenerowaneObiekty(1);
StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc);
StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise);
StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika();
tab_promise.wygeneruj(1);
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise);
tab_promise.wygeneruj(1)
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise);
if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{
if(CzyWszystkieNaglowkiWewnatrzStronaStart()){
if((strona_start!==null)&&(strona_start.length>0)){
StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml);
}else{
StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml);
}
}else{
StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml);
}
$("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"unset");
if(globalne_zmienne.SideBarToc){SideBarToc();}
if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();}
let action_view_i_submit=document.querySelector('body.action-view:not(.ns-special), body.action-submit');
if((action_view_i_submit)&&(czy_numerowac)){
let toc_nowy_vector=$('.mw-table-of-contents-container');
if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){
let sidebartoc=toc_nowy_vector.children('.sidebar-toc');
if((sidebartoc!==null)&&(sidebartoc.length>0)){
let kopia=sidebartoc[0].cloneNode(true);
$(sidebartoc[0]).parent().each((i,rodzic)=>{
rodzic.replaceChild(kopia,sidebartoc[0]);
});
}
}
}
if(globalne_zmienne.Vector2022){Vector2022.ZdarzeniaNawigacja();}
if(tab_promise2){tab_promise2.wygeneruj(1);}
AnalizujDalejSzablonSubst(element_strony,tab_promise2);
if(tab_promise2){tab_promise2.zwolnij();}
}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
if(tab_promise2){tab_promise2.zwolnij();}
}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
let tab_promise=new StronicowyParser.GenerowaneObiekty(1);
StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise);
StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika();
tab_promise.wygeneruj(1);
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise);
tab_promise.wygeneruj(1);
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise);
if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => {
let tab_promise=new StronicowyParser.GenerowaneObiekty();
if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){
tab_promise.wygeneruj(1);
StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów.
}
await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{});
await StronicowyParser.muteks.zablokuj();
if(tab_promise2){tab_promise2.wygeneruj(1);}
AnalizujDalejSzablonSubst(element_strony,tab_promise2);
let rozdzial_ksiazki="rozdział_książki";
let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki);
if(tagclass===null){
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return null;
}
let liczba_elementow=tagclass.length;
if(liczba_elementow==0){
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();};
return null;
}
let titles=new Array();
let tabstrona=new Array();
let tabs=new Array();
let tab_section=new Array();
if(StronicowyParser.TrybCiemnyIJasny){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2);
}
let tab_hn=new Array();
async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){
await StronicowyParser.muteks.zablokuj();
let linkstrony_editsection=hn.querySelector('.mw-editsection');
if(linkstrony_editsection===null){
let editsection=document.createElement('span');
editsection.classList.add('mw-editsection');
let bracket_poczatek=document.createElement('span');
bracket_poczatek.classList.add('mw-editsection-bracket')
bracket_poczatek.innerHTML="[";
let a=document.createElement('a');
a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("§ion="+numer):""));
a.setAttribute('title',"Edytuj artykuł: "+link_strona);
a.innerHTML="edytuj";
let bracket_koniec=document.createElement('span');
bracket_koniec.classList.add('mw-editsection-bracket')
bracket_koniec.innerHTML="]";
editsection.appendChild(bracket_poczatek);
editsection.appendChild(a)
editsection.appendChild(bracket_koniec);
hn.appendChild(editsection);
}
linkstrony_editsection=hn.querySelector('.mw-editsection');
if(linkstrony_editsection!==null){
let mw_editsection_bracket=linkstrony_editsection.querySelector('a');
if(mw_editsection_bracket!==null){
if(czy_link_nie_w_naglowku){
let a=document.createElement('a');
a.innerHTML="artykuł";
a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true)));
a.setAttribute("title","Zobacz artykuł: "+link_strona);
let span=document.createElement('span');
span.innerHTML="| ";
span.setAttribute('class',"mw-editsection-bracket")
let czy_ma=$(mw_editsection_bracket).parent().hasClass('link');
if(czy_ma){
let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode;
let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket);
linkstrony_editsection.insertBefore(a, span2);
}else{
let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket);
linkstrony_editsection.insertBefore(a, span2);
}
}
}
if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {});
}
}
StronicowyParser.muteks.odblokuj();
}
for (let i=0;i<liczba_elementow;++i){
let tagclassname=tagclass[i];
let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki);
function CzyOdrzucic(){
for(let i=0;i<potomek_analizowany.length;++i){
if(potomek_analizowany[i]==tagclassname){
return true;
}
}
return false;
}
if(CzyOdrzucic()){continue;}
if(tagclassname.tagName.toUpperCase()!="DIV"){
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
let class_element=tagclassname.getElementsByClassName('strona_subst');
let element;
if((class_element!==null)&&(class_element.length==1)){
element=class_element[0];
if(element.tagName.toUpperCase()!="DIV"){
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
}else{
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
let czy_link_nie_w_naglowku;
let strona_headline=tagclassname.getElementsByClassName('mw-headline');
let link_strona;
if((strona_headline!==null)&&(strona_headline.length==1)){
strona_a=strona_headline[0].getElementsByTagName('a');
if((strona_a!==null)&&(strona_a.length==1)){
link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href'));
if(link_strona!==null){
let re=/\/wiki\//g;
if(re.test(link_strona)){
link_strona=link_strona.substring(6,link_strona.length);
czy_link_nie_w_naglowku=false;
}else{
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
}
}else{
link_strona=StronicowyParser.style.UsunStyle(element.innerHTML);
czy_link_nie_w_naglowku=true;
}
}
let re = /^[_\s]*$/g;
let dopasowanie = re.test(link_strona);
if(dopasowanie){
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();};
return;
};
link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&/g,"&").replace(/ /g," ");
let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&/g,"&").replace(/ /g,"_");
/**/
let hn=strona_headline[0].parentNode;
if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku);
let strona=link_strona.match(/^[^#]*/g).toString();
async function PraceIteracyjne(tab_promise2){
await StronicowyParser.muteks.zablokuj();
if(/#/g.test(link_strona)){
let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2");
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.api.ZadaniaApi({
action: 'parse',
format: 'json',
prop: 'text',
title: aktualna_strona,
text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>",
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
let wikikod=data.parse.text['*'];
let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
if(c===undefined){
console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id.");
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
let numer=hn.innerHTML;
numer=parseInt(numer);
if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return ;}
let tab_c=tab_section[c];
edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]);
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){
if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.api.ZadaniaApi({
action: 'parse',
format: 'json',
prop: 'text',
title: aktualna_strona,
text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>",
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
let wikikod=data.parse.text['*'];
let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
if(c===undefined){
console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
wikikod=hn.innerHTML;
if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
let tab_c=tab_section[c];
let hn_element=tab_c[0];
let headline=hn_element.querySelector('.mw-headline');
if(!stronasubst_nie_usuwaj_styli){
StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod);
}else{
headline.innerHTML=wikikod;
}
StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
}else{
let uzupelniaj_sekcje_artykulow;
if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){
uzupelniaj_sekcje_artykulow="tak";
}else{
uzupelniaj_sekcje_artykulow="";
}
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.api.ZadaniaApi({
action: 'parse',
format: 'json',
prop: 'text',
title: aktualna_strona,
text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>",
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
let wikikod=data.parse.text['*'];
let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
if(c===undefined){
console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
wikikod=hn.innerHTML;
if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
let tab_c=tab_section[c];
let hn_element=tab_c[0];
let headline=hn_element.querySelector('.mw-headline');
let stare=tab_section[c][1];let nowe;
if(!stronasubst_nie_usuwaj_styli){
StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
wikikod=StronicowyParser.style.UsunStyle(wikikod);
nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
}else{
nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
}
stronasubst_tablica_alternatywnych_nazw[stare]=nowe;
headline.innerHTML=wikikod;
let a=headline.getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
a[0].setAttribute('title',stare);
}
StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
}
}
}else{
edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku);
if(stronasubst_aktualizowanie_nazw_artykulow){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.api.ZadaniaApi({
action: 'parse',
format: 'json',
prop: 'text',
title: aktualna_strona,
text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>",
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
let wikikod=data.parse.text['*'];
let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
if(c===undefined){
console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
wikikod=hn.innerHTML;
if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
let tab_c=tab_section[c];
let hn_element=tab_c[0];
let headline=hn_element.querySelector('.mw-headline');
let stare=tab_section[c][1];let nowe;
if(!stronasubst_nie_usuwaj_styli){
StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
wikikod=StronicowyParser.style.UsunStyle(wikikod);
nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
}else{
nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
}
stronasubst_tablica_alternatywnych_nazw[stare]=nowe;
headline.innerHTML=wikikod;
StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}
if(tab_promise2){tab_promise2.wygeneruj(1);}
setTimeout(()=>{
PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {});
},1000);
/**/
tabs[i]=link_strona;
let czy=false;
for(let d in titles){
if(titles[d]==link_strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=link_strona;
}
if(tabstrona[link_strona]==null){
tabstrona[link_strona]=new Array();
}
let tab=tabstrona[link_strona];
let tablen=tab.length;
tabstrona[link_strona][tablen]=element;
}
async function PraceNaglowki(tab_promise2){
await StronicowyParser.muteks.zablokuj();
let promise;
if(element_strony==document){
let namespace=StronicowyParser.pageinfo.namespace;
let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname;
promise=Promise.resolve(strona_podrecznika);
}else{
let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany');
if((zaan!==null)&&(zaan.length>0)){
let strona=zaan[0].getAttribute('nazwa_strony');
if(strona){
promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona);
}else{
promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona);
}
}else{
promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona);
}
}
if(tab_promise2){tab_promise2.wygeneruj(1);}
promise.then(async (strona_podrecznika)=>{
await StronicowyParser.muteks.zablokuj();
let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka');
let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka");
if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){
let g=0;
let tab_naglowka=new Array();
let tab_hn=new Array();
for(let z=0;z<klasa_naglowka.length;++z){
let pojedyncza_klasa_naglowka=klasa_naglowka[z];
function CzyOdrzucic(){
for(let i=0;i<potomek_analizowany.length;++i){
if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){
return true;
}
}
return false;
}
if(CzyOdrzucic()){continue;}
let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline');
if(dana_klasa_naglowka!==null){
if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g))
&&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV")
&&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){
let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&/g,"&").replace(/ /g,"_");
let ww=1;
for(let x=0;x<tab_naglowka.length;++x){
if(tab_naglowka[x]==naglowek){
++ww;
}
}
naglowek=naglowek+((ww>1)?ww:"");
tab_naglowka[g]=naglowek;
tab_hn[g]=dana_klasa_naglowka.parentNode;
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.api.ZadaniaApi({
action: 'parse',
format: 'json',
prop: 'text',
title: aktualna_strona,
text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>",
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
let wikikod=data.parse.text['*'];
let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
if(c===undefined){
console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id.");
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ")
let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ")
edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true);
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.api.ZadaniaApi({
action: 'parse',
format: 'json',
prop: 'text',
title: aktualna_strona,
text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>",
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
let wikikod=data.parse.text['*'];
let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
if(c===undefined){
console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
return;
}
wikikod=hn.innerHTML;
if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;}
let headline=tab_hn[c].querySelector('.mw-headline');
if(!stronasubst_nie_usuwaj_styli){
StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod);
}else{
headline.innerHTML=wikikod;
}
StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
}
++g;
}
}
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}
if(tab_promise2){tab_promise2.wygeneruj(1);}
setTimeout(()=>{
PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {});
},1000);
function RozwazajNaglowki(){
let toc_fun=new StronicowyParser.ListaNodeTOC();
if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){
for(let w=0;w<toc_fun.toc.length;++w){
let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]);
let ile_jest=0;
let li=toc_fun.toc[w].getElementsByTagName('li');
if((li!==null)&&(li.length>0)){
for(let dd=0;dd<li.length;++dd){
let element_li=li[dd];
let tocnumber;let toctext_wartosc;
if(czy_side_bar_toc){
tocnumber=element_li.querySelector('.sidebar-toc-numb');
if(!tocnumber){continue;}
toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),"");
}else{
tocnumber=element_li.querySelector('.tocnumber');
toctext_wartosc=element_li.querySelector('.toctext').innerHTML;
}
if((tocnumber!==null)&&(toctext_wartosc!==null)){
let czy_jest=undefined;
let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka');
if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){
let element_klasa_naglowka=klasa_naglowka[ile_jest];
let headline=element_klasa_naglowka.querySelector('.mw-headline');
if((headline!==null)
&&(headline.parentNode!==null)
&&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/))
&&(headline.parentNode.parentNode!==null)
&&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV")
&&(headline.parentNode.parentNode===element_klasa_naglowka)
){
let element_a;
if(czy_side_bar_toc){
element_a=tocnumber.parentNode.parentNode;
}else{
element_a=tocnumber.parentNode;
}
if(element_a.tagName.toUpperCase()=="A"){
let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href'));
if(href!==null){
href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
let id_headline=headline.getAttribute('id');
if(id_headline!==null){
id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
if(href!=id_headline){czy_jest=true;}
}else{czy_jest=true;}
}else{czy_jest=true;}
}else{czy_jest=true;}
}else{czy_jest=true;}
}else{czy_jest=true;}
if(czy_jest===undefined){ile_jest+=1;}
if((czy_jest===undefined)||(!czy_jest)){
let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ");
if(stronasubst_tablica_rozdzialow[element_toctext]==null){
stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber);
}else{
stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber);
}
}
}
}
}
}
}
}
StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc);
if(CzyWszystkieNaglowkiWewnatrzStronaStart()){
if((strona_start!==null)&&(strona_start.length>0)){
StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml);
}else{
StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml);
}
}else{
StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml);
}
$("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"unset");
if(globalne_zmienne.SideBarToc){SideBarToc();}
if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();}
let action_view_i_submit=document.querySelector('body.action-view:not(.ns-special), body.action-submit');
if((action_view_i_submit)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){
let toc_nowy_vector=$('.mw-table-of-contents-container');
if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){
let sidebartoc=toc_nowy_vector.children('.sidebar-toc');
if((sidebartoc!==null)&&(sidebartoc.length>0)){
let kopia=sidebartoc[0].cloneNode(true);
$(sidebartoc[0]).parent().each((i,rodzic)=>{
rodzic.replaceChild(kopia,sidebartoc[0]);
});
}
}
}
if(globalne_zmienne.Vector2022){Vector2022.ZdarzeniaNawigacja();}
RozwazajNaglowki();
if(stronasubst_mathml){
$("div.toc ul > li > a > span.toctext").toggleClass("mathml");
$("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml");
$("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml");
}
function Strona(strona){
let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona);
let re=new RegExp("^\\s*"+strona_re+"\\s*#","g");
return re;
}
function CzyArtykulyZNaglowkamiDlaStrony(re){
for(let s in titles){
let czy_hash=titles[s].match(re);
if(czy_hash){
return true;
}
}
return false;
}
let catlinks_fun=new StronicowyParser.LinkiKategorii();
await catlinks_fun.PobierzKategorieStrony();
for ( let t in titles ) {
let strona=titles[t].match(/^[^#]*/g).toString();
let szablon_artykulu;
let re_strona=Strona(strona);
let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona);
if(!czy_naglowki){
szablon_artykulu="{{:"+strona+"}}";
}else{
/*---------------------------------*/
let rozdzial1=null;
let re=/^([^#]*)#(.*)$/g;
if(re.test(titles[t])){
rozdzial1=titles[t].replace(re,"$2");
rozdzial1=rozdzial1.replace(/&/g,"&").replace(/ /g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''");
}else{rozdzial1="";}
let rozdzial2=null;
let tit=titles[parseInt(t)+1];
if( tit && re.test(tit) && re_strona.test(tit)){
rozdzial2=tit.replace(re,"$2");
rozdzial2=rozdzial2.replace(/&/g,"&").replace(/ /g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''");
}else{rozdzial2="";}
/*---------------------------*/
szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}";
}
szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}";
if(stronasubst_opakuj_kategorie_ze_sortowaniem){
szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}"
}
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronicowyParser.api.ZadaniaApi({
action: 'parse',
format: 'json',
prop: 'text|categories',
title: strona,
text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>",
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {});
if(tab_promise2){tab_promise2.wygeneruj(1);}
WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {});
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}
function CzyszczenieZZdarzeńTableOfContent(){
let toc_nowy_vector=$('.mw-table-of-contents-container');
if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){
let sidebartoc=toc_nowy_vector.children('.sidebar-toc');
if((sidebartoc!==null)&&(sidebartoc.length>0)){
let kopia=sidebartoc[0].cloneNode(true);
$(sidebartoc[0]).parent().each((i,rodzic)=>{
rodzic.replaceChild(kopia,sidebartoc[0]);
});
}
}
}
CzyszczenieZZdarzeńTableOfContent();
let tab_promise2=new StronicowyParser.GenerowaneObiekty();
async function CzyStronaSubst(element,aktualna_strona,tab_promise2){
if(tab_promise2){tab_promise2.wygeneruj(1);}
await StronicowyParser.muteks.zablokuj();
StronicowyParser.api.ZadaniaApi({
action: 'expandtemplates',
format: 'json',
prop: 'wikitext',
title: aktualna_strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
smaxage: 600,
maxage: 600,
}).then(async function(data){
await StronicowyParser.muteks.zablokuj();
let wikikod=data.expandtemplates.wikitext;
if((wikikod!==null)&&(aktualna_strona!==null)){
if(tab_promise2){tab_promise2.wygeneruj(1);}
StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {});
}
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
}
let aktualna_strona=StronicowyParser.pageinfo.fullname;
if(tab_promise2){tab_promise2.wygeneruj(2);}
CzyStronaSubst(document,aktualna_strona,tab_promise2);
StronicowyParser.muteks.odblokuj();
if(tab_promise2){tab_promise2.zwolnij();}
function Progress(){
var c=document.createElement('div');
c.setAttribute("id","pasek_postępu")
c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:6px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;');
var label=document.createElement('label');
label.setAttribute('for','file1');
label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>";
label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;');
var span=document.createElement('span');
span.innerHTML="0%";
var span_0=label.appendChild(span);
c.appendChild(label);
var progress=document.createElement('progress');
progress.innerHTML="0%";
progress.setAttribute('id','file1')
progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;');
progress.setAttribute("max","100");
progress.setAttribute('value',"0");
var element_body_progress_1=c.appendChild(progress);
var label=document.createElement('label');
label.setAttribute('for','file2');
label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>";
label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;');
var span=document.createElement('span');
span.innerHTML="0%";
var span_1=label.appendChild(span);
c.appendChild(label);
var progress=document.createElement('progress');
progress.innerHTML="0%";
progress.setAttribute('id','file2')
progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;')
progress.setAttribute("max","100");
progress.setAttribute('value',"0");
var element_body_progress_2=c.appendChild(progress);
function PozycjaXY(){
c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px";
c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px";
}
document.querySelector('body').appendChild(c);
PozycjaXY();
$(window).on('scroll',PozycjaXY);
$(window).on('resize',PozycjaXY);
return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1);
}
var arr;
function __FUNKCJA(arr){
arr[0].setAttribute("value","0");
arr[1].setAttribute("value","0");
let dodatnie_0=tab_promise2.lengthPlus;
let ujemne_0=tab_promise2.lengthMinus;
console.log(dodatnie_0,ujemne_0,"Ukończone wątki.",tab_promise2.length)
let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus;
let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus;
let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0);
let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0);
arr[0].setAttribute("value",postep_0);
arr[1].setAttribute("value",postep_1);
arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%";
arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%";
}
StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{});
};
StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {});
});