Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.39.0-wmf.23 first-letter Media Specjalna Dyskusja Wikipedysta Dyskusja wikipedysty Wikibooks Dyskusja Wikibooks Plik Dyskusja pliku MediaWiki Dyskusja MediaWiki Szablon Dyskusja szablonu Pomoc Dyskusja pomocy Kategoria Dyskusja kategorii Wikijunior Dyskusja Wikijuniora TimedText TimedText talk Moduł Dyskusja modułu Gadżet Dyskusja gadżetu Definicja gadżetu Dyskusja definicji gadżetu Szablon:Commonsilustrkat 10 32569 437630 244325 2022-08-13T08:13:53Z Persino 2851 wikitext text/x-wiki {{Projekt siostrzany | projekt = commons | link = commons:Category:{{{1|{{PAGENAME}}}}} | tekst = Zobacz więcej ilustracji na&nbsp;Wikimedia&nbsp;Commons: <br>'''[{{fullurl:commons:Category:{{{1|{{PAGENAME}}}}}|uselang=pl}} {{{2|{{PAGENAME}}}}}]''' }}<noinclude>[[Kategoria:Szablony podręczników]]</noinclude> sfihqciwtytigoxcgsrk6u06ac9nm0v 437634 437630 2022-08-13T08:39:01Z Persino 2851 Persino przeniósł stronę [[Szablon:Siewki roślin flory Polski/Commons]] do [[Szablon:Szablon:Commonsimg]] wikitext text/x-wiki {{Projekt siostrzany | projekt = commons | link = commons:Category:{{{1|{{PAGENAME}}}}} | tekst = Zobacz więcej ilustracji na&nbsp;Wikimedia&nbsp;Commons: <br>'''[{{fullurl:commons:Category:{{{1|{{PAGENAME}}}}}|uselang=pl}} {{{2|{{PAGENAME}}}}}]''' }}<noinclude>[[Kategoria:Szablony podręczników]]</noinclude> sfihqciwtytigoxcgsrk6u06ac9nm0v 437638 437634 2022-08-13T08:39:24Z Persino 2851 Persino przeniósł stronę [[Szablon:Szablon:Commonsimg]] na [[Szablon:Commonsimg]], bez pozostawienia przekierowania pod starym tytułem wikitext text/x-wiki {{Projekt siostrzany | projekt = commons | link = commons:Category:{{{1|{{PAGENAME}}}}} | tekst = Zobacz więcej ilustracji na&nbsp;Wikimedia&nbsp;Commons: <br>'''[{{fullurl:commons:Category:{{{1|{{PAGENAME}}}}}|uselang=pl}} {{{2|{{PAGENAME}}}}}]''' }}<noinclude>[[Kategoria:Szablony podręczników]]</noinclude> sfihqciwtytigoxcgsrk6u06ac9nm0v 437641 437638 2022-08-13T08:46:27Z Persino 2851 Persino przeniósł stronę [[Szablon:Commonsimg]] na [[Szablon:Commonsimgcat]], bez pozostawienia przekierowania pod starym tytułem wikitext text/x-wiki {{Projekt siostrzany | projekt = commons | link = commons:Category:{{{1|{{PAGENAME}}}}} | tekst = Zobacz więcej ilustracji na&nbsp;Wikimedia&nbsp;Commons: <br>'''[{{fullurl:commons:Category:{{{1|{{PAGENAME}}}}}|uselang=pl}} {{{2|{{PAGENAME}}}}}]''' }}<noinclude>[[Kategoria:Szablony podręczników]]</noinclude> sfihqciwtytigoxcgsrk6u06ac9nm0v 437648 437641 2022-08-13T09:08:29Z Persino 2851 wikitext text/x-wiki {{Projekt siostrzany | projekt = commons | link = commons:Category:{{{1|{{PAGENAME}}}}} | tekst = Zobacz więcej ilustracji na&nbsp;Wikimedia&nbsp;Commons: <br>'''[{{fullurl:commons:Category:{{{1|{{PAGENAME}}}}}|uselang=pl}} {{{2|{{PAGENAME}}}}}]''' }}<noinclude>{{Dokumentacja}}</noinclude> nueki5le7mz1gg77972163jzllfwy57 Siewki roślin flory Polski/Brzozowate 0 32620 437574 427758 2022-08-12T13:17:45Z Kenraiz 3283 /* Olsza szara (Alnus incana (L.) Moench) */ + foto wikitext text/x-wiki {{NawigacjaG|Siewki roślin flory Polski|[[Siewki roślin flory Polski/Orzechowate|Orzechowate]]|[[Siewki roślin flory Polski/Dyniowate|Dyniowate]]}} <center><big><big>Brzozowate (''Betulaceae'')</big></big></center> <center>Zobacz też: [[Siewki roślin uprawianych w Polsce/Brzozowate|brzozowate uprawiane]]</center> {{TOC limit|2}} === Olsza (''Alnus'') === ==== [[w:Olsza zielona|Olsza zielona]] (''Alnus alnobetula'' (Ehrh.) K.Koch) ==== <!-- opis za źródłem: Król 56-57 --> <gallery> </gallery> ==== [[w:Olsza czarna|Olsza czarna]] (''Alnus glutinosa'' (L.) Gaertn.) ==== <!-- opis za źródłem: Król 57-58 --> <gallery> File:Alnus glutinosa kz27.jpg|Siewka olszy czarnej. File:Alnus glutinosa kz02.jpg|Siewka olszy czarnej. File:Alnus glutinosa kz09.jpg|Siewka olszy czarnej. File:Alnus glutinosa kz17.jpg|Siewka olszy czarnej. File:Alnus glutinosa kz01.jpg|Siewka olszy czarnej. File:Erle im Tümpel 3701 (cropped).jpg|Siewka olszy czarnej. File:Alnus glutinosa20140704 277.jpg|Starsza siewka olszy czarnej. </gallery> {{Siewki roślin flory Polski/Commons|Alnus glutinosa (seedlings)|siewki olszy czarnej}} ==== [[w:Olsza szara|Olsza szara]] (''Alnus incana'' (L.) Moench) ==== <gallery> File:Alnus incana kz03.jpg|Siewka olszy szarej. File:Alnus incana kz04.jpg|Siewka olszy szarej. </gallery> {{Siewki roślin flory Polski/Commons|Alnus incana (seedlings)|siewki olszy szarej}} ==== [[w:Olsza piłkowana|Olsza piłkowana]] (''Alnus serrulata'' (Aiton) Willd.) ==== <!-- opis za źródłem (u Króla brak) --> <gallery> </gallery> === Brzoza (''Betula'') === ==== [[w:Brzoza niska|Brzoza niska]] (''Betula humilis'' Schrank) ==== <!-- opis za źródłem (u Króla brak) --> <gallery> </gallery> ==== [[w:Brzoza karłowata|Brzoza karłowata]] (''Betula nana'' L.) ==== <!-- opis za źródłem (u Króla brak) --> <gallery> </gallery> ==== [[w:Brzoza brodawkowata|Brzoza brodawkowata]] (''Betula pendula'' Roth) ==== <!-- opis za źródłem: Król 55 --> <gallery> File:Betula pendula kz02.jpg|Siewka brzozy brodawkowatej. File:Betula pendula kz01.jpg|Siewka brzozy brodawkowatej. File:Betula pendula kz04.jpg|Siewka brzozy brodawkowatej. File:Betula pendula 2018-04-24 9248.jpg|Siewka brzozy brodawkowatej. File:Betula pendula kz03.jpg|Siewka roczna brzozy brodawkowatej. </gallery> {{Siewki roślin flory Polski/Commons|Betula pendula (seedlings)|siewki brzozy brodawkowatej}} ==== [[w:Brzoza omszona|Brzoza omszona]] (''Betula pubescens'' Ehrh.) ==== <!-- opis za źródłem: Król 55 --> <gallery> File:Betula pubescens kz09.jpg|Siewka brzozy omszonej. File:Betula pubescens kz10.jpg|Siewka brzozy omszonej. File:Betula pubescens kz11.jpg|Siewka brzozy omszonej. File:Betula pubescens kz01.jpg|Siewka brzozy omszonej. File:Betula pubescens kz04.jpg|Siewka brzozy omszonej. File:Betula pubescens kz03.jpg|Siewka brzozy omszonej. File:Betula pubescens kz08.jpg|Siewki brzozy omszonej. </gallery> {{Siewki roślin flory Polski/Commons|Betula pubescens (seedlings)|siewki brzozy omszonej}} === Grab (''Carpinus'') === ==== [[w:Grab pospolity|Grab pospolity]] (''Carpinus betulus'' L.) ==== <!-- opis za źródłem: Król 59-60 --> <gallery> File:Carpinus betulus 2018-04-27 9429.jpg|Siewka grabu pospolitego. Widoczne liścienie i rozwijający się pierwszy liść właściwy. File:Hainbuche Keimling Wurzel.jpg|Siewka grabu pospolitego. Widoczne liścienie i pierwszy liść właściwy. File:Carpinus betulus kz03.jpg|Siewka grabu pospolitego. Widoczne liścienie i pierwszy liść właściwy. File:Carpinus betulus kz02.jpg|Siewka grabu pospolitego. Widoczne liścienie i pierwsze liście właściwe. File:Carpinus betulus 2020-05-21 8829.jpg|Siewka grabu pospolitego. File:Carpinus betulus seedling 03 (cropped).jpg|Siewka grabu pospolitego. File:Carpinus betulus kz05.jpg|Siewka grabu pospolitego. File:Carpinus betulus 2018-04-17 8898.jpg|Siewka grabu pospolitego. </gallery> {{Siewki roślin flory Polski/Commons|Carpinus betulus (seedlings)|siewki grabu pospolitego}} === Leszczyna (''Corylus'') === ==== [[w:Leszczyna pospolita|Leszczyna pospolita]] (''Corylus avellana'' L.) ==== <!-- opis za źródłem: Król 60 --> <gallery> File:Junge treibende Haselnuss IMG 1738.JPG|Siewka leszczyny pospolitej File:Corylus avellana kz07.jpg|Rozwijająca się siewka leszczyny pospolitej File:Corylus avellana kz10.jpg|Siewka leszczyny pospolitej File:Corylus avellana kz01.jpg|Siewka leszczyny pospolitej File:Corylus avellana kz2.JPG|Siewka leszczyny pospolitej </gallery> {{Siewki roślin flory Polski/Commons|Corylus avellana (seedlings)|siewki leszczyny pospolitej}} {{Nawigacja|Siewki roślin flory Polski|[[Siewki roślin flory Polski/Orzechowate|Orzechowate]]|[[Siewki roślin flory Polski/Dyniowate|Dyniowate]]}} gd5vejcjoxc4y1u1464qahqj6kkjud8 Szablon:Siewki roślin uprawianych w Polsce/Commons 10 32694 437647 244509 2022-08-13T09:04:23Z Persino 2851 Zmiana elementu docelowego przekierowania z [[Szablon:Siewki roślin flory Polski/Commons]] na [[Szablon:Commonsimgcat]] wikitext text/x-wiki #REDIRECT [[Szablon:Commonsimgcat]] gdtw8m5sqe19r5240lpvfqjlhgn4oco Szablon:Projekt siostrzany 10 33752 437629 349199 2022-08-13T08:10:44Z Persino 2851 wikitext text/x-wiki <templatestyles src="Moduł:Infobox/styles.css" /> {| class="infobox noprint plainlinks" cellpadding="4" | style="vertical-align:middle; text-align:center; width:30px;" | {{#switch:{{lc:{{{projekt<includeonly>|{{{1}}}</includeonly>}}}}} |commons = {{ikona|commons|28|link={{{link|}}}|alt={{{alt|}}}}} |meta|metawiki|m = {{ikona|meta-wiki|28|link={{{link|}}}|alt={{{alt|}}}}} |wikibooks|wbk|wb|b = {{ikona|wikibooks|28|link={{{link|}}}|alt={{{alt|}}}}} |wikidane|wikidane|data = {{ikona|wikidane|28|link={{{link|}}}|alt={{{alt|}}}}} |wikiźródła|źródła|ws|s = {{ikona|wikiźródła|28|link={{{link|}}}|alt={{{alt|}}}}} |wikipedia|wp|w = {{ikona|wikipedia|28|link={{{link|}}}|alt={{{alt|}}}}} |wikicytaty|cytaty|wq|q = {{ikona|wikicytaty|28|link={{{link|}}}|alt={{{alt|}}}}} |wiktionary|wikisłownik|d = {{ikona|wikisłownik|28|link={{{link|}}}|alt={{{alt|}}}}} |wikinews|news|n = {{ikona|wikinews|28|link={{{link|}}}|alt={{{alt|}}}}} |wikispecies|species = {{ikona|wikispecies|28|link={{{link|}}}|alt={{{alt|}}}}} |wikiversity|wvy|v = {{ikona|wikiversity|28|link={{{link|}}}|alt={{{alt|}}}}} |wikipodróże|podróże|voy = {{ikona|wikipodróże|28|link={{{link|}}}|alt={{{alt|}}}}} |mediawiki|mw = {{ikona|mediawiki|28|link={{{link|}}}|alt={{{alt|}}}}} |outreachwiki|outreach = {{ikona|outreach|28|link={{{link|}}}|alt={{{alt|}}}}} |inkubator = {{ikona|inkubator|28|link={{{link|}}}|alt={{{alt|}}}}} |chapter|wmpl|wmf = {{ikona|wikimedia|28|link={{{link|}}}|alt={{{alt|}}}}} |#default = {{ikona|wikimedia|28|link={{{link|}}}|alt={{{alt|}}}}}}} | style="line-height:normal; vertical-align:middle; text-align:center;" | {{{tekst<includeonly>|{{{2}}}</includeonly>}}} |}<noinclude>{{Dokumentacja}}</noinclude> lfuf9b1j10wn2vs3e2msd5c7ijaw119 437631 437629 2022-08-13T08:22:44Z Persino 2851 wikitext text/x-wiki <templatestyles src="Moduł:Infobox/styles.css" /><!-- -->{{Tabelka|klasa=infobox noprint plainlinks|opcje=cellpadding="4"|<!-- -->{{Komórka|styl=vertical-align:middle; text-align:center; width:30px;|{{#switch:{{lc:{{{projekt<includeonly>|{{{1}}}</includeonly>}}}}} |commons = {{ikona|commons|28|link={{{link|}}}|alt={{{alt|}}}}} |meta|metawiki|m = {{ikona|meta-wiki|28|link={{{link|}}}|alt={{{alt|}}}}} |wikibooks|wbk|wb|b = {{ikona|wikibooks|28|link={{{link|}}}|alt={{{alt|}}}}} |wikidane|wikidane|data = {{ikona|wikidane|28|link={{{link|}}}|alt={{{alt|}}}}} |wikiźródła|źródła|ws|s = {{ikona|wikiźródła|28|link={{{link|}}}|alt={{{alt|}}}}} |wikipedia|wp|w = {{ikona|wikipedia|28|link={{{link|}}}|alt={{{alt|}}}}} |wikicytaty|cytaty|wq|q = {{ikona|wikicytaty|28|link={{{link|}}}|alt={{{alt|}}}}} |wiktionary|wikisłownik|d = {{ikona|wikisłownik|28|link={{{link|}}}|alt={{{alt|}}}}} |wikinews|news|n = {{ikona|wikinews|28|link={{{link|}}}|alt={{{alt|}}}}} |wikispecies|species = {{ikona|wikispecies|28|link={{{link|}}}|alt={{{alt|}}}}} |wikiversity|wvy|v = {{ikona|wikiversity|28|link={{{link|}}}|alt={{{alt|}}}}} |wikipodróże|podróże|voy = {{ikona|wikipodróże|28|link={{{link|}}}|alt={{{alt|}}}}} |mediawiki|mw = {{ikona|mediawiki|28|link={{{link|}}}|alt={{{alt|}}}}} |outreachwiki|outreach = {{ikona|outreach|28|link={{{link|}}}|alt={{{alt|}}}}} |inkubator = {{ikona|inkubator|28|link={{{link|}}}|alt={{{alt|}}}}} |chapter|wmpl|wmf = {{ikona|wikimedia|28|link={{{link|}}}|alt={{{alt|}}}}} |#default = {{ikona|wikimedia|28|link={{{link|}}}|alt={{{alt|}}}}}}} }}<!-- -->{{Komórka|styl=line-height:normal; vertical-align:middle; text-align:center;| {{{tekst<includeonly>|{{{2}}}</includeonly>}}}}}<!-- -->}}<noinclude>{{Dokumentacja}}</noinclude> e8mqrvwlcdbqvcavcoaqi32gyi081pp Szablon:Szablony siostrzanych projektów 10 33754 437632 414156 2022-08-13T08:35:27Z Persino 2851 wikitext text/x-wiki {{Szablon nawigacyjny | nazwa = Szablony siostrzanych projektów | tytuł = [[w:Wikipedia:Szablony/Linki#Siostrzane projekty|Szablony projektów siostrzanych]] | zwijanie = rozwinięte | szerokość = 30% | margines = 5px 0 5px 5px | grafika = {{ikona|infoszablon|35}} | opis1 = {{ikona|MediaWiki|10}} MediaWiki | spis1 = * {{s|MediaWiki}} | opis2 = {{ikona|Wikipedia|10}} Wikipedia | spis2 = * {{s|Wikipedia}} * {{s|Wikipedia kat}} * {{s|Wikipedia2}} | opis3 = {{ikona|Commons|10}} Commons | spis3 = * {{s|Commons}} * {{s|Commons ilustracje}} * {{s|Commonsall}} * {{s|Commonscat}} * {{s|Wikiatlas}} | opis4 = {{ikona|wikicytaty|10}} Wikicytaty | spis4 = * {{s|Wikicytaty}} * {{s|Wikicytaty przysłowia}} | opis5 = {{ikona|inkubator|10}} Inkubator | spis5 = * {{s|Inkubator}} | opis6 = {{ikona|meta|10}} Meta-Wiki | spis6 = * {{s|Meta}} | opis7 = {{ikona|wikinews|10}} Wikinews | spis7 = * {{s|Wikinews}} * {{s|Wikinewscat}} * {{s|Wikinewsy}} * {{s|Portal Wikinews}} | opis8 = {{ikona|wikisłownik|10}} Wikisłownik | spis8 = * {{s|Wikisłownik}} * {{s|Wikisłownik-cat}} | opis9 = {{ikona|Wikimedia|10}} Wikimedia | spis9 = * {{s|Wikimedia}} * {{s|Multiwmpl}} | opis10 = {{ikona|Wikipodróże|10}} Wikipodróże | spis10 = * {{s|Wikipodróże}} | opis11 = {{ikona|Wikispecies|10}} Wikispecies | spis11 = * {{s|Wikispecies}} | opis12 = {{ikona|Wikiźródła|10}} Wikiźródła | spis12 = * {{s|Multisource}} * {{s|Wikiźródła}} * {{s|Wikiźródła autor}} * {{s|Wikiźródła kat}} * {{s|Wikiźródła kuch kat}} * {{s|Wikiźródła krótki}} * {{s|Wikisource-lang}} | dół = * {{s|Projekt siostrzany}} * {{s|Siostrzane-linia}} * {{s|Siostrzane projekty}} * {{s|Portal siostrzane}} | kategoria = Wikibooks }} bxir4e9qfavtxvbyryznmk490mv0ja3 437633 437632 2022-08-13T08:38:01Z Persino 2851 wikitext text/x-wiki {{Szablon nawigacyjny | nazwa = Szablony siostrzanych projektów | tytuł = [[w:Wikipedia:Szablony/Linki#Siostrzane projekty|Szablony projektów siostrzanych]] | zwijanie = rozwinięte | szerokość = 30% | margines = 5px 0 5px 5px | grafika = {{ikona|infoszablon|35}} | opis1 = {{ikona|MediaWiki|10}} MediaWiki | spis1 = * {{s|MediaWiki}} | opis2 = {{ikona|Wikipedia|10}} Wikipedia | spis2 = * {{s|Wikipedia}} * {{s|Wikipedia kat}} * {{s|Wikipedia2}} | opis3 = {{ikona|Commons|10}} Commons | spis3 = * {{s|Commons}} * {{s|Commonsimg}} * {{s|Commonsall}} * {{s|Commonscat}} * {{s|Wikiatlas}} | opis4 = {{ikona|wikicytaty|10}} Wikicytaty | spis4 = * {{s|Wikicytaty}} * {{s|Wikicytaty przysłowia}} | opis5 = {{ikona|inkubator|10}} Inkubator | spis5 = * {{s|Inkubator}} | opis6 = {{ikona|meta|10}} Meta-Wiki | spis6 = * {{s|Meta}} | opis7 = {{ikona|wikinews|10}} Wikinews | spis7 = * {{s|Wikinews}} * {{s|Wikinewscat}} * {{s|Wikinewsy}} * {{s|Portal Wikinews}} | opis8 = {{ikona|wikisłownik|10}} Wikisłownik | spis8 = * {{s|Wikisłownik}} * {{s|Wikisłownik-cat}} | opis9 = {{ikona|Wikimedia|10}} Wikimedia | spis9 = * {{s|Wikimedia}} * {{s|Multiwmpl}} | opis10 = {{ikona|Wikipodróże|10}} Wikipodróże | spis10 = * {{s|Wikipodróże}} | opis11 = {{ikona|Wikispecies|10}} Wikispecies | spis11 = * {{s|Wikispecies}} | opis12 = {{ikona|Wikiźródła|10}} Wikiźródła | spis12 = * {{s|Multisource}} * {{s|Wikiźródła}} * {{s|Wikiźródła autor}} * {{s|Wikiźródła kat}} * {{s|Wikiźródła kuch kat}} * {{s|Wikiźródła krótki}} * {{s|Wikisource-lang}} | dół = * {{s|Projekt siostrzany}} * {{s|Siostrzane-linia}} * {{s|Siostrzane projekty}} * {{s|Portal siostrzane}} | kategoria = Wikibooks }} koca9eqwr2a4m9sb7zwfr6vv3wb1z8k 437643 437633 2022-08-13T08:47:04Z Persino 2851 wikitext text/x-wiki {{Szablon nawigacyjny | nazwa = Szablony siostrzanych projektów | tytuł = [[w:Wikipedia:Szablony/Linki#Siostrzane projekty|Szablony projektów siostrzanych]] | zwijanie = rozwinięte | szerokość = 30% | margines = 5px 0 5px 5px | grafika = {{ikona|infoszablon|35}} | opis1 = {{ikona|MediaWiki|10}} MediaWiki | spis1 = * {{s|MediaWiki}} | opis2 = {{ikona|Wikipedia|10}} Wikipedia | spis2 = * {{s|Wikipedia}} * {{s|Wikipedia kat}} * {{s|Wikipedia2}} | opis3 = {{ikona|Commons|10}} Commons | spis3 = * {{s|Commons}} * {{s|Commonsimgcat}} * {{s|Commonsall}} * {{s|Commonscat}} * {{s|Wikiatlas}} | opis4 = {{ikona|wikicytaty|10}} Wikicytaty | spis4 = * {{s|Wikicytaty}} * {{s|Wikicytaty przysłowia}} | opis5 = {{ikona|inkubator|10}} Inkubator | spis5 = * {{s|Inkubator}} | opis6 = {{ikona|meta|10}} Meta-Wiki | spis6 = * {{s|Meta}} | opis7 = {{ikona|wikinews|10}} Wikinews | spis7 = * {{s|Wikinews}} * {{s|Wikinewscat}} * {{s|Wikinewsy}} * {{s|Portal Wikinews}} | opis8 = {{ikona|wikisłownik|10}} Wikisłownik | spis8 = * {{s|Wikisłownik}} * {{s|Wikisłownik-cat}} | opis9 = {{ikona|Wikimedia|10}} Wikimedia | spis9 = * {{s|Wikimedia}} * {{s|Multiwmpl}} | opis10 = {{ikona|Wikipodróże|10}} Wikipodróże | spis10 = * {{s|Wikipodróże}} | opis11 = {{ikona|Wikispecies|10}} Wikispecies | spis11 = * {{s|Wikispecies}} | opis12 = {{ikona|Wikiźródła|10}} Wikiźródła | spis12 = * {{s|Multisource}} * {{s|Wikiźródła}} * {{s|Wikiźródła autor}} * {{s|Wikiźródła kat}} * {{s|Wikiźródła kuch kat}} * {{s|Wikiźródła krótki}} * {{s|Wikisource-lang}} | dół = * {{s|Projekt siostrzany}} * {{s|Siostrzane-linia}} * {{s|Siostrzane projekty}} * {{s|Portal siostrzane}} | kategoria = Wikibooks }} pie8vry951j3j40xzc0l3wz2ni99d3i Szablon:Atlas flory Polski/Commons 10 33970 437646 268519 2022-08-13T08:55:46Z Persino 2851 Przekierowanie do [[Szablon:Commonsimgcat]] wikitext text/x-wiki #PATRZ [[Szablon:Commonsimgcat]] ciwzs6l14npyj0b2vpf64du88hx4cmb Wikipedysta:Persino/Gadget-StronicowyParser.js/NumerSubst.js 2 58332 437572 437569 2022-08-12T13:12:47Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$(parent).find('~ *').find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="p"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="a"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); console.log(href,zawartosc,"GABUS"); }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); neipgcqwvk3q643ufwt8a4zf9qw1ouo 437573 437572 2022-08-12T13:14:26Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$(parent).find('~ *').find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); console.log(href,zawartosc,"GABUS"); }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); hx932sjwge5shlu66jzs9nehnzmxshd 437575 437573 2022-08-12T13:18:05Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$(parent).find('~ *').find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 1ym0ykl3xjqa3uz24u0rkq65bqtv0jt 437576 437575 2022-08-12T13:19:08Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$(parent).find('~ *').find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); baw7rdw1hyuucqvzhrzfxu5ttrr8soq 437577 437576 2022-08-12T13:21:40Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$(parent).find('~ *').find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); buqmmtsbgwrn1nro0znhl5damji52n9 437578 437577 2022-08-12T13:26:04Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); rkjz8kc0jx14ku6kbjgs4ge9546vq56 437579 437578 2022-08-12T13:27:19Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 4crnaubo69eb7lystl0i6j9nd8qu1ya 437580 437579 2022-08-12T13:29:46Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); ojojp6yy7ej5nevrjpw0li3fpovui0z 437581 437580 2022-08-12T13:31:07Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 08177zrybhht362l47fz38qfltdx2ft 437582 437581 2022-08-12T13:34:26Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(parent).find("~ * .mw-headline, ~ p, ~ a, ~ * p, ~ * p"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); q3if7u3czjmbuyey69o1kbfgd8nx6d9 437583 437582 2022-08-12T13:36:12Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(parent).find("~ * .mw-headline, ~ p, ~ a, ~ * p, ~ * p"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); md56dikhrzq8a55gvlpm46tekmpah7y 437584 437583 2022-08-12T13:40:25Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(parent).find('~ *').find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 1dww8h1mx9o0wlt0yynbzjmnmmedg73 437585 437584 2022-08-12T13:43:24Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(parent).find('~ *, ~').find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); d927j25aarvzv54dlnk8k0mz7b239tq 437586 437585 2022-08-12T13:47:51Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); qua2yv9l9e15583kvs4qufzsnmtowu1 437587 437586 2022-08-12T13:49:58Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); console.log(href,"GABUS"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); sqot6w7rstymg6pgx2ybt9p2x1ymij5 437588 437587 2022-08-12T13:51:32Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ console.log(tag,"GABUS") zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); console.log(href,"GABUS"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); g8ocnlr179tgar9x25qwiqmcpl3vdr1 437589 437588 2022-08-12T13:53:36Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; console.log(element); if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ console.log(tag,"GABUS") zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); console.log(href,"GABUS"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); g9ktxd1u7ortzmpeyq2mf2oiriizme4 437590 437589 2022-08-12T13:56:16Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; console.log(element); if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); console.log(tag,"GABUS") if(tag=="P"){ zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ console.log(tag,"GABUS") zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); console.log(href,"GABUS"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); iykr1c9as1rhr0ty0zk9sf8qgdhhia4 437591 437590 2022-08-12T14:00:55Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; console.log(element); if($(element).hasClass('mw-headline')){break;} let tag=element.tagName.toUpperCase(); console.log(tag,"GABUS") if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ console.log(tag,"GABUS") //let zawartosc=element.innerHTML; //let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); //if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ // href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); // console.log(href,"GABUS"); // if(!/^[^\/]*$/g.test(href)){ // let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); // } //} }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); enprtr59lhpuuh9bjuk9m1msbvcbz0u 437592 437591 2022-08-12T14:02:56Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; console.log(element); //if($(element).hasClass('mw-headline')){break;} //let tag=element.tagName.toUpperCase(); //console.log(tag,"GABUS") //if(tag=="P"){ // let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); // console.log(zawartosc,"GABUS",element) //}else if(tag=="A"){ // console.log(tag,"GABUS") //let zawartosc=element.innerHTML; //let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); //if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ // href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); // console.log(href,"GABUS"); // if(!/^[^\/]*$/g.test(href)){ // let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); // } //} //}else{ // console.log("Błąd wewnętrzny skryptu!") // return; //} } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 3jae8gdx1entz4dtdez2tf9w8bzh13m 437593 437592 2022-08-12T14:06:34Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ console.log(id_numerowanie,"GABUS") let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); console.log(dzieci,"GABUS") for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; console.log(element); //if($(element).hasClass('mw-headline')){break;} //let tag=element.tagName.toUpperCase(); //console.log(tag,"GABUS") //if(tag=="P"){ // let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); // console.log(zawartosc,"GABUS",element) //}else if(tag=="A"){ // console.log(tag,"GABUS") //let zawartosc=element.innerHTML; //let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); //if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ // href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); // console.log(href,"GABUS"); // if(!/^[^\/]*$/g.test(href)){ // let artykul=href.replace(/^[^\/]*\//g,""); //console.log(zawartosc,artykul,"GABUS",element); // } //} //}else{ // console.log("Błąd wewnętrzny skryptu!") // return; //} } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); efma4baviw29d9g7ssnptkkztatgpan 437594 437593 2022-08-12T14:08:51Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){continue;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS",element) }else if(tag=="A"){ console.log(tag,"GABUS") let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); console.log(href,"GABUS"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); //console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 41j1r7kzqdatg3boxelxhpwrbx4qzyh 437595 437594 2022-08-12T14:10:31Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){continue;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS",element); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); kk38mpg92unbf3pb86o9ajqz9n6sw7a 437596 437595 2022-08-12T14:12:08Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; for(let i=0;i<headline.length;++i){ let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ continue; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ continue; } }else{ continue; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){continue;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); qdrhm86ycijurma58fr6wmonujzfna1 437597 437596 2022-08-12T14:24:29Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } for(let i=0;i<headline.length;++i){ Hedline(headline[i]); } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){continue;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 9aai8k9pv1q3vwfdvonbjojrsybg3jo 437598 437597 2022-08-12T14:25:24Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } for(let i=0;i<headline.length;++i){ Headline(headline[i]); } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){continue;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); lkldpgwqjyssdu7vkdcy68j0d48fsx4 437599 437598 2022-08-12T14:28:00Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){continue;} let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); pitjeigbgr1a0kc3ho5720gqizaxa7u 437600 437599 2022-08-12T14:30:34Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){ Headline(i,element); ++i; } let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); l253d4v22lh28n43976t8glwl3ct2wu 437601 437600 2022-08-12T14:32:03Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){ Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,""); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,""); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); ed7slapn0gpe74spvaijg3h0gmeey6p 437602 437601 2022-08-12T14:38:26Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; if($(element).hasClass('mw-headline')){ Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[%s_]*/g,"").replace(/[%s_]*$/g,"").replace(/[%s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[%s_]*/g,"").replace(/[%s_]*$/g,"").replace(/[%s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); su9mks6skwxkspugo8d7je7oyw622ej 437603 437602 2022-08-12T14:40:36Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[%s_]*/g,"").replace(/[%s_]*$/g,"").replace(/[%s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[%s_]*/g,"").replace(/[%s_]*$/g,"").replace(/[%s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[%s_]*/g,"").replace(/[%s_]*$/g,"").replace(/[%s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); klqaiwofeu10fu6gjbpcosikxsoefdz 437604 437603 2022-08-12T14:54:35Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); gz5fmzqddkzzplf7pu4naaedjrcgpcp 437605 437604 2022-08-12T15:10:02Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ let text_wezel=element.firstChild; if($(text_wezel).has('*').length==0){ let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); ejglovcjkehpiu15fbftzr0x8ji02ea 437606 437605 2022-08-12T15:13:06Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ let text_wezel=element.firstChild; console.log(text_wezel,"GABUSTYTAN"); if($(text_wezel).has('*').length==0){ let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); tqha635jsyal9lwvebdxinz0yrid3qq 437607 437606 2022-08-12T15:15:06Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ let text_wezel=element.firstChild; console.log(text_wezel,"GABUSTYTAN"); if($(text_wezel).has('*').length==0){ let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); siapfzu7v0ur358iu8kxkn8b0gex9cm 437608 437607 2022-08-12T15:16:19Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ let text_wezel=element.firstChild; if($(text_wezel).has('*').length==0){ let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); naiv110ypaemrrbikxnwwz9x097jomz 437609 437608 2022-08-12T15:19:13Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ let text_wezel=element.firstChild; if($(text_wezel).has('*').length==0){ let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 9kzoc6r5j60vc8jkdzmmstp9m09oxx2 437610 437609 2022-08-12T15:21:26Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ let text_wezel=element.firstChild; if($(text_wezel).has('a').length==0){ let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); t7tt3mbbdniwvrpqm2hjkbayuwf39gv 437611 437610 2022-08-12T15:26:06Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ let text_wezel=element.firstChild; if($(element).children('a').length==0){ let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); pflokwnrn9k5f2edhptt0bm66bn1tgo 437612 437611 2022-08-12T15:28:51Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"GABUS") }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 61u4psdzpthyazeka7scwrtay3z43i2 437613 437612 2022-08-12T15:38:38Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); hwn4drlcpd0wqoqnu0lnz3f1y96xhf6 437618 437613 2022-08-12T19:08:08Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } let czy_ma_numeracje=false; function CzyMaNumeracje(){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ if(((s!="")?true:false)){return true;} } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); b31jh7tgguls6kdwvp3hk0ddvy6yon6 437619 437618 2022-08-12T19:10:21Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } let czy_ma_numeracje=false; function CzyMaNumeracje(){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ if(((s!="")?true:false)){return true;} } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); //if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); n13z1sxvzemmb6snoptb14fiez0vl5c 437620 437619 2022-08-12T19:15:06Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } let czy_ma_numeracje=false; function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); //if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); rwwluzeulvh3k4tqaz0iusyo6tm60nq 437621 437620 2022-08-12T19:15:49Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); //if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); tolt6ybwqb9oglxp3qo7dpypmbomgv7 437622 437621 2022-08-12T19:17:53Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); i42k3xclsamhrevgs5f72acyoac2gd1 437623 437622 2022-08-12T19:19:33Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(true){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else if(json_wikikod){ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 59nkurs45ypbq2ubcs4np5v6gzce0eq 437624 437623 2022-08-12T19:21:33Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); qewbqd45jbe39o0c7kx6enkyqwu9j10 437625 437624 2022-08-12T19:24:05Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if(true||(!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 5eopvict81xzamxjrgcnf6ixu5fb1v7 437626 437625 2022-08-12T19:25:51Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if(true||(!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(true||!json_wikikod){ for(let i=0;i<headline.length;++i){ Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 4ssqqmv55wob3vxxwwsa34roomgebnm 437627 437626 2022-08-12T19:27:51Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href)){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 134x56grq9tyxpqbn349eap1hktz4et 437628 437627 2022-08-12T20:38:28Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 08hdv33tvl4rfvdd5u1lkn1270ywvv5 437653 437628 2022-08-13T10:13:04Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').has(':not(.tocnumber), :not(.toctext)').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); fb95kdzqjez8c1axds1o1ps1l7bdv6w 437654 437653 2022-08-13T10:14:53Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a')/*.has(':not(.tocnumber), :not(.toctext)')*/.length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); 5csf0hq9dcfuhesxpzzqdw5p21f2ei2 437655 437654 2022-08-13T10:16:46Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } }else if(tag=="LI"){ if($(element).children('a').has(':not(.tocnumber), :not(.toctext)').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); aqycnlgeuoyx1xo1ymqoquepccu8jnd 437656 437655 2022-08-13T10:20:13Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ if($(element).children('a').length==0){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") } }else if(tag=="A"){ if($(element).children('a > .tocnumer, a > .toctect').length==0){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } } }else if(tag=="LI"){ if($(element).children('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); m8ar5qbli51548lz7124mofdkt4kcpr 437657 437656 2022-08-13T10:27:15Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") }else if(tag=="A"){ if($(element).children('.tocnumber, .toctext').length==0){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } } }else if(tag=="LI"){ if($(element).children().not('ul, ol').find('a').length==0){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); aazhwnfog3hcqtwmjffdkmkr67d6yqs 437658 437657 2022-08-13T10:30:41Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") }else if(tag=="A"){ if($(element).children('.tocnumber, .toctext').length==0){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } } }else if(tag=="LI"){ console.log($(element).children(),$(element).children().not('ul'),$(element).children().not('ul').not('ol'),$(element).children().not('ul').not('ol').find('a'),"LLGABUS"); if(true){ let text_wezel=element.firstChild; let zawartosc=text_wezel.textContent.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); pbeoz3ag6ks54bxpz6uwcg57mql7d2n 437659 437658 2022-08-13T10:51:26Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") }else if(tag=="A"){ if($(element).children('.tocnumber, .toctext').length==0){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } } }else if(tag=="LI"){ let kopia=element.cloneNode(true); $(kopia).children('ul, ol').remove(); if($(kopia).find('a').length==0){ let zawartosc=kopia.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); jfluazmurxyhbrk4qwef0xx9sbe3x0h Wikipedysta:Persino/Gadget-StronicowyParser.js/Kategorie.js 2 58408 437617 436792 2022-08-12T17:54:26Z Persino 2851 javascript text/javascript StronicowyParser.Kategorie=function(){ let zmienna_this=this; zmienna_this.StworzTabliceKategoriiZCatLinks=async function(){ let tabcat=new Array(); let catlinks=document.querySelector("#bodyContent > #catlinks.catlinks:not(.catlinks-allhidden)"); if(catlinks){ let a=catlinks.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ let re_category_1=new RegExp("^\\/wiki\\/\\s*(.*)$","g"); let re_category_2=new RegExp("^\\/w\\/index\\.php\\?\\s*title\\s*=\\s*([^&]*).*$","g"); for(let i=0;i<a.length;++i){ let href=a[i].getAttribute('href'); href=StronicowyParser.kodowanie.DecodeHtml(href,true); let czy_href_1=re_category_1.test(href); let czy_href_2=re_category_2.test(href); if(czy_href_1){ href=StronicowyParser.kodowanie.DecodeWiki(href).replace(re_category_1,"$1"); }else if(czy_href_2){ href=StronicowyParser.kodowanie.DecodeWiki(href).replace(re_category_2,"$1"); } if((czy_href_1)||(czy_href_2)){ if(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(href)){ href=href.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,""); tabcat[href]=true; } } } } } return tabcat; } zmienna_this.StworzTabliceKategoriiStrony=async function(strona){ let tab=new Array(); await StronicowyParser.api.ZadaniaApi({ action: 'query', format: 'json', prop: 'categories', titles: strona }).then(function(data){ var pages = data.query.pages; for(let p in pages){ pages[ p ].categories.forEach(function(cat){ tab[cat.title.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,"")]=true; }); } }).catch(()=>{}); return tab; }; zmienna_this.StworzTabliceKategoriiIKluczyZDanychWikikodu=async function(data){ let categories=data.parse.categories; let tab_kategoria=new Array(); for(let i=0;i<categories.length;++i){ let kat=StronicowyParser.kodowanie.DecodeWiki(categories[i]["*"]); let sortkey=categories[i]["sortkey"]; let tak=true; for(let j=0;j<tab_kategoria.length;++j){ if(tab_kategoria[j]==kat){ tak=false; break; } } if(tak){ tab_kategoria[kat]=sortkey||true; } } return tab_kategoria; } let muteks_cookie=new StronicowyParser.Muteks(); zmienna_this.StworzCookieDlaKategoriiStrony=async function(data,klucz){ await muteks_cookie.zablokuj(); klucz=klucz||"CzłonkowieKategorii:"; let tabcat=await zmienna_this.StworzTabliceKategoriiIKluczyZDanychWikikodu(data); let catlinks=await zmienna_this.StworzTabliceKategoriiZCatLinks(); let tab_kat=new Array(); let fullname=StronicowyParser.kodowanie.DecodeWiki(StronicowyParser.pageinfo.fullname); for(let p in tabcat){ let m="Kategoria:"+p; tab_kat[tab_kat.length]=m; let strona_do_kat=mw.cookie.get(m,klucz); let tab_strona_do_kat=((strona_do_kat)?(strona_do_kat.split("||")):(new Array())); let tak=true; for(let i=0;i<tab_strona_do_kat.length;++i){ if(tab_strona_do_kat[i].match(/^[^|]*/g).toString()==fullname){ tak=false; break; } } if(tak){ let key=tabcat[p]; tab_strona_do_kat[tab_strona_do_kat.length]=fullname+((typeof key == "string")?((key!="")?("|"+key):""):""); let wartosc=tab_strona_do_kat.join('||'); mw.cookie.set(m,wartosc,{prefix: klucz}); } } for(let p in catlinks){tab_kat.push("Kategoria:"+p);}; let dane=mw.cookie.get(fullname,"CzłonkowieStron"); let tab_dane=((dane)?(dane.split('|')):(new Array())); for(let i=0;i<tab_dane.length;++i){ let kategoria=tab_dane[i]; let kategoria_bez_prefiksu=kategoria.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,""); let tak=((!tabcat[kategoria_bez_prefiksu])&&(!catlinks[kategoria_bez_prefiksu])); if(tak){ let tab_strona_do_kat=TworzTabliceCzasteczekKlucza(kategoria,klucz); if(tab_strona_do_kat!==null){ for(let j=0;j<tab_strona_do_kat.length;){ strona=tab_strona_do_kat[j]; if(strona[0]==fullname){ tab_strona_do_kat.splice(j,1); }else{ ++j; } } let str=""; for(let k=0;k<tab_strona_do_kat.length;++k){ str=((str!="")?("||"):"")+tab_strona_do_kat[k][0]+(((!tab_strona_do_kat[k][1])||(tab_strona_do_kat[k][1]!=""))?("|"+tab_strona_do_kat[k][1]):""); } mw.cookie.set(kategoria,str,{prefix: klucz}); } } } mw.cookie.set(fullname,tab_kat.join('|'),{prefix:"CzłonkowieStron"}); mw.cookie.set("Kategoria:Szablony z niejawnie błędnymi parametrami","Kategoria:Szablony - błędy szablonów||Kategoria:Kategorie||Kategoria:Kategorie dla kategorii|Błędy p||Plik:Burza_mozgu.png||Plik:C.pdf|Ag||Plik:Zanurkuj w Pythonie.pdf|Ah",{prefix:"CzłonkowieKategorii:"}); mw.cookie.set("Kategoria:Szablon kategoria - nieistniejąca kategoria","Wikipedysta:Persino/brudnopis1||Wikipedysta:Persino/brudnopis||Kategoria:Szablony - błędy szablonów||Kategoria:Kategorie||Plik:Burza_mozgu.png||Plik:C.pdf|Ag||Plik:Zanurkuj w Pythonie.pdf|Ah",{prefix:"CzłonkowieKategorii:"}); console.log(mw.cookie.get("Kategoria:Szablony z niejawnie błędnymi parametrami","CzłonkowieKategorii:"),"CCCCC") muteks_cookie.odblokuj(); } let zdarzenia_muteks=new StronicowyParser.Muteks(); zmienna_this.DodajSwojeInneZdarzeniaDoObsługiiDrzewaKategorii=async function(){ async function InfoIleKategoria(){ await zdarzenia_muteks.zablokuj(); let id=this; let czas=0; function categoryTreeChildrenFun(resolve,reject){ let notice=$(id).parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').children('.CategoryTreeNotice'); if((notice!==null)&&(notice.length>0)){ let komunikat=notice[0].innerHTML; if((komunikat=="nic nie znaleziono")||(komunikat=="brak podkategorii")){ resolve("Dobrze"); return; } } let el=$(id).parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').children('.CategoryTreeSection'); if ((el!==null)&&(el.length>0)){resolve("Dobrze");}else{ if(czas>=30000){reject("Dobrze");}else{ setTimeout(() => {categoryTreeChildrenFun(resolve,reject);}, 300); czas+=300; } } } await new Promise((resolve, reject) => {categoryTreeChildrenFun(resolve,reject);}).then(()=>{}).catch(()=>{}); $('body.ns-14 #mw-content-text .mw-category-generated > #mw-subcategories .CategoryTreeToggle, body #mw-content-text .mw-parser-output .CategoryTreeTag .CategoryTreeToggle').each((h,element)=>{ $(element).off('click'); }); let item=$(id).parent().parent(); if((item!==null)&&(item.length>0)){ await zmienna_this.ZaaktualizujInformacjeOKategorachiWPrzestrzeniKategorii(item[0]); await zmienna_this.DodajKategorieDoDrzewaKategoriiWKategoriach(item[0]); } $(id).data("ct-loaded",true); await StronicowyParser.script.LoadScript('ext.categoryTree.styles'); await StronicowyParser.script.LoadScript('ext.categoryTree'); try{ await mw.loader.using( ['ext.categoryTree'], function (){ StronicowyParser.script.requireFile('ext.categoryTree')(); }); }catch(error){}; await $('body.ns-14 #mw-content-text .mw-category-generated > #mw-subcategories .CategoryTreeToggle, body #mw-content-text .mw-parser-output .CategoryTreeTag .CategoryTreeToggle').on('click', InfoIleKategoria); zdarzenia_muteks.odblokuj(); } $('body.ns-14 #mw-content-text .mw-category-generated > #mw-subcategories .CategoryTreeToggle, body #mw-content-text .mw-parser-output .CategoryTreeTag .CategoryTreeToggle').on('click', InfoIleKategoria); } async function IleJakichStron(klucz){ let params = { action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:Techniczne|LiczbaStronJakoPozycjeDanejKategorii|kategoria='+klucz+'|typ=subcats|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }; let ile_kategorii=0; await StronicowyParser.api.ZadaniaApi(params).then(function(data){ ile_kategorii=parseInt(data.expandtemplates.wikitext); }).catch((error) => {}); params = { action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:Techniczne|LiczbaStronJakoPozycjeDanejKategorii|kategoria='+klucz+'|typ=pages|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }; let ile_stron=0; await StronicowyParser.api.ZadaniaApi(params).then(function(data){ ile_stron=parseInt(data.expandtemplates.wikitext); }).catch((error) => {}); params = { action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:Techniczne|LiczbaStronJakoPozycjeDanejKategorii|kategoria='+klucz+'|typ=files|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }; let ile_plikow=0; await StronicowyParser.api.ZadaniaApi(params).then(function(data){ ile_plikow=parseInt(data.expandtemplates.wikitext); }).catch((error) => {}); return new Array(ile_kategorii,ile_stron,ile_plikow); } let tab_kategorie_strony_pliki={ 0:'subcat', 1:'page', 2:'file', } async function TablicaJakichWszystkichStron(klucz,czy_kategorie){ let params = { action: 'query', list: 'categorymembers', cmtitle: klucz, cmlimit: 5000, cmprop: 'title|sortkeyprefix', cmtype: tab_kategorie_strony_pliki[czy_kategorie], format: 'json', smaxage: 600, maxage: 600, }; let tab=new Array(); await StronicowyParser.api.ZadaniaApi(params).then(function(data){ var category = data.query.categorymembers; for(let cat in category){ let categorymembers=category[cat]; let title=categorymembers.title; let sortkey=categorymembers.sortkeyprefix; tab[cat]=new Array(title.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "),sortkey); } }).catch((error) => {}); return tab; } async function SortKey(href,tab_href,tab_strona_href_aktualnej_czasteczkowej_kategorii){ let nazwa_przestrzeni=undefined; let nazwa_strony=undefined; let re_kategoria=/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(href); let re_plik=/^[Pp][Ll][Ii][Kk]:/g.test(href); if((!re_kategoria)&&(!re_plik)){ const nazwa_przestrzeni_promise=StronicowyParser.nazwy.NAZWAPRZESTRZENI(href); const nazwa_strony_promise=StronicowyParser.nazwy.NAZWASTRONY(href); await Promise.all([nazwa_przestrzeni_promise,nazwa_strony_promise]).then((values) =>{ nazwa_przestrzeni=values[0]; nazwa_strony=values[1]; }).catch(()=>{}); }else if(re_kategoria){ nazwa_przestrzeni=""; nazwa_strony=href.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,""); }else if(re_plik){ nazwa_przestrzeni=""; nazwa_strony=href.replace(/^[Pp][Ll][Ii][Kk]:/g,""); } for(let i=0;i<tab_href.length;++i){ let title=tab_href[i][0]; let sortkey=tab_href[i][1]; if(title==href){ return ((sortkey)?sortkey:"")+nazwa_strony+nazwa_przestrzeni; } } for(let i=0;i<tab_strona_href_aktualnej_czasteczkowej_kategorii.length;++i){ let tab_title=tab_strona_href_aktualnej_czasteczkowej_kategorii[i]; let title=tab_title[0].replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); if(title==href){ return ((tab_title[1])?tab_title[1]:"")+nazwa_strony+nazwa_przestrzeni; } } return nazwa_strony+nazwa_przestrzeni; } function TworzTabliceCzasteczekKlucza(href,klucz){ let czasteczka_href=mw.cookie.get(href,(klucz||"CzłonkowieKategorii:")); if(!czasteczka_href){return null;} let tab_cookie=new Array(); let tab_strona_do_kat=czasteczka_href.split("||"); for(let i=0;i<tab_strona_do_kat.length;++i){ let rozdziel_cookie=tab_strona_do_kat[i].split("|"); tab_cookie.push(new Array(rozdziel_cookie[0],rozdziel_cookie[1])); } return tab_cookie; } function CzyTablicaCzasteczekPosiadaKategorie(tablica_stron){ for(let i=0;i<tablica_stron.length;++i){ let kategoria=tablica_stron[i][0]; if(/^[\s_]*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa][\s_]*:.+$/g.test(kategoria)){ return true; } } return false; } zmienna_this.DodajStronyDoAktualnejKategorii=async function(){ let mw_category_generated=document.querySelector('body.ns-14 #mw-content-text .mw-category-generated'); if(!mw_category_generated){return;} await muteks_cookie.zablokuj(); let tab_strona_do_kat=TworzTabliceCzasteczekKlucza(StronicowyParser.kodowanie.DecodeWiki(StronicowyParser.pageinfo.fullname)); muteks_cookie.odblokuj(); if(!tab_strona_do_kat){return;} let category=false;let page=false; if(tab_strona_do_kat.length==0){return;} let ile_podkategorii=0; let ile_stron=0; let ile_plikow=0; for(let i=0;i<tab_strona_do_kat.length;++i){ let pelna_nazwa_strony=tab_strona_do_kat[i][0].replace(/[\s_]+/g," "); if(pelna_nazwa_strony.match(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/)){ ++ile_podkategorii; }else if(pelna_nazwa_strony.match(/^[Pp][Ll][Ii][Kk]:/)){ ++ile_plikow; }else{ ++ile_stron; } } let mw_pages=mw_category_generated.querySelector('#mw-pages'); let mw_subcategories=mw_category_generated.querySelector('#mw-subcategories'); let media=mw_category_generated.querySelector('#mw-category-media'); function PageLubCategory(mw_,page){ if(!mw_){ let div=document.createElement('div'); div.setAttribute('id',((page)?'mw-pages':'mw-subcategories')); let h2=document.createElement('h2'); h2.innerHTML=((page)?('Strony w kategorii „'+StronicowyParser.pageinfo.pagename.replace(/[\s_]+/g," ")+'"'):"Podkategorie"); div.appendChild(h2); let p=document.createElement('p') p.innerHTML='Poniżej wyświetlono 0 spośród wszystkich 0 '+((page)?'stron':'podkategorii')+' w tej kategorii.'; div.appendChild(p); let con=document.createElement('div'); con.setAttribute('class','mw-content-ltr'); con.setAttribute('dir','ltr'); con.setAttribute('lang','pl') let mw_category=document.createElement('div'); mw_category.setAttribute('class','mw-category'); con.appendChild(mw_category); div.appendChild(con); if((mw_pages)&&(!page)){ return mw_category_generated.insertBefore(div,mw_pages); }else{ return mw_category_generated.appendChild(div); } } return mw_; } if(((!mw_pages)&&(!mw_subcategories)&&(!media))&&((ile_stron>0)||(ile_podkategorii>0)||(ile_plikow>0))){ mw_category_generated.innerHTML=""; } let tab_mw_=new Array(); let tab_mw_muteks=new Array(); let tab_co=new Array(); if(ile_stron>0){ if((!mw_pages)&&(ile_stron>0)){ mw_pages=PageLubCategory(mw_pages,true); } tab_mw_.push(mw_pages); tab_co.push(1); tab_mw_muteks.push(new StronicowyParser.Muteks()) } if(ile_podkategorii>0){ if((!mw_subcategories)&&(ile_podkategorii>0)){ mw_subcategories=PageLubCategory(mw_subcategories,false); } tab_mw_.push(mw_subcategories); tab_co.push(0); tab_mw_muteks.push(new StronicowyParser.Muteks()) } let tab_promise=new Array(); for(let d=0;d<tab_mw_.length;++d){ let strona_mutkat=new StronicowyParser.Muteks(); tab_promise.push(true); (async function(tab_mw_,tab_mw_muteks,d){ let elem=tab_mw_[d]; if(elem==mw_subcategories){ if(ile_podkategorii>0){ await StronicowyParser.script.LoadScript('ext.categoryTree.styles'); await StronicowyParser.script.LoadScript('ext.categoryTree'); }else{ return; } }else if(elem==mw_pages){ if(ile_stron>0){ }else{ return; } } let mutkat=tab_mw_muteks[d]; let mw_category=elem.querySelector('.mw-category'); if(mw_category){ let a_linki_istniejace; if(elem==mw_subcategories){ a_linki_istniejace=$(elem).find('.mw-category > .mw-category-group > ul > li > .CategoryTreeSection > .CategoryTreeItem > a'); }else if(elem==mw_pages){ a_linki_istniejace=$(elem).find('.mw-category > .mw-category-group > ul > li > a'); }else{ return; } let tab_a=new Array(); for(let i=0;i<a_linki_istniejace.length;++i){ let href=StronicowyParser.kodowanie.DecodeHtml(a_linki_istniejace[i].getAttribute('href'),true).replace(/\/wiki\//g,""); tab_a[href]=true; } let tab_href=await TablicaJakichWszystkichStron(StronicowyParser.kodowanie.DecodeWiki(StronicowyParser.pageinfo.fullname),tab_kategorie_strony_pliki[tab_co[d]]); let tab_klucz_href_poprzednie=undefined; if(a_linki_istniejace.length>0){ let href_pierwsze=StronicowyParser.kodowanie.DecodeHtml(a_linki_istniejace[0].getAttribute('href'),true).replace(/\/wiki\//g,""); for(let i=0;i<tab_href.length;++i){ let href_aktualne=tab_href[i][0]; if(href_pierwsze==href_aktualne){ break; }else{ let sortkey=tab_href[i][1]; tab_klucz_href_poprzednie=new Array(sortkey,href_aktualne); } } } let klucz_href_poprzednie=undefined; if(tab_klucz_href_poprzednie){ await (async function (){ let przestrzen;let nazwa_strony; const przestrzen_promise=StronicowyParser.nazwy.NAZWAPRZESTRZENI(tab_klucz_href_poprzednie[1]); const nazwa_strony_promise=StronicowyParser.nazwy.NAZWASTRONY(tab_klucz_href_poprzednie[1]); await Promise.all([przestrzen_promise, nazwa_strony_promise]).then((values) => { przestrzen=values[0]; nazwa_strony=values[1]; }).catch(()=>{}); klucz_href_poprzednie=tab_klucz_href_poprzednie[0]+nazwa_strony+przestrzen; })(); } for(let k=0;k<tab_strona_do_kat.length;++k){ tab_promise.push(true); (async function(tab_strona_do_kat,k){ let klucze=tab_strona_do_kat[k]; async function CzyWchodzic(){ await strona_mutkat.zablokuj(); if(tab_a[klucze[0]]){strona_mutkat.odblokuj();return false;} tab_a[klucze[0]]=true; strona_mutkat.odblokuj(); return true; } if(await CzyWchodzic()){ if( (((mw_pages)&&(elem==mw_pages))&&(!/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(klucze[0]))&&(!/^[Pp][Ll][Ii][Kk]:/g.test(klucze[0]))) ||((mw_subcategories)&&(elem==mw_subcategories)&&(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(klucze[0])))){ let przestrzen;let nazwa_strony;let pelna_nazwa_strony; if(elem==mw_pages){ const przestrzen_promise=StronicowyParser.nazwy.NAZWAPRZESTRZENI(klucze[0]); const nazwa_strony_promise=StronicowyParser.nazwy.NAZWASTRONY(klucze[0]); await Promise.all([przestrzen_promise, nazwa_strony_promise]).then((values) => { przestrzen=values[0]; nazwa_strony=values[1]; }).catch(()=>{}); }else{ przestrzen=""; nazwa_strony=klucze[0].replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,""); } let sortkey=((klucze[1])?(klucze[1]):"")+nazwa_strony+przestrzen; let czy_strony=(!klucze[0].match(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g)); let pierwsza_litera=sortkey.substring(0,1).toUpperCase(); async function DodawajKategorieDoStronyKategorii(klucz,pierwsza_litera){ let div=document.createElement('div'); div.setAttribute('class','CategoryTreeSection'); let div2=document.createElement('div'); div2.setAttribute('class','CategoryTreeItem'); let div3=document.createElement('div'); div3.setAttribute('class','CategoryTreeChildren'); div3.style.display='none'; let tab=await IleJakichStron(klucz); let ile_podkategorii=tab[0]; let ile_stron=tab[1]; let ile_plikow=tab[2]; let span; if(ile_podkategorii>0){ span=document.createElement('span'); span.setAttribute('class','CategoryTreeBullet') let span2=document.createElement('span'); span2.setAttribute('class','CategoryTreeToggle CategoryTreeToggleHandlerAttached'); span2.setAttribute('data-ct-title',nazwa_strony); span2.setAttribute('data-ct-state','collapsed'); span2.setAttribute('title','rozwiń'); span.appendChild(span2); let spacja=document.createTextNode(" "); span.appendChild(spacja); }else{ span=document.createElement('span'); span.setAttribute('class','CategoryTreeEmptyBullet'); } div2.appendChild(span); let a=document.createElement('a'); a.setAttribute('href',"/wiki/"+klucz); a.setAttribute('title', klucz.replace(/[\s_]+/g,"_")); a.innerHTML=nazwa_strony; div2.appendChild(a); let text=document.createTextNode(" "); div2.appendChild(text); let span_ile=document.createElement('span'); span_ile.setAttribute('title',"Zawiera "+ile_podkategorii+" podkategorie, "+ile_stron+" stron i "+ile_plikow+" plików") span_ile.setAttribute('dir','ltr'); if(parseInt(ile_podkategorii)+parseInt(ile_stron)+parseInt(ile_plikow)>0){ let tab=new Array(); if(ile_podkategorii>0){ tab[tab.length]=ile_podkategorii+" kat."; } if(ile_stron>0){ tab[tab.length]=ile_stron+" str."; } if(ile_plikow>0){ tab[tab.length]=ile_plikow+" pl."; } span_ile.innerHTML="("+tab.join(" ,")+")"; }else{ span_ile.innerHTML="(pusta)"; } div2.appendChild(span_ile); div.appendChild(div2); div.appendChild(div3); if(!pierwsza_litera){ let li=document.createElement('li'); li.appendChild(div) return li; } let divg=document.createElement('div'); divg.setAttribute('class','mw-category-group'); let h3=document.createElement('h3'); h3.innerHTML=pierwsza_litera; divg.appendChild(h3); let ul=document.createElement('ul'); let li=document.createElement('li'); li.appendChild(div); ul.appendChild(li); divg.appendChild(ul) return divg; } function DodawajStronyDoStronyKategorii(klucz,pierwsza_litera){ if(!pierwsza_litera){ let a=document.createElement('a'); a.setAttribute('href','/wiki/'+klucz); a.setAttribute('title',klucz.replace(/[\s_]+/g," ")); a.innerHTML=klucz.replace(/[\s_]+/g," "); let li=document.createElement('li'); li.appendChild(a); return li; } let div=document.createElement('div'); div.setAttribute('class','mw-category-group'); let h3=document.createElement('h3'); h3.innerHTML=pierwsza_litera; div.appendChild(h3); let ul=document.createElement('ul'); let li=document.createElement('li'); let a=document.createElement('a'); a.setAttribute('href','/wiki/'+klucz); a.setAttribute('title',klucz.replace(/[\s_]+/g," ")); a.innerHTML=klucz.replace(/[\s_]+/g," "); li.appendChild(a); ul.appendChild(li); div.appendChild(ul); return div; } await mutkat.zablokuj(); let tak=true; if(mw_category.innerHTML==""){ let div=czy_strony?DodawajStronyDoStronyKategorii(klucze[0],pierwsza_litera):await DodawajKategorieDoStronyKategorii(klucze[0],pierwsza_litera); mw_category.appendChild(div); tak=undefined; }else{ let mw_category_group=$(mw_category).children(); if((mw_category_group!==null)&&(mw_category_group.length>0)){ for(let i=0;i<mw_category_group.length;++i){ let element=mw_category_group[i]; let litera=element.querySelector('h3').innerHTML; if(i==0){ if(klucz_href_poprzednie){ let tab1=new Array(sortkey,klucz_href_poprzednie).sort(); let tab2=(new Array(sortkey,litera)).sort(); if((pierwsza_litera!=litera)&&(tab1[1]==sortkey)&&(tab2[0]==sortkey)){ let div=czy_strony?DodawajStronyDoStronyKategorii(klucze[0],pierwsza_litera):await DodawajKategorieDoStronyKategorii(klucze[0],pierwsza_litera); mw_category.insertBefore(div,element); tak=undefined; break; } }else{ let tab2=(new Array(sortkey,litera)).sort(); if(tab2[0]==sortkey){ let div=czy_strony?DodawajStronyDoStronyKategorii(klucze[0],pierwsza_litera):await DodawajKategorieDoStronyKategorii(klucze[0],pierwsza_litera); mw_category.insertBefore(div,element); tak=undefined; break; } } } if(litera!==pierwsza_litera){ let tab1=(new Array(sortkey,litera)).sort(); if(tab1[1]==sortkey){ let element2=mw_category_group[i+1]; if(element2){ let litera2=element2.querySelector('h3').innerHTML; let tab2=(new Array(sortkey,litera2)).sort(); if(tab2[0]==sortkey){ let div=czy_strony?DodawajStronyDoStronyKategorii(klucze[0],pierwsza_litera):await DodawajKategorieDoStronyKategorii(klucze[0],pierwsza_litera); mw_category.insertBefore(div,element2) tak=undefined; break; } }else{ let p_=elem.querySelector('p'); let ile_stron=parseInt(p_.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,"$2")); let ile_wszystkich_stron=parseInt(p_.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,"$4")); if((ile_stron==ile_wszystkich_stron)||((ile_stron<=ile_wszystkich_stron)&&(ile_stron<=200))){ let div=czy_strony?DodawajStronyDoStronyKategorii(klucze[0],pierwsza_litera):await DodawajKategorieDoStronyKategorii(klucze[0],pierwsza_litera); mw_category.appendChild(div); tak=undefined; break; } } } }else{ let ul=element.querySelector('ul'); let li=$(ul).children(); if((li!==null)&&(li.length>0)){ let poprzedni_klucz=undefined; for(let j=0;j<li.length;++j){ let a=li[j].querySelector('a'); let href=a.getAttribute('href'); href=StronicowyParser.kodowanie.DecodeHtml(href,true); href=href.replace(/^\/wiki\//g,""); async function Li(klucz){ let li=czy_strony?DodawajStronyDoStronyKategorii(klucz,null):await DodawajKategorieDoStronyKategorii(klucz,null); return li; } if(j==0){ group=true; if(klucz_href_poprzednie){ let klucz_href=await SortKey(href,tab_href,tab_strona_do_kat); let tab1=(new Array(sortkey,klucz_href)).sort(); let tab2=new Array(sortkey,klucz_href_poprzednie).sort(); if((tab1[0]==sortkey)&&(tab2[1]==sortkey)){ let li2=await Li(klucze[0]); ul.insertBefore(li2,li[0]); tak=undefined; break; } }else{ let klucz_href=await SortKey(href,tab_href,tab_strona_do_kat); let tab1=(new Array(sortkey,klucz_href)).sort(); if(tab1[0]==sortkey){ let li2=await Li(klucze[0]); ul.insertBefore(li2,li[0]); tak=undefined; break; } } } let klucz_href1=poprzedni_klucz||await SortKey(href,tab_href,tab_strona_do_kat); if(li[j+1]){ let a2=li[j+1].querySelector('a'); let href2=a2.getAttribute('href'); href2=StronicowyParser.kodowanie.DecodeHtml(href2,true); href2=href2.replace(/^\/wiki\//g,"") let klucz_href2=await SortKey(href2,tab_href,tab_strona_do_kat); poprzedni_klucz=klucz_href2; let tab1=(new Array(sortkey,klucz_href1)).sort();let tab2=(new Array(sortkey,klucz_href2)).sort(); if((tab1[1]==sortkey)&&(tab2[0]==sortkey)){ let li2=await Li(klucze[0]); ul.insertBefore(li2,li[j+1]); poprzedni_klucz=undefined; tak=undefined; break; }else{ poprzedni_klucz=klucz_href2; } }else{ let p=elem.querySelector('p'); let ile_stron=parseInt(p.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,"$2")); let ile_wszystkich_stron=parseInt(p.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,"$4")); if((ile_stron==ile_wszystkich_stron)||((ile_stron<=ile_wszystkich_stron)&&(ile_stron<=200))){ let li2=await Li(klucze[0]); ul.appendChild(li2); poprzedni_klucz=undefined; tak=undefined; break; } } } } } } } } let li_=$(elem).find(':not(.CategoryTreeChildren) li'); if(li_.length>6){ let mw_category=elem.querySelector('.mw-category'); if(!$(mw_category).hasClass('mw-category-columns')){ mw_category.classList.add('mw-category-columns'); } } if(!tak){ let p_=elem.querySelector('p'); function replace(s,s1,s2,s3,s4,s5){ return s1+li_.length+s3+(parseInt(s4)+1)+s5; } p_.innerHTML=p_.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,replace); } mutkat.odblokuj(); } } tab_promise.pop() })(tab_strona_do_kat,k); } } tab_promise.pop(); })(tab_mw_,tab_mw_muteks,d); } if(ile_plikow>0){ await StronicowyParser.script.LoadScript('mediawiki.page.gallery.styles'); await StronicowyParser.script.LoadScript('mmv'); if(!media){ let div=document.createElement('div'); div.setAttribute('id','mw-category-media'); let h2=document.createElement('h2'); h2.innerHTML='Pliki w kategorii „'+StronicowyParser.pageinfo.pagename.replace(/[\s_]+/g," ")+'”'; div.appendChild(h2); let p=document.createElement('p'); p.innerHTML='Poniżej wyświetlono 0 spośród wszystkich 0 plików w tej kategorii.'; div.appendChild(p); let ul=document.createElement('ul'); ul.setAttribute('class','gallery mw-gallery-traditional'); div.appendChild(ul); mw_category_generated.appendChild(div); } let tab_ul_kontener=$("body.ns-14 #mw-content-text .mw-category-generated > #mw-category-media > ul.gallery.mw-gallery-traditional"); if((tab_ul_kontener!==null)&&(tab_ul_kontener.length>0)){ let ul_kontener=tab_ul_kontener[0]; let li=$(ul_kontener).children('li.gallerybox'); async function Li(plik){ let li=document.createElement('li'); li.setAttribute('class','gallerybox') li.setAttribute('style','width: 155px'); let div=document.createElement('div'); div.setAttribute('style','width: 155px') div=li.appendChild(div); let div_thumb=document.createElement('div'); div_thumb.setAttribute('class','thumb') div_thumb.setAttribute('style','width: 150px;height:150px;'); div_thumb=div.appendChild(div_thumb); let div_nast=document.createElement('div'); div_nast=div_thumb.appendChild(div_nast); let url;let width;let urls;let height;let size;let pagecount;let thumburl; await StronicowyParser.api.ZadaniaApi({ action: 'query', format: 'json', prop: 'imageinfo', iiprop: 'url|size', iiurlwidth: 85, titles: plik, smaxage: 600, maxage: 600, }).then(function(data){ let pages=data.query.pages; for(let p in pages){ let imageinfo=pages[p].imageinfo[0]; url=((imageinfo.thumburl)?(imageinfo.thumburl.replace(/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g,"//")):(imageinfo.url.replace(/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g,"//"))); let urls2=imageinfo.responsiveUrls; let i=0; urls=new Array(); for(let p in urls2){ urls[i]=urls2[p].replace(/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g,"//")+" "+p+"x"; ++i; } width=imageinfo.width; height=imageinfo.height; size=imageinfo.size; pagecount=imageinfo.pagecount; break; } }).catch(()=>{}); let a=document.createElement('a'); a.setAttribute('href',"/wiki/"+plik.replace(/[\s_]+/g,"_")); a.setAttribute('class','image'); let img=document.createElement('img'); img.setAttribute('width','120'); img.setAttribute('height','114'); img.setAttribute('alt',plik); if(urls.length>0){ img.setAttribute('srcset',urls.join(" ")); } img.setAttribute('src',url); img.setAttribute('decoding','async'); img.setAttribute('data-file-width',width) img.setAttribute('data-file-height',height) if(width>height){ let new_height=parseInt((height/width)*120); img.setAttribute('width',120); img.setAttribute('height',new_height); div_nast.setAttribute('style','margin:'+(parseInt((150-new_height)/2))+'px auto') }else{ let new_width=parseInt((width/height)*120); img.setAttribute('width',new_width); img.setAttribute('height',120); div_nast.setAttribute('style','margin:'+(parseInt((150-120)/2))+'px auto') } a.appendChild(img); div_nast.appendChild(a); let div_opis=document.createElement('div'); div_opis.setAttribute('class','gallerytext'); div_opis=div.appendChild(div_opis); a=document.createElement('a') a.setAttribute('href','/wiki/'+plik); a.setAttribute('class','galleryfilename galleryfilename-truncate'); a.setAttribute('title',plik.replace(/[\s_]+/g," ")); a.innerHTML=plik.replace(/^[Pp][Ll][Ii][Kk]:/g,"").replace(/[\s_]+/g," "); div_opis.appendChild(a); let size_new=0+" B"; if(size/1024<1){ size_new=size+" B"; }else if(size/1024<1024){ size_new=parseInt(size/1024*100)/100+" KB"; }else if(size/1024/1024<1024){ size_new=Math.round(size/1024/1024*100)/100+" MB"; }else if(size/1024/1024/1024<1024){ size_new=Math.round(size/1024/1024/1024*100)/100+" GB"; }else{ size_new=size+" B"; } let tekst=document.createTextNode(" "+width+" × "+height+((pagecount)?(", "+pagecount+" stron"):"")+"; "+size_new); div_opis.appendChild(tekst); return li; } tab_promise.push(true); (async function (){ let tab_href=await TablicaJakichWszystkichStron(StronicowyParser.kodowanie.DecodeWiki(StronicowyParser.pageinfo.fullname),tab_kategorie_strony_pliki[2]); let a_linki_istniejace=li.children('div').children('div.thumb').children('div').children('a'); let tab_klucz_href_poprzednie=undefined; if(a_linki_istniejace.length>0){ let href_pierwsze=StronicowyParser.kodowanie.DecodeHtml(a_linki_istniejace[0].getAttribute('href'),true).replace(/\/wiki\//g,""); for(let i=0;i<tab_href.length;++i){ let href_aktualne=tab_href[i][0]; if(href_pierwsze==href_aktualne){ break; }else{ let sortkey=tab_href[i][1]; tab_klucz_href_poprzednie=new Array(sortkey,href_aktualne); } } } let klucz_href_poprzednie; if(tab_klucz_href_poprzednie){ klucz_href_poprzednie=tab_klucz_href_poprzednie[0]+tab_klucz_href_poprzednie[1].replace(/^[Pp][Ll][Ii][Kk]:/g,""); } let tab_a=new Array(); for(let i=0;i<a_linki_istniejace.length;++i){ let href=StronicowyParser.kodowanie.DecodeHtml(a_linki_istniejace[i].getAttribute('href'),true).replace(/\/wiki\//g,""); tab_a[href]=true; } let strona_mutkat=new StronicowyParser.Muteks(); let mutplik=new StronicowyParser.Muteks(); let tak=true; for(let i=0;i<tab_strona_do_kat.length;++i){ let klucze=tab_strona_do_kat[i]; async function CzyWchodzic(){ await strona_mutkat.zablokuj(); if(tab_a[klucze[0]]){strona_mutkat.odblokuj();return false;} tab_a[klucze[0]]=true; strona_mutkat.odblokuj(); return true; } if(/^[Pp][Ll][Ii][Kk]:/g.test(tab_strona_do_kat[i][0])){ if(await CzyWchodzic()){ await mutplik.zablokuj(); let li=$(ul_kontener).children('li.gallerybox'); let a=li.children('div').children('div.thumb').children('div').children('a'); if((a===null)||(a.length==0)){ let li=await Li(tab_strona_do_kat[i][0]); li=ul_kontener.appendChild(li); tak=undefined; }else{ let tab_plik=tab_strona_do_kat[i]; let klucz=((tab_plik[1])?tab_plik[1]:"")+tab_plik[0].replace(/^[Pp][Ll][Ii][Kk]:/g,""); let klucz_poprzednie=undefined; for(let j=0;j<a.length;++j){ let li=$(a[j]).parents('li'); let href=a[j].getAttribute('href').replace(/\/wiki\//g,""); href=StronicowyParser.kodowanie.DecodeHtml(href,true); let klucz_href=klucz_poprzednie||await SortKey(href,tab_href,tab_strona_do_kat); if(j==0){ if(klucz_href_poprzednie){ let tab1=new Array(klucz_href_poprzednie,klucz).sort(); let tab2=new Array(klucz_href,klucz).sort(); if((tab[1]==klucz)&&(tab2[0]==klucz)){ let _li=await Li(tab_strona_do_kat[i][0]); ul_kontener.insertBefore(_li,li[0]); tak=undefined; break; } }else{ let tab1=new Array(klucz_href,klucz).sort(); if(tab1[0]==klucz){ let _li=await Li(tab_strona_do_kat[i][0]); ul_kontener.insertBefore(_li,li[0]); tak=undefined; break; } } } let tab1=new Array(klucz_href,klucz).sort(); if(a[j+1]){ let href2=a[j+1].getAttribute('href').replace(/\/wiki\//g,""); href2=StronicowyParser.kodowanie.DecodeHtml(href2,true); let klucz_href2=await SortKey(href2,tab_href,tab_strona_do_kat); klucz_poprzednie=klucz_href2; let tab2=new Array(klucz_href2,klucz).sort(); if((tab1[1]==klucz)&&(tab2[0]==klucz)){ let _li=await Li(tab_strona_do_kat[i][0]); let li=$(a[j+1]).parents('li'); ul_kontener.insertBefore(_li,li[0]); tak=undefined; break; } }else{ let p=$('body.ns-14 #mw-content-text .mw-category-generated > #mw-category-media > p')[0]; let ile_stron=parseInt(p.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,"$2")); let ile_wszystkich_stron=parseInt(p.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,"$4")); if((ile_stron==ile_wszystkich_stron)||((ile_stron<=ile_wszystkich_stron)&&(ile_stron<=200))){ let _li=await Li(tab_strona_do_kat[i][0]); ul_kontener.appendChild(_li); tak=undefined; break; } } } } if(!tak){ function replace(s,s1,s2,s3,s4,s5){ let li=$(ul_kontener).children('li.gallerybox'); return s1+li.length+s3+(parseInt(s4)+1)+s5; } let p=$('body.ns-14 #mw-content-text .mw-category-generated > #mw-category-media > p')[0]; p.innerHTML=p.innerHTML.replace(/^([^\d]+)(\d+)([^\d]+)(\d+)([^\d]+)$/g,replace); } mutplik.odblokuj(); } } } tab_promise.pop(); })(); } } await StronicowyParser.CzekajNaZakaczenie(tab_promise); } zmienna_this.ZaaktualizujInformacjeOKategorachiWPrzestrzeniKategorii=async function(item){ let mutkat=new StronicowyParser.Muteks(); let categoryTreebullet=((item==null)?$('body.ns-14 #mw-content-text .mw-category-generated > #mw-subcategories > * > .mw-category > .mw-category-group > ul > li > .CategoryTreeSection > .CategoryTreeItem'):$(item).siblings('.CategoryTreeChildren').children(".CategoryTreeSection").children(".CategoryTreeItem")); if((categoryTreebullet!==null)&&(categoryTreebullet.length>0)){ let tab_promise=new Array(); for(let i=0;i<categoryTreebullet.length;++i){ tab_promise.push(true); (async function(categoryTreebullet,i){ await mutkat.zablokuj(); if(!categoryTreebullet[i].tak){ categoryTreebullet[i].tak=true; let a=categoryTreebullet[i].querySelector('a'); let href=a.getAttribute('href').replace(/^\/wiki\//g,""); href=StronicowyParser.kodowanie.DecodeHtml(href,true); await muteks_cookie.zablokuj(); let tab_strona_href=TworzTabliceCzasteczekKlucza(href); muteks_cookie.odblokuj(); if(tab_strona_href!==null){ if(tab_strona_href.length>0){ let ile_kategorii=0;let ile_plikow=0;let ile_stron=0; for(let k=0;k<tab_strona_href.length;++k){ let strona=tab_strona_href[k][0]; if(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(strona)||/^[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]:/g.test(strona)){ ++ile_kategorii; }else if(/^[Pp][Ll][Ii][Kk]:/g.test(strona)||/^[Ff][Ii][LL][Ee]:/g.test(strona)){ ++ile_plikow; }else{ ++ile_stron; } } let dzieci=$(categoryTreebullet[i]).children(); let span_ile; if(dzieci.length>0){ span_ile=categoryTreebullet[i].lastChild; let title=span_ile.getAttribute('title'); if(/^[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+$/g.test(title)){ ile_kategorii=parseInt(title.replace(/^[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+$/g,"$1"))+ile_kategorii; ile_stron=parseInt(title.replace(/^[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+$/g,"$2"))+ile_stron; ile_plikow=parseInt(title.replace(/^[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+$/g,"$3"))+ile_plikow; } }; let span; if(ile_kategorii>0){ span=document.createElement('span'); span.setAttribute('class','CategoryTreeBullet') let span2=document.createElement('span'); span2.setAttribute('class','CategoryTreeToggle CategoryTreeToggleHandlerAttached'); span2.setAttribute('data-ct-title',href.replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,"").replace(/[\s_]+/g,"_")); span2.setAttribute('data-ct-state','collapsed'); span2.setAttribute('title','rozwiń'); span.appendChild(span2); }else{ span=document.createElement('span'); span.setAttribute('class','CategoryTreeEmptyBullet'); } let span_full=$(a).parent().find('span').first(); if((span_full!==null)&&(span_full.length>0)){ span_full[0].outerHTML=span.outerHTML; } if(dzieci.length>2){ span_ile.setAttribute('title',"Zawiera "+ile_kategorii+" podkategorie, "+ile_stron+" stron i "+ile_plikow+" plików") span_ile.setAttribute('dir','ltr'); if(parseInt(ile_kategorii)+parseInt(ile_stron)+parseInt(ile_plikow)>0){ let tab=new Array(); if(ile_kategorii>0){ tab[tab.length]=ile_kategorii+" kat."; } if(ile_stron>0){ tab[tab.length]=ile_stron+" str."; } if(ile_plikow>0){ tab[tab.length]=ile_plikow+" pl."; } span_ile.innerHTML="("+tab.join(", ")+")"; }else{ span_ile.innerHTML="(pusta)"; } } } } categoryTreebullet[i].tak=true; } mutkat.odblokuj(); tab_promise.pop(); })(categoryTreebullet,i); } await StronicowyParser.CzekajNaZakaczenie(tab_promise); } } zmienna_this.DodajKategorieDoDrzewaKategoriiWKategoriach=async function(item){ if(!item.tak_drzewo_kategorii){ item.tak_drzewo_kategorii=true; let a_linki_istniejace=$(item).siblings('.CategoryTreeChildren').children('.CategoryTreeSection').children('.CategoryTreeItem').children('a'); let tab_a=new Array(); for(let i=0;i<a_linki_istniejace.length;++i){ let href=StronicowyParser.kodowanie.DecodeHtml(a_linki_istniejace[i].getAttribute('href'),true).replace(/\/wiki\//g,""); tab_a[href]=true; } let a=item.querySelector('a'); let href=a.getAttribute('href').replace(/^\/wiki\//g,""); href=StronicowyParser.kodowanie.DecodeHtml(href,true); await muteks_cookie.zablokuj(); let tab_strona_href_aktualnej_czasteczkowej_kategorii=TworzTabliceCzasteczekKlucza(href); muteks_cookie.odblokuj(); if(tab_strona_href_aktualnej_czasteczkowej_kategorii!==null){ if(tab_strona_href_aktualnej_czasteczkowej_kategorii.length>0){ let tab_href=await TablicaJakichWszystkichStron(href,true); let mutkat=new StronicowyParser.Muteks();let strona_mutkat=new StronicowyParser.Muteks(); let tab_promise=new Array(); for(let j=0;j<tab_strona_href_aktualnej_czasteczkowej_kategorii.length;++j){ tab_promise.push(true); (async function(tab_strona_href_aktualnej_czasteczkowej_kategorii,j,tab_href){ let tab_strona=tab_strona_href_aktualnej_czasteczkowej_kategorii[j]; let nazwa_strony=tab_strona[0].replace(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g,""); let klucz=((tab_strona[1])?tab_strona[1]:"")+nazwa_strony; async function CzyWchodzic(){ await strona_mutkat.zablokuj(); if(tab_a[tab_strona[0]]){strona_mutkat.odblokuj();return false;} tab_a[tab_strona[0]]=true; strona_mutkat.odblokuj(); return true; } if(await CzyWchodzic()){ if(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(tab_strona[0])||/^[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]:/g.test(tab_strona[0])){ await muteks_cookie.zablokuj(); let tab_strona_href=TworzTabliceCzasteczekKlucza(tab_strona[0]); muteks_cookie.odblokuj(); await mutkat.zablokuj(); let $link=$($(item).find('.CategoryTreeToggle')[0]).data('ct-loaded'); let child_puste=item.querySelector('.CategoryTreeEmptyBullet'); if(child_puste){ let span=document.createElement('span'); span.setAttribute('class','CategoryTreeBullet') let span2=document.createElement('span'); span2.setAttribute('class','CategoryTreeToggle CategoryTreeToggleHandlerAttached'); span2.setAttribute('data-ct-title',nazwa_strony); span2.setAttribute('data-ct-state','collapsed'); span2.setAttribute('title','rozwiń'); span.appendChild(span2); let spacja=document.createTextNode(" "); span.appendChild(spacja); child_puste.outerHTML=span.outerHTML; } let categorytreesection=document.createElement('div'); categorytreesection.setAttribute('class','CategoryTreeSection'); let categorytreeitem=document.createElement('div'); categorytreeitem.setAttribute('class','CategoryTreeItem'); let tab=await IleJakichStron(tab_strona[0]); let ile_kategorii=tab[0];let ile_stron=tab[1];let ile_plikow=tab[2]; if(tab_strona_href){ for(let k=0;k<tab_strona_href.length;++k){ let strona_kategorii=tab_strona_href[k][0]; if(/^[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]:/g.test(strona_kategorii)){ ++ile_kategorii; }else if(/^[Pp][Ll][Ii][Kk]:/g.test(strona_kategorii)){ ++ile_plikow; }else{ ++ile_stron; } } } function InfoItem(item) { let tekst=document.createTextNode(' '); let span_tekst=document.createElement('span'); span_tekst.setAttribute('dir','ltr'); span_tekst.setAttribute('title',"Zawiera "+ile_kategorii+" podkategorii, "+ile_stron+" stron i "+ile_plikow+" plików") if((ile_kategorii==0)&&(ile_stron==0)&&(ile_plikow==0)){ span_tekst.innerHTML="(pusta)"; }else{ tekst_ile=((ile_kategorii>0)?(ile_kategorii+" kat."):""); tekst_ile=tekst_ile+((tekst_ile!="")?((ile_stron>0)?", ":""):"")+((ile_stron>0)?(ile_stron+" str."):""); tekst_ile=tekst_ile+((tekst_ile!="")?((ile_plikow>0)?", ":""):"")+((ile_plikow>0)?(ile_plikow+" pl."):""); span_tekst.innerHTML="("+tekst_ile+")"; } item.appendChild(tekst); item.appendChild(span_tekst); } if(ile_kategorii>0){ let span=document.createElement('span'); span.setAttribute('class','CategoryTreeBullet') let span2=document.createElement('span'); span2.setAttribute('class','CategoryTreeToggle CategoryTreeToggleHandlerAttached'); span2.setAttribute('data-ct-title',nazwa_strony.replace(/[\s_]+/g,"_")); span2.setAttribute('data-ct-state','collapsed'); span2.setAttribute('title','rozwiń'); span.appendChild(span2); let spacja=document.createTextNode(" "); span.appendChild(spacja); categorytreeitem.appendChild(span); }else{ let span=document.createElement('span'); span.setAttribute('class','CategoryTreeEmptyBullet'); categorytreeitem.appendChild(span); let spacja=document.createTextNode(" "); categorytreeitem.appendChild(spacja); } let a=document.createElement('a') a.setAttribute('href',"/wiki/"+tab_strona[0]); a.setAttribute('title',tab_strona[0]); a.innerHTML=nazwa_strony; categorytreeitem.appendChild(a); InfoItem(categorytreeitem); categorytreesection.appendChild(categorytreeitem); let children_nowe=document.createElement('div'); children_nowe.setAttribute('class','CategoryTreeChildren'); children_nowe.style.display="none"; categorytreesection.appendChild(children_nowe); let a_linki_istniejace_aktualne=$(item).siblings('.CategoryTreeChildren').children('.CategoryTreeSection').children('.CategoryTreeItem').children('a'); if((child_puste)||(a_linki_istniejace_aktualne.length==0)){ let children_nowe=$(item).siblings('.CategoryTreeChildren')[0]; children_nowe.innerHTML=""; children_nowe.appendChild(categorytreesection); }else{ if((a_linki_istniejace_aktualne!==null)&&(a_linki_istniejace_aktualne.length>0)){ klucz_href_poprzednie=undefined; for(let s=0;s<a_linki_istniejace_aktualne.length;++s){ let href=a_linki_istniejace_aktualne[s].getAttribute('href'); href=StronicowyParser.kodowanie.DecodeHtml(href,true); href=href.replace(/\/wiki\//g,""); let klucz_href=await SortKey(href,tab_href,tab_strona_href_aktualnej_czasteczkowej_kategorii); if(s==0){ let posortowane=(new Array(klucz,klucz_href)).sort(); if(posortowane[0]==klucz){ let child=$(a_linki_istniejace_aktualne[s]).parent('.CategoryTreeItem').parent('.CategoryTreeSection').parent('.CategoryTreeChildren'); if((child!==null)&&(child.length>0)){ child[0].insertBefore(categorytreesection,$(a_linki_istniejace_aktualne[s]).parent().parent()[0]); break; } }else if(s+1==a_linki_istniejace_aktualne.length){ let child=$(a_linki_istniejace_aktualne[s]).parent().parent().parent(); if((child!==null)&&(child.length>0)){ child[0].appendChild(categorytreesection); break; } } klucz_href_poprzednie=klucz_href; }else if(s+1==a_linki_istniejace_aktualne.length){ let posortowane=(new Array(klucz,klucz_href)).sort(); if(posortowane[1]==klucz){ let child=$(a_linki_istniejace_aktualne[s]).parent().parent().parent(); if((child!==null)&&(child.length>0)){ child[0].appendChild(categorytreesection); break; } }else{ let child=$(a_linki_istniejace_aktualne[s]).parent().parent().parent(); if((child!==null)&&(child.length>0)){ child[0].insertBefore(categorytreesection,$(a_linki_istniejace_aktualne[s]).parent().parent()[0]); break; } } klucz_href_poprzednie=klucz_href; }else{ let tab1=(new Array(klucz,klucz_href_poprzednie)).sort();let tab2=(new Array(klucz,klucz_href)).sort(); if((tab1[1]==klucz)&&(tab2[0]==klucz)){ let child=$(a_linki_istniejace_aktualne[s]).parent().parent().parent(); if((child!==null)&&(child.length>0)){ child[0].insertBefore(categorytreesection,$(a_linki_istniejace_aktualne[s]).parent().parent()[0]); break; } } klucz_href_poprzednie=klucz_href; } } } } mutkat.odblokuj(); } } tab_promise.pop(); })(tab_strona_href_aktualnej_czasteczkowej_kategorii,j,tab_href); } await StronicowyParser.CzekajNaZakaczenie(tab_promise); } } } } zmienna_this.DodajDoCategoryTreeElementy=async function(){ let item=$("#mw-content-text .mw-parser-output .CategoryTreeTag > .CategoryTreeSection > .CategoryTreeItem"); if((item!==null)&&(item.length>0)){ await StronicowyParser.script.LoadScript('ext.categoryTree.styles'); await StronicowyParser.script.LoadScript('ext.categoryTree'); for(let i=0;i<item.length;++i){ await zmienna_this.DodajKategorieDoDrzewaKategoriiWKategoriach(item[i]); } } } zmienna_this.DolaczOdNowaZdarzeniaSystemoweKategorii=async function(zdarzenia,categorytree){ let oryginal=document.querySelector('body.ns-14 #mw-content-text .mw-category-generated > #mw-subcategories'); if((categorytree)&&(oryginal!==null)){ let kopia=oryginal.cloneNode(true); oryginal.outerHTML=kopia.outerHTML; } let oryginalcategorytree=$("#mw-content-text .mw-parser-output .CategoryTreeTag"); if((oryginalcategorytree!==null)&&(oryginalcategorytree.length>0)){ for(let i=0;i<oryginalcategorytree.length;++i){ let kopia=oryginalcategorytree[i].cloneNode(true); oryginalcategorytree[i].outerHTML=kopia.outerHTML; } } if(zdarzenia){ await StronicowyParser.script.LoadScript('ext.categoryTree.styles'); await StronicowyParser.script.LoadScript('ext.categoryTree'); try{ await mw.loader.using( ['ext.categoryTree'], await async function (){ StronicowyParser.script.requireFile('ext.categoryTree')(); }); }catch(error){}; } } } StronicowyParser.LinkiKategorii=function(){ let tab_cat; let kat=new StronicowyParser.Kategorie(); this.PobierzKategorieStrony=async function(){ tab_cat=await kat.StworzTabliceKategoriiZCatLinks(); } this.AnalizaKategorii=async function(data){ await StronicowyParser.muteks.zablokuj(); let categories=data.parse.categories; if(categories.length>0){ let bodycontent=document.querySelector('#bodyContent'); let czy_catlinks=document.querySelector('#bodyContent > #catlinks.catlinks-allhidden'); let czy_catlinks_nieukryte=document.querySelector("#bodyContent > #catlinks.catlinks:not(.catlinks-allhidden)"); if(!czy_catlinks_nieukryte){ let catlinks=document.createElement('div'); catlinks.setAttribute('id',"catlinks"); catlinks.setAttribute("class","catlinks"); catlinks.setAttribute("data-mw","interface") if(czy_catlinks){ czy_catlinks.outerHTML=catlinks.outerHTML; }else{ bodycontent.appendChild(catlinks); } } let catlinks=document.querySelector("#bodyContent > #catlinks.catlinks"); if(catlinks){ let catlinks_normal=document.querySelector("#bodyContent > #catlinks.catlinks #mw-normal-catlinks"); let catlinks_hidden=document.querySelector("#bodyContent > #catlinks.catlinks #mw-hidden-catlinks"); for(let l=0;l<categories.length;++l){ let cattab=categories[l]; let cat=cattab["*"].replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); if(!tab_cat[cat]){ tab_cat[cat]=true; let a=document.createElement('a'); a.href="/wiki/Kategoria:"+StronicowyParser.kodowanie.EncodeHtml(cat); a.innerHTML=cat; if((cattab["missing"]!=null)&&(cattab["missing"]=="")){ a.classList.add('new'); a.setAttribute('title',"Kategoria:"+cat+" (strona nie istnieje)"); }else{ a.setAttribute('title',"Kategoria:"+cat); } let li=document.createElement('li'); li.innerHTML=a.outerHTML; if((cattab["hidden"]!=null)&&(cattab["hidden"]=="")){ if(!catlinks_hidden){ let catlinks_hidden_div=document.createElement('div'); catlinks_hidden_div.setAttribute("id","mw-hidden-catlinks"); catlinks_hidden_div.setAttribute("class","mw-hidden-catlinks mw-hidden-cats-user-shown"); catlinks_hidden_div.innerHTML="Ukryta kategoria: <ul></ul>"; let catlinkihtml=document.querySelector("#bodyContent .catlinks"); catlinks_hidden=catlinkihtml.appendChild(catlinks_hidden_div); } let ul=catlinks_hidden.querySelector('ul'); ul.appendChild(li); }else{ if(!catlinks_normal){ let catlinks_normal_div=document.createElement('div'); catlinks_normal_div.setAttribute("id","mw-normal-catlinks"); catlinks_normal_div.setAttribute("class","mw-normal-catlinks"); let a=document.createElement('a'); a.setAttribute('href',"/wiki/Specjalna:Kategorie"); a.setAttribute('title',"Specjalna:Kategorie"); a.innerHTML="Kategoria"; catlinks_normal_div.appendChild(a); catlinks_normal_div.innerHTML=catlinks_normal_div.innerHTML+":"; let ul=document.createElement('ul'); catlinks_normal_div.appendChild(ul); catlinks_normal=catlinks.insertBefore(catlinks_normal_div,catlinks.firstChild); } let ul=catlinks_normal.querySelector('ul'); ul.appendChild(li); } } } let action_view=document.querySelector('body.action-view'); if(action_view){ kat.StworzCookieDlaKategoriiStrony(data,null); } } }else{ let action_view=document.querySelector('body.action-view'); if(action_view){ kat.StworzCookieDlaKategoriiStrony(data,null); } } StronicowyParser.muteks.odblokuj(); } } StronicowyParser.kategorie=new StronicowyParser.Kategorie(); (async function(){ let ns_14=document.querySelector("body.ns-14 #mw-content-text .mw-category-generated, body.ns-14 #mw-content-text .mw-parser-output .CategoryTreeTag"); if(ns_14){ await StronicowyParser.kategorie.DolaczOdNowaZdarzeniaSystemoweKategorii(false,true); await StronicowyParser.kategorie.DodajStronyDoAktualnejKategorii(); const promise1=StronicowyParser.kategorie.DodajDoCategoryTreeElementy(); const promise2=StronicowyParser.kategorie.ZaaktualizujInformacjeOKategorachiWPrzestrzeniKategorii(); await Promise.all([promise1,promise2]).then((values) => {}).catch(()=>{}); await StronicowyParser.kategorie.DolaczOdNowaZdarzeniaSystemoweKategorii(true,true); await StronicowyParser.kategorie.DodajSwojeInneZdarzeniaDoObsługiiDrzewaKategorii(); }else{ let categorytreetag=document.querySelector("body:not(.ns-14) #mw-content-text .mw-parser-output .CategoryTreeTag"); if(categorytreetag){ await StronicowyParser.kategorie.DolaczOdNowaZdarzeniaSystemoweKategorii(false,false); await StronicowyParser.kategorie.DodajDoCategoryTreeElementy(); await StronicowyParser.kategorie.DolaczOdNowaZdarzeniaSystemoweKategorii(true,false); await StronicowyParser.kategorie.DodajSwojeInneZdarzeniaDoObsługiiDrzewaKategorii(); } } })(); grleffu8ktqb6vn13y9ykb25htnzzsw Wikipedysta:Persino/common.js 2 58552 437615 437441 2022-08-12T15:58:54Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } if(z_mouse)then Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); } }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 5o78xps5n0mfb1yb57n4cxrj0lxkhcg 437616 437615 2022-08-12T17:27:54Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } if(z_mouse){ Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); } }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 0mfj6rpm8lg2mx2ba5o54sm6w2h24ze Wikipedysta:Piotrek77 2 58692 437614 2022-08-12T15:40:28Z Piotrek77 21495 INIT wikitext text/x-wiki Ulubione: [[Zanurkuj_w_Pythonie|Zanurkuj w Pythonie]] koneylps5zr0kjv31blrth23omzsvfq Szablon:Siewki roślin flory Polski/Commons 10 58693 437635 2022-08-13T08:39:01Z Persino 2851 Persino przeniósł stronę [[Szablon:Siewki roślin flory Polski/Commons]] do [[Szablon:Szablon:Commonsimg]] wikitext text/x-wiki #PATRZ [[Szablon:Szablon:Commonsimg]] 8zcp30vbwvwlpy0rhl0tbjbw0hb4b2b 437640 437635 2022-08-13T08:39:51Z Persino 2851 Zmiana elementu docelowego przekierowania z [[Szablon:Szablon:Commonsimg]] na [[Szablon:Commonsimg]] wikitext text/x-wiki #PATRZ [[Szablon:Commonsimg]] frkcd7aqfk5hllft9f5aa4596y5wiw6 437645 437640 2022-08-13T08:49:09Z Persino 2851 Zmiana elementu docelowego przekierowania z [[Szablon:Commonsimg]] na [[Szablon:Commonsimgcat]] wikitext text/x-wiki #PATRZ [[Szablon:Commonsimgcat]] ciwzs6l14npyj0b2vpf64du88hx4cmb Szablon:Commonsilustrkat/opis 10 58695 437649 2022-08-13T09:12:27Z Persino 2851 Utworzono nową stronę "{{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> {{wysokie ryzyko}} {{Szablony siostrzanych projektów}} == Użycie == Szablon linkuje do kategorii na Commons. == Opis parametrów == Użycie: {{s|Commonsimgcat|nazwa kategorii na Commons|tekst wyświetlany}} Przykład: {{s|Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} Efekt: {{Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} == Przykład == =…" wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> {{wysokie ryzyko}} {{Szablony siostrzanych projektów}} == Użycie == Szablon linkuje do kategorii na Commons. == Opis parametrów == Użycie: {{s|Commonsimgcat|nazwa kategorii na Commons|tekst wyświetlany}} Przykład: {{s|Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} Efekt: {{Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów|sortuj spacją=tak}} </includeonly> nju06w0jw7rao9ep1und3rvncjdnivc 437650 437649 2022-08-13T09:14:11Z Persino 2851 /* Opis parametrów */ wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> {{wysokie ryzyko}} {{Szablony siostrzanych projektów}} == Użycie == Szablon linkuje do kategorii na Commons. == Opis parametrów == Użycie: {{s|Commonsimgcat|nazwa kategorii na Commons|tekst wyświetlany}} Przykład: {{s|Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} Efekt: {{ElastycznyWiersz|{{Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}}}} == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów|sortuj spacją=tak}} </includeonly> dmr3njqdflxo5kxwhd35tg077u4falx 437651 437650 2022-08-13T09:16:45Z Persino 2851 /* Zobacz też */ wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> {{wysokie ryzyko}} {{Szablony siostrzanych projektów}} == Użycie == Szablon linkuje do kategorii na Commons. == Opis parametrów == Użycie: {{s|Commonsimgcat|nazwa kategorii na Commons|tekst wyświetlany}} Przykład: {{s|Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} Efekt: {{ElastycznyWiersz|{{Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}}}} == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów}} </includeonly> 8imk61qjts8ueboam9hzrgz7tbtybrq 437652 437651 2022-08-13T09:48:54Z Persino 2851 /* Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) */ wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> {{wysokie ryzyko}} {{Szablony siostrzanych projektów}} == Użycie == Szablon linkuje do kategorii na Commons. == Opis parametrów == Użycie: {{s|Commonsimgcat|nazwa kategorii na Commons|tekst wyświetlany}} Przykład: {{s|Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} Efekt: {{ElastycznyWiersz|{{Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}}}} == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "description": "Nazwa kategorii na Commons.", "type": "wiki-file-name", "required": true }, "2": { "description": "Nazwa wyświetlana linku kategorii na Commons.", "type": "string", "suggested": true } }, "description": "Szablon linkujący do kategorii, z obrazami, na Commons." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów}} </includeonly> benits0cnagotngtc1n6vajnhmgtw2d