Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.47.0-wmf.6
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
Wydarzenie
Dyskusja wydarzenia
Pszczelarstwo/Produkty
0
13473
546640
515121
2026-06-14T05:53:14Z
EdytaT
2664
546640
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Produkty pszczele}}
== Produkty pszczele ==
# [[Pszczelarstwo/Produkty/Miód|Miód]]
# [[Pszczelarstwo/Produkty/Wosk|Wosk pszczeli]]
# [[Pszczelarstwo/Produkty/Pyłek|Pyłek i pierzga]]
# [[Pszczelarstwo/Produkty/Propolis|Kit pszczeli (Propolis)]]
# [[Pszczelarstwo/Produkty/Mleczko|Mleczko pszczele (Gelee Royale)]]
# [[Pszczelarstwo/Produkty/Jad|Jad pszczeli]]
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
gvtjpqq6sht9ns4hftpvm5br2exlxs1
Pszczelarstwo/Produkty/Miód
0
14075
546641
533995
2026-06-14T05:58:38Z
EdytaT
2664
546641
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód}}
{{Definicja|'''"Mała jest pszczoła wśród latających stworzeń, lecz owoc jej ma pierwszeństwo pośród słodyczy."'''<br>{{Small|''Biblia, Księga Mądrości Syracha (Syr 11,3)''}}}}
=== Podział miodów ze względu na konsystencję ===
* Nakrop - świeżo naniesiony nektar.
* Patoka - płynny miód będący produktem wyciskania lub odwirowania plastrów.
* Krupiec - miód w postaci skrystalizowanej, w odróżnieniu od ciekłej patoki.
=== Podział miodów ze względu na substancję wyjściową ===
Naturalny miód pszczeli powstaje z [[Pszczelarstwo/Rośliny/Nektar|nektaru]] wydzielanego przez rośliny nektarodajne lub ze [[Pszczelarstwo/Rośliny/Spadź|spadzi]]. Miód smakuje znakomicie do pieczywa, do pikantnych serów lub jako składnik sosów. Nadaje się również jako składnik polew do prażonych orzechów, kasztanów, owoców lub ciast.
Ze względu na pochodzenie rozróżnia się trzy rodzaje miodów:
[[Grafika:Runny hunny.jpg|350px|thumb|right]]
=== [[Pszczelarstwo/Produkty/Miody nektarowe|'''Miody nektarowe''']] ===
==== [[Pszczelarstwo/Produkty/Miody odmianowe|Miody odmianowe]] ====
* [[Pszczelarstwo/Produkty/Miód akacjowy|Miód akacjowy]],
* [[Pszczelarstwo/Produkty/Miód dębowy|Miód dębowy]],
* [[Pszczelarstwo/Produkty/Miód Dzidzilché|Miód Dzidzilché]] (Tzi'tzil'che) {{Small|(Meksyk)}},
* [[Pszczelarstwo/Produkty/Miód faceliowy|Miód faceliowy]],
* [[Pszczelarstwo/Produkty/Miód gryczany|Miód gryczany]],
* [[Pszczelarstwo/Produkty/Miód jabłoniowy|Miód jabłoniowy]],
* [[Pszczelarstwo/Produkty/Miód kasztanowy|Miód kasztanowy]],
* [[Pszczelarstwo/Produkty/Miód klonowy|Miód klonowy]],
* [[Pszczelarstwo/Produkty/Miód koniczynowy|Miód koniczynowy]],
* [[Pszczelarstwo/Produkty/Miód lawendowy|Miód lawendowy]],
* [[Pszczelarstwo/Produkty/Miód lipowy|Miód lipowy]],
* [[Pszczelarstwo/Produkty/Miód macierzankowy|Miód macierzankowy]],
* [[Pszczelarstwo/Produkty/Miód malinowy|Miód malinowy]],
* [[Pszczelarstwo/Produkty/Miód Manuka|Miód Manuka]] {{Small|(Nowa Zelandia)}},
* [[Pszczelarstwo/Produkty/Miód melisowy|Miód melisowy]],
* [[Pszczelarstwo/Produkty/Miód miętowy|Miód miętowy]],
* [[Pszczelarstwo/Produkty/Miód mniszkowy|Miód mniszkowy]],
* [[Pszczelarstwo/Produkty/Miód nawłociowy|Miód nawłociowy]],
* [[Pszczelarstwo/Produkty/Miód nostrzykowy|Miód nostrzykowy]],
* [[Pszczelarstwo/Produkty/Miód ogórecznikowy|Miód ogórecznikowy]],
* [[Pszczelarstwo/Produkty/Miód rzepakowy|Miód rzepakowy]],
* [[Pszczelarstwo/Produkty/Miód Sidr|Miód Sidr]] {{Small|(Półwysep Arabski)}},
* [[Pszczelarstwo/Produkty/Miód słonecznikowy|Miód słonecznikowy]],
* [[Pszczelarstwo/Produkty/Miód szałwiowy|Miód szałwiowy]],
* [[Pszczelarstwo/Produkty/Miód Tajonal|Miód Tajonal]] (Tahonal) {{Small|(Meksyk)}}
* [[Pszczelarstwo/Produkty/Miód tamaryszkowy|Miód tamaryszkowy]],
* [[Pszczelarstwo/Produkty/Miód tymiankowy|Miód tymiankowy]],
* [[Pszczelarstwo/Produkty/Miód walerianowy|Miód walerianowy]],
* [[Pszczelarstwo/Produkty/Miód wierzbowy|Miód wierzbowy]],
* [[Pszczelarstwo/Produkty/Miód wrzosowy|Miód wrzosowy]],
==== [[Pszczelarstwo/Produkty/Miody wielokwiatowe|Miody wielokwiatowe]] ====
* [[Pszczelarstwo/Produkty/Miód z nektaru drzew owocowych|Miód z nektaru drzew owocowych]],
==== [[Pszczelarstwo/Produkty/Miody spadziowe|'''Miody spadziowe''']] (leśne) ====
:* Miód ze spadzi liściastej
:* Miód ze spadzi iglastej
==== [[Pszczelarstwo/Produkty/Miody nektarowo-spadziowe|'''Miody nektarowo-spadziowe''']] ====
:* [[Pszczelarstwo/Produkty/Miód górski|Miód górski]] {{Small|(rejon Alp)}}
=== Podział miodów ze względu na sposób prowadzenia pasieki ===
* Ze względu na sposób prowadzenia pasieki pozyskujące miód rozróżniane są:
:* '''Miód''' (bez dodatkowych oznaczeń)
:* '''Miód ekologiczny''' (bio)
:** Między pasieką konwencjonalną a pasieką ekologiczną (w warunkach Polski i UE) różnice są niewielkie lub w ogóle ich nie ma. Pojęcie "miodu ekologicznego" pojawiło się na fali napływu innych produktów spożywczych określanych tym mianem.
:*** W pasiece ekologicznej nie wolno stosować żadnych środków chemicznych do zwalczania chorób pszczół. Jednak w prawidłowo prowadzonej pasiece konwencjonalnej również nie stosuje się chemikaliów do zwalczania chorób. Walka z [[Pszczelarstwo/Choroby/Warroza|warrozą]] odbywa się w obu przypadkach jedynie za pomocą metod biologicznych i kwasów organicznych, które są naturalnymi składnikami miodu.
:*** Kolejnym punktem, gdzie pasieka konwencjonalna teoretycznie może się różnić od pasieki ekologicznej jest stosowanie preparatów syntetycznych od przeganiania pszczół z plastrów podczas miodobrania. Również tutaj praktyka pasieczna jest w obu przypadkach identyczna, ponieważ zasadniczo do odganiania pszczół stosuje się [[Pszczelarstwo/Sprzęt/Przegonka|przegonki]] i dym z [[Pszczelarstwo/Sprzęt/podkurzacz|podkurzacza]].
:*** Trzecim kryterium jest pozyskiwanie miodu na "przemysłowych" plantacjach drzew owocowych. Pszczelarze deklarujący swój miód jako ekologiczny nie mogą ustawiać uli w pobliżu takich plantacji.
:*** Kolejna różnica polega na tym, że ule w pasiekach konwencjonalnych mogą, a w pasiekach ekologicznych muszą być wykonane z budulca naturalnego, jak drewno, słoma lub glina, co jednak nie ma wpływu na jakość pozyskiwanego miodu.
:*** [[Pszczelarstwo/Sprzęt/Węza|Węza]] w pasiekach ekologicznych musi być wykonana z wosku posiadającego gwarancję, że nia ma w nim pozostałości substancji chemicznych, pochodzącego z własnej pasieki lub innej pasieki ekologicznej. Pszczelarze konwencjonalni mogą również takiej węzy używać, a poza tym mogą kupować węzę od wytwórców bez przydomka "ekologiczny". Teoretycznie w pasiekach konwencjonalnych pozostaje możliwość zaopatrywania się węzę z krajów trzecich.
:*** Miód ekologiczny nie może być podgrzany do temperatury powyżej 40°C (np. w celu upłynnienia przed rozlaniem do słoików). To zalecenie dotyczy jednak wszystkich pozyskiwanych miodów.
=== Podział miodów ze względu na rodzaj pszczół ===
* [[Pszczelarstwo/Produkty/Miody pszczół azjatyckich|'''Miody pszczół azjatyckich''']]
* [[Pszczelarstwo/Produkty/Miody pszczół bezżądłych|'''Miody pszczół bezżądłych''']]
=== Ziołomiody i preparaty miodowe ===
* Ziołomiody
Ziołomioy powstają, jeżeli pszczołom w specjalnych warunkach (laboratoryjnych, szklarniowych lub po prosu w pasiekach) podawany jest syrop cukrowy z dodatkiem ekstraktów z ziół lub soków owocowych. Pszczoły traktują tę ciecz jak nektar i robią z niej miód analogicznie jak miód z nektaru zebranego z kwiatów. Chociaż substancją wyjściową ziołomiodów nie jest ani nektar ani spadź, to jednak w ich skład, oprócz wartościowych substancji zawartych w dodatkach, wchodzą również enzymy pochodzące od pszczół. Popularne ziołomiody to np. aloesowy, aroniowy, głogowy, miętowy, nagietkowy, pokrzywowy, rumiankowy, sosnowy, tymiankowy itp.
:* [[Pszczelarstwo/Produkty/Life Mel|Life Mel]]
* Preparaty miodowe
Są to naturalne miody, najczęściej nektarowe, z dodatkiem innych produktów pszczelich (pyłku, propolisu lub mleczka pszczelego) albo z dodatkiem koncentratów ziołowych.
=== Miody toksyczne ===
W niektórych regionach świata pszczoły mogą zbierać nektar lub spadź z roślin zawierających składniki trujące lub szkodliwe dla ludzi.
* Tutu (''Coriaria arborea'') jest krzewem rosnącym w Nowej Zelandii, który zawiera toksyczną dla ludzi tutynę. Miejscowe pszczoły czasem zbierają [[Pszczelarstwo/Rośliny/Spadź|spadź]] wytwarzaną przez żywiące się na krzewie owady z rodzaju ''Scolypopa'' i produkują z niej toksyczny miód{{r|ref3}}.
=== Skład miodu ===
==== Wartość odżywcza ====
Wartość odżywcza miodu zależy od jego rodzaju i w przypadku miodu nie musi być podawana na opakowaniu. Średnio wynosi ona<ref>Bienenvater, ''Die Nährwertkennzeichnung'', Heft 2/2003, str. 25</ref>
* wartość energetyczna: 1274 J / 304 kcal
* tłuszcz: 0,00 g
: * w tym kwasy tłuszczowe nasycone: 0.00 g
* węglowodany: 80,8 g
:* w tym [[w:fruktoza|fruktoza]]: 38,80 g
:* w tym [[w:glukoza|glukoza]]: 33,90 g
: białko : 0,30 - 0,50 g
* sól: 0.00 g
==== Skład ====
'''Miód''' pszczeli jako substancja jest bardzo [[w:lepkość|lepkim]], wieloskładnikowym, [[w:roztwór przesycony| przesyconym roztworem]] [[w:sacharydy|węglowodanów]]. Miód składa się przeciętnie z 20% wody i 80% [[w:węglowodany|węglowodanów]], przede wszystkim z cukrów prostych:
* [[w:glukoza|glukozy]] i
* [[w:fruktoza|fruktozy]].
*: Miody nektarowe zawierają 75-85% (60-80%) tych cukrów, miody spadziowe 50-65%. Glukoza i fruktoza w miodzie pochodzi przede wszystkim bezpośrednio z nektaru lub spadzi, a dodatkowo tworzy się w procesie dojrzewania miodu w wyniku rozkładu sacharozy pod wpływem aktywności enzymu [[w:inwertaza|inwertazy]] (→ [[Pszczelarstwo/Miód#Analiza miodu|Analiza miodu]]).
Poza tym składnikami miodu są:
* cukry złożone:
** [[w:maltoza|maltoza]] pochodząca z gruczołów pszczoły-robotnicy (2-8%){{r|ref1}}
** [[w:sacharoza|sacharoza]] pochodząca z nektaru(0-2%){{r|ref1}}
* [[w:Enzymy|Enzymy]] miodowe:
:* Miód zawiera 0,23 do 0,43% enzymów ( w większości [[w:białka|białek]]) o różnej aktywności (U/kg):
:** [[w:sacharaza|sacharaza]] pochodząca z gruczołów pszczoły-robotnicy (20-200 U/kg){{r|ref1}},
:** [[w:oksydaza glukozy|oksydaza glukozy]] pochodząca z gruczołów pszczoły-robotnicy i z pyłku (10-300 U/kg){{r|ref1}}
:** [[w:fosfataza|fotostaza]] pochodząca z gruczołów pszczoły-robotnicy (7-40 U/kg){{r|ref1}},
:** [[w:amylaza|α- i β-amylaza]] ({{Small|dawn.}}[[w:diastaza|diastaza]]),
:** [[w:inwertaza|inwertaza]],
:** [[w:katalaza|katalaza]],
:** [[w:maltaza|maltaza]],
:** [[w:lizozym|lizozym]], wytwarzany przez [[Pszczelarstwo/Biologia/Gruczoły głowowe#Gruczoły gardzielowe|gruczoły gardzielowe]] i [[Pszczelarstwo/Biologia/Gruczoły głowowe#Gruczoły ślinowe|ślinowe]] pszczół, współdecydujący o działaniu antybiotycznym miodu. {{r|ref4}}
* tzw. inhibiny, hamujące rozwój drożdży i niektórych rodzajów bakterii.
* [[w:Aminokwasy|Aminokwasy]] (200-2000 mg/kg) i [[w:kwasy organiczne|kwasy organiczne]] (300-600 mg/kg, w tym np. kwas glukonowy, mlekowy, mrówkowy, szczawiowy){{r|ref1}}:
:* 100 g miodu nektarowego zawiera 37-875 mg (śr. 175 mg) wolnych aminokwasów, miodu spadziowego 54-269 mg (śr. 178 mg).
:* [[w:Fosfolipidy|Fosfolipidy]]:
:** [[w:lecytyna|lecytyna]] (zawierająca [[w:cholina|cholinę]]).
:* [[w:Aminokwasy endogenne|aminokwasy endogenne]] (produkowane przez organizm samodzielnie){{r|ref2}}:
:** [[Pszczelarstwo/Produkty/Prolina|prolina]] (Prb, P) - 30-70% wszystkich aminokwasów,
:** [[w:kwas asparaginowy|kwas asparaginowy]] (Asp),
:** [[w:kwas glutaminowy|kwas glutaminowy]] (Glu),
:** [[w:glicyna|glicyna]] (Gly, G),
:** [[w:alanina|alanina]] (Ala, A),
:** [[w:seryna|seryna]] (Ser, S),
:** [[w:hydroksyprolina|hydroksyprolina]] (Hyp),
:** [[w:tyrozyna|tyrozyna]] (Tyr),
:* [[w:Aminokwasy egzogenne|aminokwasy egzogenne]] (dostarczane organizmowi wyłącznie przez pożywienie): {{r|ref2}}
:** [[w:lizyna|lizyna]] (Lys, K),
:** [[w:fenyloalanina|fenyloalanina]] (Phe),
:** [[w:leucyna:leucyna]] (Leu),
:** [[w:izoleucyna|izoleuncyna]] (Ile),
:** [[w:walina|walina]] (Val),
:** [[w:treonina|treonina]] (Thr),
:** [[w:metionina|metionina]] (Met),
:** [[w:histydyna|histydyna]] (His),
:** [[w:arginina|arginina]] (Arg),
:** [[w:tryptofan|tryptofan]] (Trp),
* Śladowe ilości [[w:witaminy|witamin]]:
** [[w:witamina A|witamina A]],
** [[w:witamina B2|witamina B2]],
** [[w:witamina B3|witamina B3]] (PP).
** [[w:witamina B6|witamina B6]],
** [[w:witamina C|witamina C]].
* Mikro- i makroelementy pochodzące z roślin (02-1%){{r|ref2}}
:* ok. 30 pierwiastków, w tym żelazo, magnez, mangan, kobalt.
* [[w:nadtlenek wodoru|nadtlenek wodoru]] powstający w wyniku działania enzymów w miodzie (do 50 mg/kg){{r|ref1}}.
* [[Pszczelarstwo/Miód#HMF (5-hydroxymethylfurfural)|HMF]] tworzący się w trakcie przechowywania miodu. (→ [[Pszczelarstwo/Miód#HMF (5-hydroxymethylfurfural|Analiza miodu]]){{r|ref1}}
== Przypisy ==
{{Przypisy|
{{o|n=ref1|r=[http://deposit.ddb.de/cgi-bin/dokserv?idn=980029031&dok_var=d1&dok_ext=pdf&filename=980029031.pdf Mavric, E., Praca doktorska przy Uniw. w Dreźnie, 2005]}}
{{o|n=ref2|r=[http://web.archive.org/web/20060409080710/http://www.opisik.pulawy.pl/MatXXXIX.pdf ''Materiały z XXXIX Naukowej Konferencji Pszczelarskiej'', Puławy, 2002]}}
{{o|n=ref3|r=[http://www.nzfsa.govt.nz/animalproducts/publications/info-pamphlet/bee-products/toxic-honey.htm ''Miód z tutu'']}}
{{o|n=ref4|r=[http://www.miesiecznik-pszczelarstwo.pl/artykuly/2004_05/artykul_2004_05.html Hołderna-Kędzia, E., Kędzia, B., ''Wpływ lizozymu na antybiotyczne działanie miodu'', Pszczelarstwo 2004/5]}}
}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
odpcgkp3psdnfpjfkmjp83wy6alfcrq
546642
546641
2026-06-14T06:01:37Z
EdytaT
2664
/* Miody odmianowe */
546642
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód}}
{{Definicja|'''"Mała jest pszczoła wśród latających stworzeń, lecz owoc jej ma pierwszeństwo pośród słodyczy."'''<br>{{Small|''Biblia, Księga Mądrości Syracha (Syr 11,3)''}}}}
=== Podział miodów ze względu na konsystencję ===
* Nakrop - świeżo naniesiony nektar.
* Patoka - płynny miód będący produktem wyciskania lub odwirowania plastrów.
* Krupiec - miód w postaci skrystalizowanej, w odróżnieniu od ciekłej patoki.
=== Podział miodów ze względu na substancję wyjściową ===
Naturalny miód pszczeli powstaje z [[Pszczelarstwo/Rośliny/Nektar|nektaru]] wydzielanego przez rośliny nektarodajne lub ze [[Pszczelarstwo/Rośliny/Spadź|spadzi]]. Miód smakuje znakomicie do pieczywa, do pikantnych serów lub jako składnik sosów. Nadaje się również jako składnik polew do prażonych orzechów, kasztanów, owoców lub ciast.
Ze względu na pochodzenie rozróżnia się trzy rodzaje miodów:
[[Grafika:Runny hunny.jpg|350px|thumb|right]]
=== [[Pszczelarstwo/Produkty/Miody nektarowe|'''Miody nektarowe''']] ===
==== [[Pszczelarstwo/Produkty/Miody odmianowe|Miody odmianowe]] ====
* [[Pszczelarstwo/Produkty/Miód akacjowy|Miód akacjowy]]
* [[Pszczelarstwo/Produkty/Miód dębowy|Miód dębowy]]
* [[Pszczelarstwo/Produkty/Miód Dzidzilché|Miód Dzidzilché]] (Tzi'tzil'che) {{Small|(Meksyk)}}
* [[Pszczelarstwo/Produkty/Miód faceliowy|Miód faceliowy]]
* [[Pszczelarstwo/Produkty/Miód gryczany|Miód gryczany]]
* [[Pszczelarstwo/Produkty/Miód jabłoniowy|Miód jabłoniowy]]
* [[Pszczelarstwo/Produkty/Miód jeżynowy|Miód jeżynowy]]
* [[Pszczelarstwo/Produkty/Miód kasztanowy|Miód kasztanowy]]
* [[Pszczelarstwo/Produkty/Miód klonowy|Miód klonowy]]
* [[Pszczelarstwo/Produkty/Miód koniczynowy|Miód koniczynowy]]
* [[Pszczelarstwo/Produkty/Miód lawendowy|Miód lawendowy]]
* [[Pszczelarstwo/Produkty/Miód lipowy|Miód lipowy]]
* [[Pszczelarstwo/Produkty/Miód macierzankowy|Miód macierzankowy]]
* [[Pszczelarstwo/Produkty/Miód malinowy|Miód malinowy]]
* [[Pszczelarstwo/Produkty/Miód Manuka|Miód Manuka]] {{Small|(Nowa Zelandia)}}
* [[Pszczelarstwo/Produkty/Miód melisowy|Miód melisowy]]
* [[Pszczelarstwo/Produkty/Miód miętowy|Miód miętowy]]
* [[Pszczelarstwo/Produkty/Miód mniszkowy|Miód mniszkowy]]
* [[Pszczelarstwo/Produkty/Miód nawłociowy|Miód nawłociowy]]
* [[Pszczelarstwo/Produkty/Miód nostrzykowy|Miód nostrzykowy]]
* [[Pszczelarstwo/Produkty/Miód ogórecznikowy|Miód ogórecznikowy]]
* [[Pszczelarstwo/Produkty/Miód rzepakowy|Miód rzepakowy]]
* [[Pszczelarstwo/Produkty/Miód Sidr|Miód Sidr]] {{Small|(Półwysep Arabski)}}
* [[Pszczelarstwo/Produkty/Miód słonecznikowy|Miód słonecznikowy]]
* [[Pszczelarstwo/Produkty/Miód szałwiowy|Miód szałwiowy]]
* [[Pszczelarstwo/Produkty/Miód Tajonal|Miód Tajonal]] (Tahonal) {{Small|(Meksyk)}}
* [[Pszczelarstwo/Produkty/Miód tamaryszkowy|Miód tamaryszkowy]]
* [[Pszczelarstwo/Produkty/Miód tymiankowy|Miód tymiankowy]]
* [[Pszczelarstwo/Produkty/Miód walerianowy|Miód walerianowy]]
* [[Pszczelarstwo/Produkty/Miód wierzbowy|Miód wierzbowy]]
* [[Pszczelarstwo/Produkty/Miód wrzosowy|Miód wrzosowy]]
==== [[Pszczelarstwo/Produkty/Miody wielokwiatowe|Miody wielokwiatowe]] ====
* [[Pszczelarstwo/Produkty/Miód z nektaru drzew owocowych|Miód z nektaru drzew owocowych]],
==== [[Pszczelarstwo/Produkty/Miody spadziowe|'''Miody spadziowe''']] (leśne) ====
:* Miód ze spadzi liściastej
:* Miód ze spadzi iglastej
==== [[Pszczelarstwo/Produkty/Miody nektarowo-spadziowe|'''Miody nektarowo-spadziowe''']] ====
:* [[Pszczelarstwo/Produkty/Miód górski|Miód górski]] {{Small|(rejon Alp)}}
=== Podział miodów ze względu na sposób prowadzenia pasieki ===
* Ze względu na sposób prowadzenia pasieki pozyskujące miód rozróżniane są:
:* '''Miód''' (bez dodatkowych oznaczeń)
:* '''Miód ekologiczny''' (bio)
:** Między pasieką konwencjonalną a pasieką ekologiczną (w warunkach Polski i UE) różnice są niewielkie lub w ogóle ich nie ma. Pojęcie "miodu ekologicznego" pojawiło się na fali napływu innych produktów spożywczych określanych tym mianem.
:*** W pasiece ekologicznej nie wolno stosować żadnych środków chemicznych do zwalczania chorób pszczół. Jednak w prawidłowo prowadzonej pasiece konwencjonalnej również nie stosuje się chemikaliów do zwalczania chorób. Walka z [[Pszczelarstwo/Choroby/Warroza|warrozą]] odbywa się w obu przypadkach jedynie za pomocą metod biologicznych i kwasów organicznych, które są naturalnymi składnikami miodu.
:*** Kolejnym punktem, gdzie pasieka konwencjonalna teoretycznie może się różnić od pasieki ekologicznej jest stosowanie preparatów syntetycznych od przeganiania pszczół z plastrów podczas miodobrania. Również tutaj praktyka pasieczna jest w obu przypadkach identyczna, ponieważ zasadniczo do odganiania pszczół stosuje się [[Pszczelarstwo/Sprzęt/Przegonka|przegonki]] i dym z [[Pszczelarstwo/Sprzęt/podkurzacz|podkurzacza]].
:*** Trzecim kryterium jest pozyskiwanie miodu na "przemysłowych" plantacjach drzew owocowych. Pszczelarze deklarujący swój miód jako ekologiczny nie mogą ustawiać uli w pobliżu takich plantacji.
:*** Kolejna różnica polega na tym, że ule w pasiekach konwencjonalnych mogą, a w pasiekach ekologicznych muszą być wykonane z budulca naturalnego, jak drewno, słoma lub glina, co jednak nie ma wpływu na jakość pozyskiwanego miodu.
:*** [[Pszczelarstwo/Sprzęt/Węza|Węza]] w pasiekach ekologicznych musi być wykonana z wosku posiadającego gwarancję, że nia ma w nim pozostałości substancji chemicznych, pochodzącego z własnej pasieki lub innej pasieki ekologicznej. Pszczelarze konwencjonalni mogą również takiej węzy używać, a poza tym mogą kupować węzę od wytwórców bez przydomka "ekologiczny". Teoretycznie w pasiekach konwencjonalnych pozostaje możliwość zaopatrywania się węzę z krajów trzecich.
:*** Miód ekologiczny nie może być podgrzany do temperatury powyżej 40°C (np. w celu upłynnienia przed rozlaniem do słoików). To zalecenie dotyczy jednak wszystkich pozyskiwanych miodów.
=== Podział miodów ze względu na rodzaj pszczół ===
* [[Pszczelarstwo/Produkty/Miody pszczół azjatyckich|'''Miody pszczół azjatyckich''']]
* [[Pszczelarstwo/Produkty/Miody pszczół bezżądłych|'''Miody pszczół bezżądłych''']]
=== Ziołomiody i preparaty miodowe ===
* Ziołomiody
Ziołomioy powstają, jeżeli pszczołom w specjalnych warunkach (laboratoryjnych, szklarniowych lub po prosu w pasiekach) podawany jest syrop cukrowy z dodatkiem ekstraktów z ziół lub soków owocowych. Pszczoły traktują tę ciecz jak nektar i robią z niej miód analogicznie jak miód z nektaru zebranego z kwiatów. Chociaż substancją wyjściową ziołomiodów nie jest ani nektar ani spadź, to jednak w ich skład, oprócz wartościowych substancji zawartych w dodatkach, wchodzą również enzymy pochodzące od pszczół. Popularne ziołomiody to np. aloesowy, aroniowy, głogowy, miętowy, nagietkowy, pokrzywowy, rumiankowy, sosnowy, tymiankowy itp.
:* [[Pszczelarstwo/Produkty/Life Mel|Life Mel]]
* Preparaty miodowe
Są to naturalne miody, najczęściej nektarowe, z dodatkiem innych produktów pszczelich (pyłku, propolisu lub mleczka pszczelego) albo z dodatkiem koncentratów ziołowych.
=== Miody toksyczne ===
W niektórych regionach świata pszczoły mogą zbierać nektar lub spadź z roślin zawierających składniki trujące lub szkodliwe dla ludzi.
* Tutu (''Coriaria arborea'') jest krzewem rosnącym w Nowej Zelandii, który zawiera toksyczną dla ludzi tutynę. Miejscowe pszczoły czasem zbierają [[Pszczelarstwo/Rośliny/Spadź|spadź]] wytwarzaną przez żywiące się na krzewie owady z rodzaju ''Scolypopa'' i produkują z niej toksyczny miód{{r|ref3}}.
=== Skład miodu ===
==== Wartość odżywcza ====
Wartość odżywcza miodu zależy od jego rodzaju i w przypadku miodu nie musi być podawana na opakowaniu. Średnio wynosi ona<ref>Bienenvater, ''Die Nährwertkennzeichnung'', Heft 2/2003, str. 25</ref>
* wartość energetyczna: 1274 J / 304 kcal
* tłuszcz: 0,00 g
: * w tym kwasy tłuszczowe nasycone: 0.00 g
* węglowodany: 80,8 g
:* w tym [[w:fruktoza|fruktoza]]: 38,80 g
:* w tym [[w:glukoza|glukoza]]: 33,90 g
: białko : 0,30 - 0,50 g
* sól: 0.00 g
==== Skład ====
'''Miód''' pszczeli jako substancja jest bardzo [[w:lepkość|lepkim]], wieloskładnikowym, [[w:roztwór przesycony| przesyconym roztworem]] [[w:sacharydy|węglowodanów]]. Miód składa się przeciętnie z 20% wody i 80% [[w:węglowodany|węglowodanów]], przede wszystkim z cukrów prostych:
* [[w:glukoza|glukozy]] i
* [[w:fruktoza|fruktozy]].
*: Miody nektarowe zawierają 75-85% (60-80%) tych cukrów, miody spadziowe 50-65%. Glukoza i fruktoza w miodzie pochodzi przede wszystkim bezpośrednio z nektaru lub spadzi, a dodatkowo tworzy się w procesie dojrzewania miodu w wyniku rozkładu sacharozy pod wpływem aktywności enzymu [[w:inwertaza|inwertazy]] (→ [[Pszczelarstwo/Miód#Analiza miodu|Analiza miodu]]).
Poza tym składnikami miodu są:
* cukry złożone:
** [[w:maltoza|maltoza]] pochodząca z gruczołów pszczoły-robotnicy (2-8%){{r|ref1}}
** [[w:sacharoza|sacharoza]] pochodząca z nektaru(0-2%){{r|ref1}}
* [[w:Enzymy|Enzymy]] miodowe:
:* Miód zawiera 0,23 do 0,43% enzymów ( w większości [[w:białka|białek]]) o różnej aktywności (U/kg):
:** [[w:sacharaza|sacharaza]] pochodząca z gruczołów pszczoły-robotnicy (20-200 U/kg){{r|ref1}},
:** [[w:oksydaza glukozy|oksydaza glukozy]] pochodząca z gruczołów pszczoły-robotnicy i z pyłku (10-300 U/kg){{r|ref1}}
:** [[w:fosfataza|fotostaza]] pochodząca z gruczołów pszczoły-robotnicy (7-40 U/kg){{r|ref1}},
:** [[w:amylaza|α- i β-amylaza]] ({{Small|dawn.}}[[w:diastaza|diastaza]]),
:** [[w:inwertaza|inwertaza]],
:** [[w:katalaza|katalaza]],
:** [[w:maltaza|maltaza]],
:** [[w:lizozym|lizozym]], wytwarzany przez [[Pszczelarstwo/Biologia/Gruczoły głowowe#Gruczoły gardzielowe|gruczoły gardzielowe]] i [[Pszczelarstwo/Biologia/Gruczoły głowowe#Gruczoły ślinowe|ślinowe]] pszczół, współdecydujący o działaniu antybiotycznym miodu. {{r|ref4}}
* tzw. inhibiny, hamujące rozwój drożdży i niektórych rodzajów bakterii.
* [[w:Aminokwasy|Aminokwasy]] (200-2000 mg/kg) i [[w:kwasy organiczne|kwasy organiczne]] (300-600 mg/kg, w tym np. kwas glukonowy, mlekowy, mrówkowy, szczawiowy){{r|ref1}}:
:* 100 g miodu nektarowego zawiera 37-875 mg (śr. 175 mg) wolnych aminokwasów, miodu spadziowego 54-269 mg (śr. 178 mg).
:* [[w:Fosfolipidy|Fosfolipidy]]:
:** [[w:lecytyna|lecytyna]] (zawierająca [[w:cholina|cholinę]]).
:* [[w:Aminokwasy endogenne|aminokwasy endogenne]] (produkowane przez organizm samodzielnie){{r|ref2}}:
:** [[Pszczelarstwo/Produkty/Prolina|prolina]] (Prb, P) - 30-70% wszystkich aminokwasów,
:** [[w:kwas asparaginowy|kwas asparaginowy]] (Asp),
:** [[w:kwas glutaminowy|kwas glutaminowy]] (Glu),
:** [[w:glicyna|glicyna]] (Gly, G),
:** [[w:alanina|alanina]] (Ala, A),
:** [[w:seryna|seryna]] (Ser, S),
:** [[w:hydroksyprolina|hydroksyprolina]] (Hyp),
:** [[w:tyrozyna|tyrozyna]] (Tyr),
:* [[w:Aminokwasy egzogenne|aminokwasy egzogenne]] (dostarczane organizmowi wyłącznie przez pożywienie): {{r|ref2}}
:** [[w:lizyna|lizyna]] (Lys, K),
:** [[w:fenyloalanina|fenyloalanina]] (Phe),
:** [[w:leucyna:leucyna]] (Leu),
:** [[w:izoleucyna|izoleuncyna]] (Ile),
:** [[w:walina|walina]] (Val),
:** [[w:treonina|treonina]] (Thr),
:** [[w:metionina|metionina]] (Met),
:** [[w:histydyna|histydyna]] (His),
:** [[w:arginina|arginina]] (Arg),
:** [[w:tryptofan|tryptofan]] (Trp),
* Śladowe ilości [[w:witaminy|witamin]]:
** [[w:witamina A|witamina A]],
** [[w:witamina B2|witamina B2]],
** [[w:witamina B3|witamina B3]] (PP).
** [[w:witamina B6|witamina B6]],
** [[w:witamina C|witamina C]].
* Mikro- i makroelementy pochodzące z roślin (02-1%){{r|ref2}}
:* ok. 30 pierwiastków, w tym żelazo, magnez, mangan, kobalt.
* [[w:nadtlenek wodoru|nadtlenek wodoru]] powstający w wyniku działania enzymów w miodzie (do 50 mg/kg){{r|ref1}}.
* [[Pszczelarstwo/Miód#HMF (5-hydroxymethylfurfural)|HMF]] tworzący się w trakcie przechowywania miodu. (→ [[Pszczelarstwo/Miód#HMF (5-hydroxymethylfurfural|Analiza miodu]]){{r|ref1}}
== Przypisy ==
{{Przypisy|
{{o|n=ref1|r=[http://deposit.ddb.de/cgi-bin/dokserv?idn=980029031&dok_var=d1&dok_ext=pdf&filename=980029031.pdf Mavric, E., Praca doktorska przy Uniw. w Dreźnie, 2005]}}
{{o|n=ref2|r=[http://web.archive.org/web/20060409080710/http://www.opisik.pulawy.pl/MatXXXIX.pdf ''Materiały z XXXIX Naukowej Konferencji Pszczelarskiej'', Puławy, 2002]}}
{{o|n=ref3|r=[http://www.nzfsa.govt.nz/animalproducts/publications/info-pamphlet/bee-products/toxic-honey.htm ''Miód z tutu'']}}
{{o|n=ref4|r=[http://www.miesiecznik-pszczelarstwo.pl/artykuly/2004_05/artykul_2004_05.html Hołderna-Kędzia, E., Kędzia, B., ''Wpływ lizozymu na antybiotyczne działanie miodu'', Pszczelarstwo 2004/5]}}
}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
de6f3ho2n2e6ew27lcym0t2rdqxrmxz
Pszczelarstwo/Produkty/Miody nektarowe
0
17311
546639
534091
2026-06-14T05:51:41Z
EdytaT
2664
546639
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miody nektarowe}}
== Miody nektarowe ==
{{Plik|plik=Rapsfeld 2007.jpg|pozycja=prawo|rozmiar=300px|ramka=mały|opis=Pole kwitnącego rzepaku}}
=== Pochodzenie ===
:* Miody nektarowe powstają z nektaru kwiatów zbieranego przez pszczoły. Wśród miodów nektarowych wyróżniane są miody [[Pszczelarstwo/Produkty/Miody odmianowe|odmianowe]] i miody [[Pszczelarstwo/Produkty/Miody wielokwiatowe|wielokwiatowe]] (mieszane). Ponadto miody te dzielą się na miody wiosenne (wczesne) i miody letnie (późne), w zależności od terminu kwitnienia roślin, z których pochodzi nektar.
=== Właściwości ===
:* Konsystencja - wczesne miody nektarowe krystalizują bardzo szybko, czasami kilka-kilkanaście dni po miodobraniu. Wynika to z przewagi glukozy w stosunku do fruktozy w miodach wiosennych. Krystalizacja miodów nektarowych przebiega w zależności od rodzaju kwatów, z których pochodzi nektar - od drobnokrystalicznie do gruboziarniście.
=== Przeciętny skład miodów nektarowych ===
:* W skład miodów nektarowych wchodzą głownie [[w:Cukry redukujące|cukry redukujące]] (glukoza i fruktoza). Miody nektaowe, w przeciwieństwie do miodów spadziowych, zawierają mało nieredukujących [[w:oligosacharydy|oligosacharydów]].
:* % wody,
:* % fruktozy,
:* % glukozy,
:* % sacharozy,
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
4p5u393oj2wpyn2q88jrlqte11slonw
Pszczelarstwo/Produkty/Miód tamaryszkowy
0
19150
546643
534141
2026-06-14T06:03:28Z
EdytaT
2664
546643
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód tamaryszkowy}}
=== Miód tamaryszkowy ===
{{Plik|plik=Tamarix aphylla.jpg|pozycja=prawo|rozmiar=200px|ramka=mały|opis=Krzew tamaryszka w Izraelu}}
=== Pochodzenie ===
Miód tamaryszkowy pochodzi z [[Pszczelarstwo/Rośliny/Tamarix|tamaryszka]] (''Tamarix''), krzewu rosnącego w suchych, prawie pustynnych i ciepłych regionach świata.
=== Właściwości ===
Ma ciemną, bursztynową barwę, a w smaku wyczuwalna jest wyraźnie lekko słona goryczka. Czasem w miodzie jest wyczuwalny smak soku z tamaryszka, wydzielanego z krzewu po nakłuciu przez mszyce. Sok z tamaryszka jest uznawany za biblijną mannę.
Miód tamaryszkowy nadaje się do produkcji wytrawnych [[Pszczelarstwo/Miód pitny|miodów pitnych]]. W Grecji i w krajach Azji Mniejszej miód tamaryszkowy jest tradycyjnym składnikiem nugatu.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
0mlz451ehfuywky5800p9eyjmcsqldq
546644
546643
2026-06-14T06:04:19Z
EdytaT
2664
546644
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód tamaryszkowy}}
{{Plik|plik=Tamarix aphylla.jpg|pozycja=prawo|rozmiar=200px|ramka=mały|opis=Krzew tamaryszka w Izraelu}}
== Miód tamaryszkowy ==
=== Pochodzenie ===
Miód tamaryszkowy pochodzi z [[Pszczelarstwo/Rośliny/Tamarix|tamaryszka]] (''Tamarix''), krzewu rosnącego w suchych, prawie pustynnych i ciepłych regionach świata.
=== Właściwości ===
Ma ciemną, bursztynową barwę, a w smaku wyczuwalna jest wyraźnie lekko słona goryczka. Czasem w miodzie jest wyczuwalny smak soku z tamaryszka, wydzielanego z krzewu po nakłuciu przez mszyce. Sok z tamaryszka jest uznawany za biblijną mannę.
Miód tamaryszkowy nadaje się do produkcji wytrawnych [[Pszczelarstwo/Miód pitny|miodów pitnych]]. W Grecji i w krajach Azji Mniejszej miód tamaryszkowy jest tradycyjnym składnikiem nugatu.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
ngzwxeqam874phtblx0mnqkulse4ogx
Szablon:StronaStart
10
19820
546594
533003
2026-06-13T16:00:04Z
Persino
2851
546594
wikitext
text/x-wiki
<includeonly><!--
--><templatestyles src="Szablon:StronaStart/szablon-mobilne.css" /><!--
--><templatestyles src="Szablon:StronaStart/szablon-złożone-mobilne.css" /><!--
--><templatestyles src="Szablon:StronaStart/szablon-siatka-mobilna.css" /><!--
--><templatestyles src="Szablon:StronaStart/stronastart.css" /><!--
--><templatestyles src="Szablon:StronaStart/szablon-mobilne-minerva.css" /><!--
--><templatestyles src="Szablon:Link_wewnętrzny/styles.css" /><!--
-->{{#if:{{{formatowanie|}}}|<templatestyles src="Szablon:StronaStart/styles.css" />{{#if:{{{boczne menu|}}}|{{#if:{{{spis treści|TOC}}}{{{wykaz modułów|WYKAZ}}}|<templatestyles src="Szablon:TOC/styles.css" /><templatestyles src="Szablon:TOC_limit/styles.css" />}}}}}}{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|{{Mniejszy}}div class="{{#if:{{{formatowanie|}}}|strona_start_formatowanie}} strona_start ekran mobilne kolumnowy {{#if:{{{format|}}}|format}} tło_strona_start" style="{{#if:{{{format|}}}|font-size:1rem;line-height:1.4em;}}min-width:auto;width:auto;max-width:100%;height:auto;box-sizing:border-box;overflow:hidden;position:relative;clear:both;word-break:break-word;"{{Większy}}{{Mniejszy}}div style="display:flex;flex-direction:column;" class="strona_nadrzędna tło_strona_nadrzędna" {{Większy}}{{#if:{{{podręcznik|tak}}}|{{Podręcznik|styl=order:1;}}}}{{Mniejszy}}div style="order:2;"{{Większy}}
{{{nagłówek|}}}{{Mniejszy}}/div{{Większy}}{{Mniejszy}}div style="order:4;"{{Większy}}
{{{stopka|}}}{{Mniejszy}}/div{{Większy}}{{Mniejszy}}div class="noprint" class="główna_strona tło_główna_strona" style="order:3;position:relative;top:0px;left:0px;display:flex;flex-direction:row;{{#if:{{{margines zewnętrzny|0}}}|margin:{{{margines zewnętrzny|0}}};}}"{{Większy}}{{#if:{{{boczne menu|}}}|__NOTOC__}}{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}{{{nagłówek prawy|}}}{{{stopka prawa|}}}|
<div style="order:1;width:{{{lewa strona|auto}}};box-sizing:border-box;overflow:visible;position:relative;" class="strona_lewa mw-parent-node"><!--
--><div class="nawigacja_boksy" style="height:100%;width:auto;visibility:hidden;flex-direction:column;box-sizing:border-box;z-index:1;left:0"><!--
-->{{#if:{{{nagłówek lewy|}}}|<!--
-->{{Div|klasa=mw-optimal-x nagłówek_lewy|styl=position:absolute;left:0;z-index:2;margin-right:0.3125rem|{{{nagłówek lewy}}}}}<!--
-->}}<!--
--><!--{{Div|styl=position:absolute;height:0%;box-sizing:border-box;}}--><!--
-->{{#if:{{{stopka lewa|}}}|<!--
-->{{Div|klasa=mw-optimal-x stopka_lewa|styl=position:absolute;left:0;z-index:2;margin-right:0.3125rem|{{{stopka lewa}}}}}<!--
-->}}<!--
-->
</div><!--
--></div><!--
--><div style="width:{{{prawa strona|100%}}};box-sizing:border-box;order:3;overflow:visible;position:relative;" class="strona_prawa mw-parent-node"><div class="mw-sticky-y toclimit {{#if:{{{limit|}}}|toclimit-{{{limit}}}}} {{#if:{{{formatowanie|}}}|fonty_rodzina_sans {{#if:{{{boczne menu|}}}|fonty_poboczna_kolumna|fonty_toc}}}} spis nawigacja_spis" style="display:flex;flex-direction:column;z-index:2;position:absolute;left:0;top:0;width:{{#if:{{{boczne menu|}}}|43.75rem|auto}};max-width:43.75rem;box-sizing:border-box;{{#if:{{{margines zewnętrzny poboczny|0 0 0 0.3125rem}}}|margin:{{{margines zewnętrzny poboczny|0 0 0 0.3125rem}}};}}{{#if:{{{margines wewnętrzny poboczny|0}}}|padding:{{{margines wewnętrzny poboczny|0}}};}}"><div class="style_strony_{{#if:{{{boczne menu|}}}|bocznego_menu|TOC}}" style="{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{rozmiar czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-size:{{{rozmiar czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{wysokość linii czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|line-height:{{{wysokość linii czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{rodzina czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-family:{{{rodzina czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{wariant czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-variant:{{{wariant czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{rozciągnięcie czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-stretch:{{{rozciągnięcie czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{waga czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-weight:{{{waga czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{styl czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-style:{{{styl czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}};"><!--
-->{{#if:{{{boczne menu|}}}<!--
-->|{{#invoke:StronicowyParser|NazwaLicencjaWykazSpisTreściModułuKsiążki|{{{nazwa modułu|NAZWA MODUŁU}}}|{{{licencja|LICENCJA}}}|{{{wykaz modułów|WYKAZ}}}|{{{spis treści|TOC}}}|rozciągnij=tak|wysokość=100%|bez marginesu dolnego=tak|bez pasków poziomych przewijania=tak}}<!--
-->|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki użytkownika=tak|obsługiwane jednostki brudnopisu projektu=tak|obsługiwane strony jako niebrudnopisowe jednostki programowe=tak|nazwa przestrzeni nazw={{{nazwa przestrzeni nazw|(main)}}}|nazwa jednostki={{{nazwa jednostki|{{#invoke:StronicowyParser|ArtykułSubst|pobierz pełną nazwę artykułu=tak}}}}}|typ jednostki={{{typ jednostki|}}}}}<!--
-->|podręcznik|artykuł|podręcznik dla dzieci|artykuł dla dzieci|podręcznik brudnopisu projektu|artykuł brudnopisu projektu|podręcznik użytkownika|artykuł użytkownika={{#if:{{#invoke:StronicowyParser|CzySpisTreści|artykuł={{msg:NAZWAARTYKUŁUKSIĄŻKI|{{{nazwa przestrzeni nazw|(main)}}}:{{{nazwa jednostki|{{#invoke:StronicowyParser|ArtykułSubst|pobierz pełną nazwę artykułu=tak}}}}}}}|wyspecjalizowana=tak}}
|{{Jeśli niepuste|{{#invoke:StronicowyParser|WykazModułówKsiążki|spis książkowy=tak|spis rzeczy=tak|nagłówki=tak|wysokość=100%|szerokość=43.75rem|artykuł={{msg:NAZWAARTYKUŁUKSIĄŻKI|{{{nazwa przestrzeni nazw|(main)}}}:{{{nazwa jednostki|{{#invoke:StronicowyParser|ArtykułSubst|pobierz pełną nazwę artykułu=tak}}}}}}}}}|__NOTOC__{{TOC/silnik|funkcja=PokazanaNiewikitabelowaListaMenu|spis treści=Spis treści|limit={{{limit|}}}|bez dodatkowych sprawdzeń=tak|bez komunikatu błędu=tak|wysokość=100%}}|przed lewy={{Div start|styl=width:43.75rem;display:flex;flex-direction:column;overflow:auto;background-color:white;|klasa=strona_spisu_treści}}{{StronaTytułowa|rozmiar=43.75rem}}__NOTOC__|po lewy={{Div koniec}}}}
|{{TOC/silnik|funkcja=PokazanaNiewikitabelowaListaMenu|spis treści=Spis treści|limit={{{limit|}}}|bez dodatkowych sprawdzeń=tak|bez komunikatu błędu=tak|wysokość=100%}}
}}<!--
-->|strona szablonu={{TOC/silnik|funkcja=PokazanaNiewikitabelowaListaMenu|spis treści=Spis treści|limit={{{limit|}}}|bez dodatkowych sprawdzeń=tak|bez komunikatu błędu=tak|wysokość=100%}}<!--
|
-->|#default=__NOTOC__{{TOC/silnik|funkcja=PokazanaNiewikitabelowaListaMenu|spis treści=Spis treści|limit={{{limit|}}}|bez dodatkowych sprawdzeń=tak|bez komunikatu błędu=tak|wysokość=100%}}<!--
-->}}<!--
-->}}<!--
--></div></div>
<!--
--><div class="nawigacja_boksy" style="width:auto;height:100%;visibility:hidden;flex-direction:column;margin-top:0;box-sizing:border-box;z-index:1;right:0"><!--
-->{{#if:{{{nagłówek prawy|}}}|<!--
-->{{Div|klasa=mw-optimal-x nagłówek_prawy|styl=position:absolute;right:0;z-index:2;margin-left:0.3125rem|{{{nagłówek prawy}}}}}<!--
-->}}<!--
--><!--{{Div|styl=position:absolute;height:0%;box-sizing:border-box;}}--><!--
-->{{#if:{{{stopka prawa|}}}|<!--
-->{{Div|klasa=mw-optimal-x stopka_prawa|styl=position:absolute;right:0;z-index:2;margin-left:0.3125rem;|{{{stopka prawa}}}}}<!--
-->}}<!--
-->
</div><!--
--></div>}}}}<!--
-->{{Mniejszy}}div style="{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|order:2;}}display:flex;flex-direction:column;max-width:100%;box-sizing:border-box;{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}||{{#if:{{{format|}}}|font-size:1rem;line-height:1.4em;}}}}" class="{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|strona_środkowa tło_strona_środkowa|{{#if:{{{formatowanie|}}}|strona_start_formatowanie}} strona_start mobilne niekolumnowy {{#if:{{{format|}}}|format}} tło_strona_start}}"{{Większy}}<!--
-->{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}||{{#if:{{{podręcznik|tak}}}|{{Podręcznik|styl=order:1;}}}}}}<!--
--><div style="order:2;{{#if:{{{margines wewnętrzny|}}}|padding:{{{margines wewnętrzny|0}}};}}">{{{ {{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|wstęp|nagłówek}}|}}}</div><!--
--><div style="order:5;{{#if:{{{margines wewnętrzny|}}}|padding:{{{margines wewnętrzny|0}}};}}">{{{ {{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|zakończenie|stopka}}|}}}</div><!--
Menu strony
-->{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|<div class="menu" style="order:3;display:none;"></div>}}<!--
-->{{Mniejszy}}div id="strona" class="strona print {{#if:{{{formatowanie|}}}|fonty_rodzina_sans fonty_główna_kolumna}} tło_strona" style="{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|clear:both;}}order:4;display:flex;flex-direction:column;position:relative;left:0px;top:0px;{{#if:{{{obramowanie|tak}}}|border: solid #aaa 1px;}}{{Jeśli niepuste|{{{margines zewnętrzny główny|0}}}|przed lewy=margin:|po lewy=;}}{{#ifeq:{{{boczne menu|}}}{{{spis treści|TOC}}}||{{Jeśli niepuste|{{{margines zewnętrzny|0.3125rem 0 0 0}}}|przed lewy=margin:|po lewy=;}}}}{{#if:{{{margines wewnętrzny|0.625rem 0.625rem 0.625rem 0.625rem}}}{{{obramowanie|tak}}}|box-sizing:border-box;}}"{{Większy}}<!--
-->{{Mniejszy}}div class="style_strony" style="{{Jeśli niepuste|{{{czcionka strony|}}}|przed lewy=font:|po lewy=;}}{{#if:{{{czcionka strony|}}}||{{Jeśli niepuste|{{{rozmiar czcionki strony|}}}|przed lewy=font-size:|po lewy=;}}}}{{#if:{{{czcionka strony|}}}||{{Jeśli niepuste|{{{wysokość linii czcionki strony|}}}|przed lewy=line-height:|po lewy=;}}}}{{#if:{{{czcionka strony|}}}||{{Jeśli niepuste|{{{rodzina czcionki strony|}}}|przed lewy=font-family:|po lewy=;}}}}{{#if:{{{czcionka strony|}}}||{{Jeśli niepuste|{{{wariant czcionki strony|}}}|przed lewy=font-variant:|po lewy=;}}}}{{#if:{{{czcionka strony|}}}||{{Jeśli niepuste|{{{rozciągnięcie czcionki strony|}}}|przed lewy=font-stretch:|po lewy=;}}}}{{#if:{{{czcionka strony|}}}||{{Jeśli niepuste|{{{waga czcionki strony|}}}|przed lewy=font-weight:|po lewy=;}}}}{{#if:{{{czcionka strony|}}}||{{Jeśli niepuste|{{{styl czcionki strony|}}}|przed lewy=font-style:|po lewy=;}}}}"{{Większy}}<!--
-->{{Mniejszy}}div id="ciało_kontener" class="ciało_kontener mw-overflow-x tło_ciało_kontener" style="display:flex;flex-direction:column;overflow:auto;width:100%;max-width:-moz-available;max-width:-webkit-fill-available;max-width:stretch;"{{Większy}}<!--
-->{{Mniejszy}}div style="order:1;box-sizing:border-box;flex:0 1 auto;max-width:100%;min-width:{{{minimalna szerokość strony|{{{szerokość strony|51.25rem}}}}}};{{#if:{{{margines wewnętrzny|0 0.625rem}}}|padding:{{{margines wewnętrzny|0 0.625rem}}};}}"{{Większy}}{{{nagłówek strony|}}}{{Mniejszy}}/div{{Większy}}<!--
-->{{Mniejszy}}div style="order:3;box-sizing:border-box;flex:0 1 auto;max-width:100%;min-width:{{{minimalna szerokość strony|{{{szerokość strony|51.25rem}}}}}};{{#if:{{{margines wewnętrzny|0 0.625rem}}}|padding:{{{margines wewnętrzny|0 0.625rem}}};}}"{{Większy}}{{{stopka strony|}}}{{Mniejszy}}/div{{Większy}}<!--
-->{{Mniejszy}}div id="ciało_strona" style="order:2;min-width:{{{minimalna szerokość strony|{{{szerokość strony|51.25rem}}}}}};max-width:{{{maksymalna szerokość strony|{{{szerokość strony|51.25rem}}}}}};width:{{{szerokość strony|51.25rem}}};height:{{{wysokość strony|100%}}};{{#if:{{{pasek przewijania|hidden}}}|overflow-x:{{{pasek przewijania|hidden}}};overflow-y:clip;}}{{Jeśli niepuste|{{{margines wewnętrzny|0.625rem}}}|przed lewy=padding:|po lewy=;}}box-sizing:border-box;" class="ciało_strona tło_ciało_strona"{{Większy}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
73l4e10e0u9felq84bt7v0benht6vbg
Moduł:StronicowyParser
828
34347
546589
542232
2026-06-13T15:43:49Z
Persino
2851
546589
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modulu,dokumentacja,inkludowana)
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
return stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,dokumentacja,inkludowana);
end;
function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu_aktualna_czy_biezaca,inkludowana)
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
local tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nil,nazwa_modulu_aktualna_czy_biezaca,inkludowana,nil);
return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony;
end;
p["DaneUkładuAutonawigacji"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
if(not spis)then return nil;end;
return tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu,tab_lista_artykulow_w_ksiazce.tab_inne_spisy,tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu;
end;
p["SpisyTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki,bez_json)
local nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly=p["DaneUkładuAutonawigacji"](frame,tabela_listy_danych_analizy_ksiazki);
local tabela={};
tabela.spis_tresci=nazwa_glownego_spisu;
tabela.inne_spisy=tab_inne_spisy;
tabela.dodatkowe_strony_woluminu=dodatkowe_artykuly;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local czy_json=((not bez_json)and(parametry_modul.CzyTak(PobierzParametr("json")))) and true or false;
return czy_json and mw.text.jsonEncode(tabela,mw.text.JSON_PRESERVE_KEYS) or tabela;
end;
p["CzySpisTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local spisy=p["SpisyTreści"](frame,tabela_listy_danych_analizy_ksiazki,true);
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local artykul=PobierzParametr("artykuł");
----
if(artykul)then
artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",};
if((spisy.spis_tresci)and((parametry_modul.TypeTable(spisy.spis_tresci))and((spisy.spis_tresci[1]==artykul)or(spisy.spis_tresci[2]==artykul))or(spisy.spis_tresci==artykul)))then
return "tak";
else
if((spisy.inne_spisy)and(parametry_modul.TypeTable(spisy.inne_spisy)))then
for _,spis_tresci in ipairs(spisy.inne_spisy)do
if((parametry_modul.TypeTable(spis_tresci))and((spis_tresci[1]==artykul)or(spis_tresci[2]==artykul))or(spis_tresci==artykul))then
return "tak";
end;
end;
end;
end;
end;
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstPoNapisieWprowadzeniaTekstuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.NumerSekcjiStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwracanieSekcjiNapisuWprowadzeniaTekstuStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
---
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
local html_modul=require("Module:Html");
local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true);
local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu;
----
local juz_tak=false;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil;
----
for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do
local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek);
local function Nastepny()
if(not nazwa)then
return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana);
end;
return nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana);
end;
if(juz_tak)then
if(numer>0)then
local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false);
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then
juz_tak=true;
end;
end;
end;
if(juz_tak)then
return "";
else
return "(błąd)";
end;
end;
p["PoprzedniArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
---
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
local html_modul=require("Module:Html");
local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true);
local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu;
----
local juz_tak=false;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil;
----
local artykul="";
----
for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do
local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek);
if(numer>0)then
local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false);
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then
return artykul;
else
artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana));
end;
else
if(artykul~="")then
return artykul;
else
artykul="";
end;
end;
else
if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then
return artykul;
else
artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana));
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local args=stronicowyparser_potrzebne_modul:Args();
for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do
local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek);
local function PierwszyArtykul()
if(not nazwa)then
return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
else
return nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
end;
end;
if(numer==0)then
return PierwszyArtykul();
else
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul);
if(numer==numer_artykulu_w_bazie)then
return PierwszyArtykul();
end;
end;
end;
return "(błąd)";
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local ostatni_artykul=nil;
for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do
local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek);
local function OstatniArtykul()
if(not nazwa)then
ostatni_artykul=stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
else
ostatni_artykul=nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
end;
end;
if(numer==0)then
OstatniArtykul();
else
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul);
if(numer==numer_artykulu_w_bazie)then
OstatniArtykul();
end;
end;
end;
if(ostatni_artykul)then return ostatni_artykul;end;
return "(błąd)";
end;
p["PomiędzyNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(frame);
end;
p["LosowyNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuWoluminu(frame);
end;
p["PierwszyNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:PierwszyNapisWprowadzeniaTekstu(frame);
end;
p["OstatniNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:OstatniNapisWprowadzeniaTekstu(frame);
end;
p["LiczbaNagłówkówSpisu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:LiczbaNapisowaWprowadzeniaTekstu(frame);
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local element=stronicowyparser_potrzebne_modul:LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(frame,numer) or nil;
if(not element)then return "(błąd)";end;
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end;
return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)");
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local element=stronicowyparser_potrzebne_modul:LosowaStronaWoluminu(frame,numer);
if(not element)then return "(błąd)";end;
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end;
return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)");
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
if(not czy_tabela_artykulu)then
local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1],czy_naglowek);
if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
else
local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1][1],czy_naglowek);
if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local nazwa_artykulu=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu,false) or nil;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(not uzupelniaj_sekcje_artykulow)then
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local artykul_ksiazki=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul_ksiazki=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_ksiazki,czy_naglowek);
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local szablonowe_modul=require("Module:Szablonowe");
local parametry_szablony,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local linia2=artykul_w_bazie[3];
local czy_spis_tresci=mw.ustring.match(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})")
or mw.ustring.match(linia2,"({{%s*[Ss]r%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]r%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or ("|"..a)).."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
else
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
return stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) or ((not __error)and "(błąd)" or nil);
end;
p["AktualnaKsiążkaArtykułu"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
----
local parametry_modul=require("Module:Parametry");
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local nazwy_modul=require("Module:Nazwy");
----
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local nazwa_artykulu_ksiazki=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
----
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local nazwa_artykulu_dana=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
nazwa_artykulu_dana=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_dana,czy_naglowek);
if(nazwa_artykulu_ksiazki==nazwa_artykulu_dana)then
if(not czy_tabela_artykulu)then
return nazwa_ksiazki;
else
local pelna_nazwa_ksiazki=artykul_w_bazie[1][4];
if((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki[4]))then
return nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki[1],pelna_nazwa_ksiazki[2],pelna_nazwa_ksiazki[3],"")
else
return nazwa_ksiazki;
end;
end;
end;
end;
end;
end;
return ((not __error)and "(błąd)" or nil)
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
return stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame) or ((not __error)and "(błąd)" or nil);
end;
p["PobierzNumerNagłówka"]=function(frame)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek");
return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerNagłówka"](frame);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek");
return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęNagłówka"](frame);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek");
local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerArtykułu"](frame,tabela_listy_danych_analizy_ksiazki);
return wartosc;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek");
local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęArtykułu"](frame,tabela_listy_danych_analizy_ksiazki);
return wartosc;
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek");
return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzDaneKsiążki"](frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local parametry_modul=require("Module:Parametry");
local odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=stronicowyparser_obiekty.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu;
local tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=parametry_modul["KopiujTabelęElementów"](odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu);
setmetatable(tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter);
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
local czy_centrowany=tab_lista[1][2][4];
if((numer_rozdzialu)and(numer_rozdzialu>0)and(not czy_centrowany))then
if(not tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")..linki_modul["Link wewnętrzny"]{["strona"]=pelna_nazwa_ksiazki,["nagłówek"]=rozdzial,["nazwa"]=rozdzial,["bez znaczników"]=args["bez znaczników"],["bez przetwarzania"]=args["bez przetwarzania"],};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local nazwy_modul=require("Module:Nazwy");
if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},};
end;
local szablonowe_modul=require("Module:Szablonowe");
local szablon=szablonowe_modul.NazwaSzablonu(nazwa_strony);
local zawartosc=frame:expandTemplate{title=szablon,args={},};
--Tworzenie ramek div--
local divramka=mw.html.create('div');
divramka:addClass('artykułsubst');
local poddivramka=mw.html.create('div');
poddivramka:wikitext(nazwa_strony);
poddivramka:addClass("adres");
poddivramka:css("display","none");
divramka:node(poddivramka);
local divzawartosc=mw.html.create('div');
divzawartosc:addClass("zawartość");
divzawartosc:css("display","block");
divzawartosc:wikitext(zawartosc);
divramka:node(divzawartosc)
--Zwracanie ramki div--
return tostring(divramka:allDone());
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw");
local nazwa_jednostki=PobierzParametr("nazwa jednostki");
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
if(str)then
str=frame:preprocess(str);
return str;
end;
return nil;
end;
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};
local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy));
local ksiazkowe_modul=require("Module:Książkowe");
local tabela_nazw={};
local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw);
local str=((((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]or{})[nazwa_artykulu];
if(str)then
str=frame:preprocess(str);
return str;
end;
local str=(((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki];
if(str)then
str=frame:preprocess(str);
return str;
end;
return nil;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw");
local nazwa_jednostki=PobierzParametr("nazwa jednostki");
local tab_stronasubst;
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
else
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};
local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy));
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw);
tab_stronasubst=(((tabela_listy_danych_analizy_ksiazki["StronaSubstInne"] or {})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki];
if(not tab_stronasubst)then return;end;
end;
local pierwszy=parametry_modul["Odstępy"]{nazwa=args[1],["wewnątrz"]="tak",};
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
stronasubst=frame:preprocess(stronasubst);
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Strona główna/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(p.args[1]);
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..naglowek.."</h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
return blad_module.error{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="strong",},};
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
..((parametry_modul.CzyTak(klasa)) and " class=\""..klasa.."\"" or "")
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..naglowek.."</h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local html_modul=require("Module:Html");
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local uzyskana_nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local pelna_nazwa_strony=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki..((uzyskana_nazwa_artykulu~="")and ("/"..uzyskana_nazwa_artykulu) or "");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local nazwa_ksiazki;local nazwa_artykulu;
if(args[1])then
nazwa_artykulu=args[1];
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
end;
if(args[2])then
nazwa_ksiazki=args[2];
nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=pelna_nazwa_strony,};
end;
local nazwa_artykulu=parametry_modul.CzyTak(nazwa_artykulu) and nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](pelna_nazwa_strony);
local czy_nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki);
local podana_nazwa_przestrzeni_nazw=czy_nazwa_ksiazki and (nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki)) or ksiazkowe_modul["NazwaPrzestrzeni"](pelna_nazwa_strony);
local podana_nazwa_jednostki=czy_nazwa_ksiazki and (nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki)..((nazwa_artykulu~="")and ("/"..nazwa_artykulu) or "")) or ksiazkowe_modul["NazwaArtykułu"](pelna_nazwa_strony);
local args_nowe={
["nazwa przestrzeni nazw"] = podana_nazwa_przestrzeni_nazw,
["nazwa jednostki"] = podana_nazwa_jednostki,
};
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe};
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu{args=args_nowe};
local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu{args=args_nowe};
local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self();
if((not tab_lista_zmiennych_w_artykule)and(not tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza))then
local blad_modul=require("Module:Błąd");
return blad_modul.error{tab="span",tekst="Nie znalazłem takiej książki."};
end;
local czy_nie_aktualny=(
(self_zmienna.nazwa_przestrzeni_podana~=self_zmienna.nazwa_przestrzeni)
or(self_zmienna.nazwa_przestrzeni_woluminu_podana~=self_zmienna.nazwa_przestrzeni_woluminu)
or(self_zmienna.nazwa_woluminu_podana~=self_zmienna.nazwa_woluminu)
or (self_zmienna.nazwa_podstrony_woluminu_podana~=self_zmienna.nazwa_podstrony_woluminu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tab_lista_zmiennych_w_artykule and tab_lista_zmiennych_w_artykule.TOC or nil)) then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tab_lista_zmiennych_w_artykule.TOC, czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
p["WykazModułówKsiążki"]=function(frame,czy_rozciagnij)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return nil;end;
local self_zmienna=stronicowyparser_potrzebne_modul:Self();
local nazwa_ksiazki=self_zmienna.nazwa_woluminu;
local nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu;
local nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local artykul=frame.args["artykuł"];
local wysokosc=frame.args["wysokość"];
local szerokosc=frame.args["szerokość"];
local wykaz_modulow_w_liscie="";
local czy_spis_tresci=nil;
local i=1;
local czy_spisy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
local poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
if((artykul)and(poziom_rozdzialu==1))then
if(((m==1)and(not czy_spisy))or((m>1)and(czy_spisy)))then
local spis=tab_lista[1]["spis"];
if(spis)then
if(not czy_spis_tresci)then
local spis_tresci_dany=spis[1];
czy_spis_tresci=(artykul==spis_tresci_dany);
czy_spisy=true;
else
break;
end;
else
local dodatkowe=tab_lista[1]["dodatkowe"];
if(dodatkowe)then
break;
end;
end;
end;
end;
if((not artykul)or((artykul)and((not czy_spisy)or((czy_spisy)and(czy_spis_tresci)))))then
if(tab_lista[2])then
for _,tab_pozycja in ipairs(tab_lista[2])do
local sformatowana_nazwa_artykulu;
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
end;
if(wykaz_modulow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modulow_w_liscie="<ul>"..wykaz_modulow_w_liscie.."</ul>";
wykaz_modulow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:25rem;overflow:auto;">'..wykaz_modulow_w_liscie.."</div>";
wykaz_modulow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..';max-width:100%;font-size:0.875rem;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:0.875rem;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modulow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modulow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:0.625rem;width:"..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..";max-width:100%;box-sizing:border-box;background-color:white;\">"..wykaz_modulow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modulow_w_liscie);
return rozwiniety_wikikod;
end;
p["NazwaAktualnyModuł"]=function()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
p["WstępDoLicencji"]=function(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
local element_licencji_5;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń].<BR>';
end;
local element_licencji_7;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce, nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji, niezależnie czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:0.1875rem;width:100%;height:auto;box-sizing:border-box;word-break:break-word;">'..p["WstępDoLicencji"](frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:0.875rem;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:0.875rem;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=PokazanaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
if(licencja and licencja[1])then
return licencja[1];
end;
end;
end;
p["NazwaLicencjaWykazSpisTreściModułuKsiążki"]=function(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:0.3125rem;font-size:1.9em;line-height:1.5625rem;text-align:left;">'..p["NazwaAktualnyModuł"]()..'</div><hr class=\"pierwsza_strona_spis_treści-hr\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p["WykazModułówKsiążki"](frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/><div class=\"pierwsza_strona_spis_treści\">"..spis_tresci.."</div>";
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:0.3125rem;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:43.75rem;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;width:100%;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
p["SpisTreści"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1] or "Przykładowy artykuł";
local nazwa_ksiazki=args["książka"] or args[2];
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
local czy_specjalne=parametry_modul.CzyTak(args["specjalne"]);
local czy_parser=parametry_modul.CzyTak(args["parser"]);
local czy_dokumentacja=parametry_modul.CzyTak(args["dokumentacja"]);
local czy_math=parametry_modul.CzyTak(args["wzory"]);
local czy_math_analiza=parametry_modul.CzyTak(args["wzory-analiza"]);
local czy_bez_przypisow=parametry_modul.CzyTak(args["bez przypisów"]);
czy_dokumentacja=czy_dokumentacja or czy_analiza or czy_specjalne or czy_parser;
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
local techniczne_modul=require("Module:Techniczne");
nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true);
nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,};
local nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
local pelna_nazwa_strony=((not nazwa_artykulu) or (nazwa_artykulu==""))and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_strony);
if(strona)then
pelna_nazwa_strony=strona;
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony);
else
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony);
end;
local szablonowe_modul=require("Module:Szablonowe");
local tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony;
if((czy_analiza)or(czy_parser))then
tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(pelna_nazwa_strony,false);
else
tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony,not czy_dokumentacja);
if(tekst_artykulu)then
if(czy_dokumentacja)then
tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=szablonowe_modul:UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(pelna_nazwa_strony);
else
tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_artykulu);
if((not czy_math)and(not czy_math_analiza))then
tablica_obiektow_strony_dany_modul_uzyskany=nil;
end;
end;
end;
end;
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or nazwa_artykulu;
local dodatek=args["dodatek"] or args[4];
local poziom=tonumber(args["poziom"]) or 6;
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",poziom).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",poziom).."\n";
else
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={[1]="Wywołano szablon z argumentem pierwszym pustym.",tag="span",}};
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",poziom)..twor_spisu_tresci..mw.ustring.rep("=",poziom).."\n";
---
local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil;
if(((czy_dokumentacja)and((czy_specjalne)or(czy_parser)))or((not czy_dokumentacja)and(czy_math_analiza)))then
tekst_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_artykulu,pelna_nazwa_strony,tablica_obiektow_strony_dany_modul_uzyskany);
end;
local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_glownafunkcjazbieraniadanych_modul:SpisRzeczyWedlePodanegoTekstu(tekst_artykulu,pelna_nazwa_strony,nil,nil,nil,nil,nil,nil,nil,nil,tablica_obiektow_strony_dany_modul_uzyskany,nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(frame,ulozenia_w_menu_spisu_tresci, atrybuty,czy_bez_przypisow);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
toc=toc and frame:preprocess(toc) or nil;
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
local function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektowych_form;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=tabela_obiektu[1];
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_numerobiektu_modul=require("Module:StronicowyParser/NumerObiektu");
return stronicowyparser_numerobiektu_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.StronyZeStronaStart()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
return tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,czy_wymusic)
if(czy_wymusic)then
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_zmiennych_w_artykule)then return nil;end;
return tab_lista_zmiennych_w_artykule.strona_zbiorcza;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
end;
p["CzyArtykułKsiążki"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
if(tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then
return "tak";
end;
end;
return p;
5thlix3u96cxp6d4rhf8ntvhigv57r3
546593
546589
2026-06-13T15:53:02Z
Persino
2851
546593
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modulu,dokumentacja,inkludowana)
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
return stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,dokumentacja,inkludowana);
end;
function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu_aktualna_czy_biezaca,inkludowana)
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
local tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nil,nazwa_modulu_aktualna_czy_biezaca,inkludowana,nil);
return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony;
end;
p["DaneUkładuAutonawigacji"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
if(not spis)then return nil;end;
return tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu,tab_lista_artykulow_w_ksiazce.tab_inne_spisy,tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu;
end;
p["SpisyTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki,bez_json)
local nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly=p["DaneUkładuAutonawigacji"](frame,tabela_listy_danych_analizy_ksiazki);
local tabela={};
tabela.spis_tresci=nazwa_glownego_spisu;
tabela.inne_spisy=tab_inne_spisy;
tabela.dodatkowe_strony_woluminu=dodatkowe_artykuly;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local czy_json=((not bez_json)and(parametry_modul.CzyTak(PobierzParametr("json")))) and true or false;
return czy_json and mw.text.jsonEncode(tabela,mw.text.JSON_PRESERVE_KEYS) or tabela;
end;
p["CzySpisTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local spisy=p["SpisyTreści"](frame,tabela_listy_danych_analizy_ksiazki,true);
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local artykul=PobierzParametr("artykuł");
----
if(artykul)then
artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",};
if((spisy.spis_tresci)and((parametry_modul.TypeTable(spisy.spis_tresci))and((spisy.spis_tresci[1]==artykul)or(spisy.spis_tresci[2]==artykul))or(spisy.spis_tresci==artykul)))then
return "tak";
else
if((spisy.inne_spisy)and(parametry_modul.TypeTable(spisy.inne_spisy)))then
for _,spis_tresci in ipairs(spisy.inne_spisy)do
if((parametry_modul.TypeTable(spis_tresci))and((spis_tresci[1]==artykul)or(spis_tresci[2]==artykul))or(spis_tresci==artykul))then
return "tak";
end;
end;
end;
end;
end;
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstPoNapisieWprowadzeniaTekstuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.NumerSekcjiStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwracanieSekcjiNapisuWprowadzeniaTekstuStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
---
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
local html_modul=require("Module:Html");
local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true);
local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu;
----
local juz_tak=false;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil;
----
for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do
local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek);
local function Nastepny()
if(not nazwa)then
return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana);
end;
return nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana);
end;
if(juz_tak)then
if(numer>0)then
local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false);
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then
juz_tak=true;
end;
end;
end;
if(juz_tak)then
return "";
else
return "(błąd)";
end;
end;
p["PoprzedniArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
---
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
local html_modul=require("Module:Html");
local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true);
local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu;
----
local juz_tak=false;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil;
----
local artykul="";
----
for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do
local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek);
if(numer>0)then
local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false);
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then
return artykul;
else
artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana));
end;
else
if(artykul~="")then
return artykul;
else
artykul="";
end;
end;
else
if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then
return artykul;
else
artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana));
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local args=stronicowyparser_potrzebne_modul:Args();
for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do
local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek);
local function PierwszyArtykul()
if(not nazwa)then
return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
else
return nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
end;
end;
if(numer==0)then
return PierwszyArtykul();
else
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul);
if(numer==numer_artykulu_w_bazie)then
return PierwszyArtykul();
end;
end;
end;
return "(błąd)";
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local numer=tonumber(args[1]) or 0;
local ostatni_artykul=nil;
for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do
local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek);
local function OstatniArtykul()
if(not nazwa)then
ostatni_artykul=stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
else
ostatni_artykul=nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana);
end;
end;
if(numer==0)then
OstatniArtykul();
else
local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul);
if(numer==numer_artykulu_w_bazie)then
OstatniArtykul();
end;
end;
end;
if(ostatni_artykul)then return ostatni_artykul;end;
return "(błąd)";
end;
p["PomiędzyNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(frame);
end;
p["LosowyNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuWoluminu(frame);
end;
p["PierwszyNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:PierwszyNapisWprowadzeniaTekstu(frame);
end;
p["OstatniNagłówek"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:OstatniNapisWprowadzeniaTekstu(frame);
end;
p["LiczbaNagłówkówSpisu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul:LiczbaNapisowaWprowadzeniaTekstu(frame);
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local element=stronicowyparser_potrzebne_modul:LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(frame,numer) or nil;
if(not element)then return "(błąd)";end;
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end;
return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)");
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local analizowana=parametry_modul.CzyTak(args["analizowana"]);
local element=stronicowyparser_potrzebne_modul:LosowaStronaWoluminu(frame,numer);
if(not element)then return "(błąd)";end;
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end;
return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)");
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
if(not czy_tabela_artykulu)then
local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1],czy_naglowek);
if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
else
local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1][1],czy_naglowek);
if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local nazwa_artykulu=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu,false) or nil;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(not uzupelniaj_sekcje_artykulow)then
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local artykul_ksiazki=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul_ksiazki=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_ksiazki,czy_naglowek);
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local szablonowe_modul=require("Module:Szablonowe");
local parametry_szablony,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local linia2=artykul_w_bazie[3];
local czy_spis_tresci=mw.ustring.match(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})")
or mw.ustring.match(linia2,"({{%s*[Ss]r%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]r%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or ("|"..a)).."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
else
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
return stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) or ((not __error)and "(błąd)" or nil);
end;
p["AktualnaKsiążkaArtykułu"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args();
----
local parametry_modul=require("Module:Parametry");
local ksiazka=parametry_modul.CzyTak(args["książka"]);
local nazwy_modul=require("Module:Nazwy");
----
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local nazwa_artykulu_ksiazki=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame);
----
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local nazwa_artykulu_dana=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
nazwa_artykulu_dana=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_dana,czy_naglowek);
if(nazwa_artykulu_ksiazki==nazwa_artykulu_dana)then
if(not czy_tabela_artykulu)then
return nazwa_ksiazki;
else
local pelna_nazwa_ksiazki=artykul_w_bazie[1][4];
if((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki[4]))then
return nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki[1],pelna_nazwa_ksiazki[2],pelna_nazwa_ksiazki[3],"")
else
return nazwa_ksiazki;
end;
end;
end;
end;
end;
end;
return ((not __error)and "(błąd)" or nil)
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
return stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame) or ((not __error)and "(błąd)" or nil);
end;
p["PobierzNumerNagłówka"]=function(frame)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek");
return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerNagłówka"](frame);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek");
return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęNagłówka"](frame);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek");
local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerArtykułu"](frame,tabela_listy_danych_analizy_ksiazki);
return wartosc;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek");
local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęArtykułu"](frame,tabela_listy_danych_analizy_ksiazki);
return wartosc;
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek");
return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzDaneKsiążki"](frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local parametry_modul=require("Module:Parametry");
local odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=stronicowyparser_obiekty.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu;
local tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=parametry_modul["KopiujTabelęElementów"](odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu);
setmetatable(tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter);
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
local czy_centrowany=tab_lista[1][2][4];
if((numer_rozdzialu)and(numer_rozdzialu>0)and(not czy_centrowany))then
if(not tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")..linki_modul["Link wewnętrzny"]{["strona"]=pelna_nazwa_ksiazki,["nagłówek"]=rozdzial,["nazwa"]=rozdzial,["bez znaczników"]=args["bez znaczników"],["bez przetwarzania"]=args["bez przetwarzania"],};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local nazwy_modul=require("Module:Nazwy");
if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},};
end;
local szablonowe_modul=require("Module:Szablonowe");
local szablon=szablonowe_modul.NazwaSzablonu(nazwa_strony);
local zawartosc=frame:expandTemplate{title=szablon,args={},};
--Tworzenie ramek div--
local divramka=mw.html.create('div');
divramka:addClass('artykułsubst');
local poddivramka=mw.html.create('div');
poddivramka:wikitext(nazwa_strony);
poddivramka:addClass("adres");
poddivramka:css("display","none");
divramka:node(poddivramka);
local divzawartosc=mw.html.create('div');
divzawartosc:addClass("zawartość");
divzawartosc:css("display","block");
divzawartosc:wikitext(zawartosc);
divramka:node(divzawartosc)
--Zwracanie ramki div--
return tostring(divramka:allDone());
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw");
local nazwa_jednostki=PobierzParametr("nazwa jednostki");
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
if(str)then
str=frame:preprocess(str);
return str;
end;
return nil;
end;
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};
local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy));
local ksiazkowe_modul=require("Module:Książkowe");
local tabela_nazw={};
local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw);
local str=((((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]or{})[nazwa_artykulu];
if(str)then
str=frame:preprocess(str);
return str;
end;
local str=(((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki];
if(str)then
str=frame:preprocess(str);
return str;
end;
return nil;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw");
local nazwa_jednostki=PobierzParametr("nazwa jednostki");
local tab_stronasubst;
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
else
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};
local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy));
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw);
local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw);
tab_stronasubst=(((tabela_listy_danych_analizy_ksiazki["StronaSubstInne"] or {})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki];
if(not tab_stronasubst)then return;end;
end;
local pierwszy=parametry_modul["Odstępy"]{nazwa=args[1],["wewnątrz"]="tak",};
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
stronasubst=frame:preprocess(stronasubst);
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Strona główna/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(p.args[1]);
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..naglowek.."</h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
return blad_module.error{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="strong",},};
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
..((parametry_modul.CzyTak(klasa)) and " class=\""..klasa.."\"" or "")
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..naglowek.."</h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local html_modul=require("Module:Html");
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local uzyskana_nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local pelna_nazwa_strony=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki..((uzyskana_nazwa_artykulu~="")and ("/"..uzyskana_nazwa_artykulu) or "");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local nazwa_ksiazki;local nazwa_artykulu;
if(args[1])then
nazwa_artykulu=args[1];
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
end;
if(args[2])then
nazwa_ksiazki=args[2];
nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=pelna_nazwa_strony,};
end;
local nazwa_artykulu=parametry_modul.CzyTak(nazwa_artykulu) and nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](pelna_nazwa_strony);
local czy_nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki);
local podana_nazwa_przestrzeni_nazw=czy_nazwa_ksiazki and (nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki)) or ksiazkowe_modul["NazwaPrzestrzeni"](pelna_nazwa_strony);
local podana_nazwa_jednostki=czy_nazwa_ksiazki and (nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki)..((nazwa_artykulu~="")and ("/"..nazwa_artykulu) or "")) or ksiazkowe_modul["NazwaArtykułu"](pelna_nazwa_strony);
local args_nowe={
["nazwa przestrzeni nazw"] = podana_nazwa_przestrzeni_nazw,
["nazwa jednostki"] = podana_nazwa_jednostki,
};
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe};
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu{args=args_nowe};
local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu{args=args_nowe};
local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self();
if((not tab_lista_zmiennych_w_artykule)and(not tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza))then
local blad_modul=require("Module:Błąd");
return blad_modul.error{tab="span",tekst="Nie znalazłem takiej książki."};
end;
local czy_nie_aktualny=(
(self_zmienna.nazwa_przestrzeni_podana~=self_zmienna.nazwa_przestrzeni)
or(self_zmienna.nazwa_przestrzeni_woluminu_podana~=self_zmienna.nazwa_przestrzeni_woluminu)
or(self_zmienna.nazwa_woluminu_podana~=self_zmienna.nazwa_woluminu)
or (self_zmienna.nazwa_podstrony_woluminu_podana~=self_zmienna.nazwa_podstrony_woluminu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tab_lista_zmiennych_w_artykule and tab_lista_zmiennych_w_artykule.TOC or nil)) then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tab_lista_zmiennych_w_artykule.TOC, czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
p["WykazModułówKsiążki"]=function(frame,czy_rozciagnij)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_artykulow_w_ksiazce)then return nil;end;
local self_zmienna=stronicowyparser_potrzebne_modul:Self();
local nazwa_ksiazki=self_zmienna.nazwa_woluminu;
local nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu;
local nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local artykul=frame.args["artykuł"];
local wysokosc=frame.args["wysokość"];
local szerokosc=frame.args["szerokość"];
local wykaz_modulow_w_liscie="";
local czy_spis_tresci=nil;
local i=1;
local czy_spisy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
local poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
if((artykul)and(poziom_rozdzialu==1))then
if(((m==1)and(not czy_spisy))or((m>1)and(czy_spisy)))then
local spis=tab_lista[1]["spis"];
if(spis)then
if(not czy_spis_tresci)then
local spis_tresci_dany=spis[1];
czy_spis_tresci=(artykul==spis_tresci_dany);
czy_spisy=true;
else
break;
end;
else
local dodatkowe=tab_lista[1]["dodatkowe"];
if(dodatkowe)then
break;
end;
end;
end;
end;
if((not artykul)or((artykul)and((not czy_spisy)or((czy_spisy)and(czy_spis_tresci)))))then
if(tab_lista[2])then
for _,tab_pozycja in ipairs(tab_lista[2])do
local sformatowana_nazwa_artykulu;
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
end;
if(wykaz_modulow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modulow_w_liscie="<ul>"..wykaz_modulow_w_liscie.."</ul>";
wykaz_modulow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:25rem;overflow:auto;">'..wykaz_modulow_w_liscie.."</div>";
wykaz_modulow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..';max-width:100%;font-size:0.875rem;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:0.875rem;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modulow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modulow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:0.625rem;width:"..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..";max-width:100%;box-sizing:border-box;background-color:white;\">"..wykaz_modulow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modulow_w_liscie);
return rozwiniety_wikikod;
end;
p["NazwaAktualnyModuł"]=function()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
p["WstępDoLicencji"]=function(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
local element_licencji_5;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń].<BR>';
end;
local element_licencji_7;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce, nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji, niezależnie czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:0.1875rem;width:100%;height:auto;box-sizing:border-box;word-break:break-word;">'..p["WstępDoLicencji"](frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:0.875rem;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:0.875rem;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=PokazanaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
if(licencja and licencja[1])then
return licencja[1];
end;
end;
end;
p["NazwaLicencjaWykazSpisTreściModułuKsiążki"]=function(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:0.3125rem;font-size:1.9em;line-height:1.5625rem;text-align:left;">'..p["NazwaAktualnyModuł"]()..'</div><hr class=\"pierwsza_strona_spis_treści-hr\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p["WykazModułówKsiążki"](frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/><div class=\"pierwsza_strona_spis_treści\">"..spis_tresci.."</div>";
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:0.3125rem;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:43.75rem;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;width:100%;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
p["SpisTreści"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1] or "Przykładowy artykuł";
local nazwa_ksiazki=args["książka"] or args[2];
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
local czy_specjalne=parametry_modul.CzyTak(args["specjalne"]);
local czy_parser=parametry_modul.CzyTak(args["parser"]);
local czy_dokumentacja=parametry_modul.CzyTak(args["dokumentacja"]);
local czy_math=parametry_modul.CzyTak(args["wzory"]);
local czy_math_analiza=parametry_modul.CzyTak(args["wzory-analiza"]);
local czy_bez_przypisow=parametry_modul.CzyTak(args["bez przypisów"]);
czy_dokumentacja=czy_dokumentacja or czy_analiza or czy_specjalne or czy_parser;
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
local techniczne_modul=require("Module:Techniczne");
nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true);
nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,};
local nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
local pelna_nazwa_strony=((not nazwa_artykulu) or (nazwa_artykulu==""))and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_strony);
if(strona)then
pelna_nazwa_strony=strona;
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony);
else
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony);
end;
local szablonowe_modul=require("Module:Szablonowe");
local tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony;
if((czy_analiza)or(czy_parser))then
tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(pelna_nazwa_strony,false);
else
tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony,not czy_dokumentacja);
if(tekst_artykulu)then
if(czy_dokumentacja)then
tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=szablonowe_modul:UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(pelna_nazwa_strony);
else
tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_artykulu);
if((not czy_math)and(not czy_math_analiza))then
tablica_obiektow_strony_dany_modul_uzyskany=nil;
end;
end;
end;
end;
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or nazwa_artykulu;
local dodatek=args["dodatek"] or args[4];
local poziom=tonumber(args["poziom"]) or 6;
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",poziom).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",poziom).."\n";
else
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={[1]="Wywołano szablon z argumentem pierwszym pustym.",tag="span",}};
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",poziom)..twor_spisu_tresci..mw.ustring.rep("=",poziom).."\n";
---
local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil;
if(((czy_dokumentacja)and((czy_specjalne)or(czy_parser)))or((not czy_dokumentacja)and(czy_math_analiza)))then
tekst_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_artykulu,pelna_nazwa_strony,tablica_obiektow_strony_dany_modul_uzyskany);
end;
local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_glownafunkcjazbieraniadanych_modul:SpisRzeczyWedlePodanegoTekstu(tekst_artykulu,pelna_nazwa_strony,nil,nil,nil,nil,nil,nil,nil,nil,tablica_obiektow_strony_dany_modul_uzyskany,nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(frame,ulozenia_w_menu_spisu_tresci, atrybuty,czy_bez_przypisow);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
toc=toc and frame:preprocess(toc) or nil;
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
local function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektowych_form;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=tabela_obiektu[1];
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_numerobiektu_modul=require("Module:StronicowyParser/NumerObiektu");
return stronicowyparser_numerobiektu_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.StronaZeSzablonemStronaStart()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
return tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,czy_wymusic)
if(czy_wymusic)then
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame);
local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame);
if(not tab_lista_zmiennych_w_artykule)then return nil;end;
return tab_lista_zmiennych_w_artykule.strona_zbiorcza;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
end;
p["CzyArtykułKsiążki"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
if(tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then
return "tak";
end;
end;
return p;
tmy7g5d6pdc6znlc2qj7pngmawyw3i1
Szablon:LinkObiekt
10
44981
546595
546536
2026-06-13T16:00:13Z
Persino
2851
546595
wikitext
text/x-wiki
<includeonly><!--
-->{{#if:{{#invoke:StronicowyParser|StronaZeSzablonemStronaStart}}<!--
-->|<!--
-->|{{#if:{{#invoke:StronicowyParser|formatowanie}}|<templatestyles src="Szablon:StronaStart/styles.css" />}}<!--
--><templatestyles src="Szablon:Link_wewnętrzny/styles.css" /><!--
-->}}{{#invoke:StronicowyParser|Numer{{LinkObiekt/typ|cecha=funkcja|typ={{{typ|obiekt}}}}}
| {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}}
| {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}}
| uchwyt = {{{uchwyt|{{{1|}}}}}}
| id = {{LinkObiekt/typ|cecha=id|typ={{{typ|obiekt}}}}}
| przedrostek = {{LinkObiekt/typ|cecha=skrót|typ={{{typ|obiekt}}}}}{{#switch:{{{typ|obiekt}}}|wzór=|#default= }}{{#if:{{{skrót|{{{4|}}}}}}|{{{skrót|{{{4}}}}}}{{{łącznik|{{{5|-}}}}}}}}
| obiekt = link
| bez automatu = {{{bez automatu|}}}
| klasa = {{#if:{{#invoke:StronicowyParser|formatowanie}}|fonty_rodzina_sans fonty_link{{LinkObiekt/typ|cecha=id|typ={{{typ|obiekt}}}}}}}
| styl = {{Jeśli niepuste|{{{czcionka|}}}|przed lewy=font:|po lewy=;}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rozmiar czcionki|}}}|przed lewy=font-size:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{wysokość linii czcionki|}}}|przed lewy=line-height:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rodzina czcionki|}}}|przed lewy=font-family:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{wariant czcionki|}}}|przed lewy=font-variant:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rozciągnięcie czcionki|}}}|przed lewy=font-stretch:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{waga czcionki|}}}|przed lewy=font-weight:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{styl czcionki|}}}|przed lewy=font-style:|po lewy=;}}}}
}}{{#if:{{{bez kategorii stronicowych|}}}{{{bez automatu|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|Link{{LinkObiekt/typ|cecha=nazwa|typ={{{typ|obiekt}}}}}}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry
| = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}}
| typ = txt
| 1 = txt!;uchwyt
| uchwyt = txt!;1
| 2 = ;nazwa artykułu
| nazwa artykułu = ;2
| 3 = ;nazwa książki
| nazwa książki = ;3
| 4 = ;skrót
| skrót = ;4
| 5 = łącznik
| łącznik = ;5
| czcionka =
| rozmiar czcionki =
| wysokość linii czcionki =
| rodzina czcionki =
| wariant czcionki =
| rozciągnięcie czcionki =
| waga czcionki =
| styl czcionki =
| bez automatu =
| bez kategorii stronicowych =
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
0vcw7jfng0wzf4xh6578ug9hsbxtm15
Moduł:StronicowyParser/obiekty
828
45007
546614
545934
2026-06-13T18:29:01Z
Persino
2851
546614
Scribunto
text/plain
local p={};
local m={};
p.wypowiedzi={
{"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",},
{"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",},
{"Lemat", nil,nil,"Lematu",2,"lematami","lematów",},
{"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",},
{"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",},
{"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",},
{"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",},
{"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",},
{"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",},
{"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",},
{"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",},
{"Schemat",nil,nil,"Schematu",2,"schematami","schematów",},
};
p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",};
p.normalne={
{"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",},
{"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",},
{"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",},
{"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",},
};
p.napisy_wprowadzenia_tekstu={
{"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",},
};
p.tekst={
{"Śródtekst",nil,nil,"Śródtekstu",2,"tekstami","tekstów",},
};
p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł";
m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane,czy_link)
local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i)
if(type(linki_naglowka)=="table")then
for _,wartosc in ipairs(linki_naglowka)do
i=i+1;
t[i]=wartosc;
end;
else
i=i+1;
t[i]=linki_naglowka;
end;
return t,i;
end;
local s={};
for _,wartosc in ipairs(tab_szablony_nienumerowane)do
s[wartosc[1]]={};
local t=s[wartosc[1]];
local i=1;
t[i]=(czy_link and "Link" or "Pobierz")..wartosc[1];
t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i);
end;
return s;
end;
m.LinkiSzablonyNapisuWprowadzeniaTekstu=function()
return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu,true);
end;
m.LinkiSzablonyTekstu=function()
return m.LinkiSzablonyNieNumerowane(p.tekst,false);
end;
m.NienumerowaneSzablony=function(tab_szablony_nienumerowane)
local s={};
for _,wartosc in ipairs(tab_szablony_nienumerowane)do
s[wartosc[1]]=true;
end;
return s;
end;
m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function()
return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu);
end;
m.NienumerowaneSzablonyTekstu=function()
return m.NienumerowaneSzablony(p.tekst);
end;
p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu();
p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu();
p.linki_szablony_tekstu=m.LinkiSzablonyTekstu();
p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyTekstu();
p.uklad_autonawigacji="Układ autonawigacji";
p.bez_uchwytow_spis_rzeczy_strony={
["TOC"]=true,
["TOCRamka"]=true,
};
p.szablony_z_lokalnym_spisem_rzeczy_strony={
["TOC limit"]=true,
["Spis treści"]=true,
["TOCright"]=true,
["Spis treści zwinięty"]=true,
};
p.szablony_kontenerowe={
["Sekcja referencyjna"]=true,
["Sr"]=true,
----------------------------------
["ListaNagłówkówKsiążki"]=true,
["LiniaArtykułuKsiążki"]=true,
----------------------------------
["PomiędzyNagłówek"]=true,
["LosowyNagłówek"]=true,
["PierwszyNagłówek"]=true,
["OstatniNagłówek"]=true,
["LiczbaNagłówkówSpisu"]=true,
----------------------------------
["AktualnaKsiążka"]=true,
["NastępnyArtykuł"]=true,
["PoprzedniArtykuł"]=true,
["NazwaAktualnyArtykuł"]=true,
["LinkAktualnaKsiążka"]=true,
["LinkNastępnyArtykuł"]=true,
["LinkPoprzedniArtykuł"]=true,
----------------------------------
["LinkNastępnySubArtykuł"]=true,
["LinkPoprzedniSubArtykuł"]=true,
----------------------------------
["PierwszyArtykuł"]=true,
["OstatniArtykuł"]=true,
["PomiędzyArtykuł"]=true,
["LosowyArtykuł"]=true,
["PobierzNazwęArtykułu"]=true,
["PobierzNumerArtykułu"]=true,
["NazwaLinkuArtykułu"]=true,
--------------------------------
["PobierzNazwęNagłówka"]=true,
["PobierzNumerNagłówka"]=true,
---------------------------------
["LiczbaArtykułówKsiążki"]=true,
["PoziomNazwyArtykułu"]=true,
---------------------------------
["SubNazwaNadArtykułu"]=true,
["NazwaNadArtykułu"]=true,
["LinkNazwaNadArtykułu"]=true,
["LinkSubNazwaNadArtykułu"]=true,
-----------------------------------
["Autonawigacja"]=true,
};
p.szablony_stronicowe_niekontenerowe={
["ArtykułSubst"]=true,
};
p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={
["Formuła"]=1;
};
----szablony stronicowego parsera
function m.SzablonyStronicowegoParsera()
local t={};
t.szablony_kontenerowe={};
local s=t.szablony_kontenerowe;
t.szablony_wprowadzenia_tekstu={};
local r=t.szablony_wprowadzenia_tekstu;
t.szablony_tekstu={};
local q=t.szablony_tekstu;
local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r)
for _,szablony_naglowka in ipairs(naglowki) do
r[szablony_naglowka[1]]=true;
if(szablony_naglowka[2])then
if(type(szablony_naglowka[2])=="table")then
for _,wartosc in ipairs(szablony_naglowka[2])do
r[wartosc]=true;
end;
else
r[szablony_naglowka[2]]=true;
end;
end;
end;
end;
SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r);
SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q);
local function TabNumer(n,obiekty_szablon,s)
if(obiekty_szablon[n])then
if(type(obiekty_szablon[n])=="table")then
for _,wartosc in ipairs(obiekty_szablon[n])do
s[wartosc]=true;
end;
else
s[obiekty_szablon[n]]=true;
end;
end;
end;
local function RozpatrywanaTablica(tab_obiekty,s,czy_link)
for _,obiekty_szablon in ipairs(tab_obiekty)do
s[obiekty_szablon[1]]=true;
s[(czy_link and "Link" or "Pobierz")..obiekty_szablon[1]]=true;
TabNumer(2,obiekty_szablon,s);
TabNumer(3,obiekty_szablon,s);
end;
end;
RozpatrywanaTablica(p.normalne,s,true);
RozpatrywanaTablica(p.wypowiedzi,s,true);
RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s,true);
RozpatrywanaTablica(p.tekst,s,false);
TabNumer(2,p.obiekty,s);
TabNumer(3,p.obiekty,s);
local function IndeksowaneNaTak(tab_obiekty,s)
for indeks,_ in pairs(tab_obiekty)do
s[indeks]=true;
end;
end;
IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s);
IndeksowaneNaTak(p.szablony_kontenerowe,s);
return t;
end;
p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera();
----koniec szablony pudełka
----Tablica obiektów
function m.TablicaObiektowychForm()
local s={};local r={};
for _,element_w_tablicy_obiekty in pairs(p.normalne)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=true;
element_w_tablicy_obiekty.CzyNum=true;
end;
for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=true;
element_w_tablicy_obiekty.CzyNum=true;
end;
for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=true;
element_w_tablicy_obiekty.CzyNum=false;
end;
for _,element_w_tablicy_obiekty in pairs(p.tekst)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=false;
element_w_tablicy_obiekty.CzyNum=false;
end;
for _,element_w_tablicy_obiekty in pairs(p.normalne)do
r[#s+1]=element_w_tablicy_obiekty;
end;
for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do
r[#s+1]=element_w_tablicy_obiekty;
end;
p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s;
p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r;
s[#s+1]=p.obiekty;
p.obiekty.CzyLink=true;
p.obiekty.CzyNum=true;
return s;
end;
----
m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function()
local function Obiekty(s,obiekty)
for _,tab_obiektow in ipairs(obiekty)do
s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],};
local tab_szablony=tab_obiektow[2];
if(tab_szablony)then
if(type(tab_szablony)=="table")then
for _,element in ipairs(tab_szablony)do
s[element]={tab_obiektow[1],tab_obiektow[5],};
end;
else
s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],};
end;
end;
end;
end;
local s={};local r={};local q={};
Obiekty(s,p.wypowiedzi);
Obiekty(s,p.normalne);
Obiekty(r,p.napisy_wprowadzenia_tekstu);
Obiekty(q,p.tekst);
return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,};
end;
p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami();
m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function()
local function Obiekty(s,linkobiekty,czy_link)
for _,tab_obiektow in ipairs(linkobiekty)do
s[(czy_link and "Link" or "Pobierz")..tab_obiektow[1]]=tab_obiektow[1];
local tab_szablony=tab_obiektow[3];
if(tab_szablony)then
if(type(tab_szablony)=="table")then
for _,element in ipairs(tab_szablony)do
s[element]=tab_obiektow[1];
end;
else
s[tab_szablony]=tab_obiektow[1];
end;
end;
end;
end;
local s={};local r={};local q={};
Obiekty(s,p.wypowiedzi,true);
Obiekty(s,p.normalne,true);
Obiekty(r,p.napisy_wprowadzenia_tekstu,true);
Obiekty(q,p.tekst,false);
return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,};
end;
p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami();
m.FormatElementowyObiektowy=function()
local s={};
local function Obiekty(s,obiekty)
for _,tab_obiektow in ipairs(obiekty)do
s[tab_obiektow[1]]=true;
end;
end;
Obiekty(s,p.wypowiedzi);
Obiekty(s,p.normalne);
return s;
end;
p.format_elementowy_obiektowy=m.FormatElementowyObiektowy();
m.FormatElementowyReferencjiObiektowych=function()
local s={};
local function Obiekty(s,obiekty)
for _,tab_obiektow in ipairs(obiekty)do
local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]);
s[element]=true;
end;
end;
Obiekty(s,p.wypowiedzi);
Obiekty(s,p.normalne);
return s;
end;
p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych();
----
----
p.tablica_obiektowych_form=m.TablicaObiektowychForm();
p.szablony_stron_zbiorczych={
["KsiążkaSubst"]=true,
["StronaSubst"]=true,
};
p.inne_szablony_stron_zbiorczych={
["Sekcja referencyjna"]=true,
["Sr"]=true,
}
m.StronyZbiorcze=function()
local s={};
local function Ziorcze(tab)
for name,_ in pairs(tab)do
s[name]=true;
end;
end;
Ziorcze(p.szablony_stron_zbiorczych);
Ziorcze(p.inne_szablony_stron_zbiorczych);
return s;
end;
p.strona_zbiorcza=m.StronyZbiorcze();
p.strona_start_inne={
["StandardowaStronaStart"]=true,
["PodstawowaStronaStart"]=true,
["ProstaStronaStart"]=true,
};
p.strona_start={
["StronaStart"]=true,
};
p.strona_start_ze_spisem_rzeczy_strony={
["UnikatowaStronaStart"]=true,
["UnikalnaStronaStart"]=true,
["SkomplikowanaStronaStart"]=true,
};
p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={
["SkomplikowanaStronaStart"]=true,
};
m.SzablonyFormartowaniaTekstu=function()
local s={};
local function DodatDoTablicy(tab)
for name,_ in pairs(tab)do
s[name]=true;
local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec");
s[name_koniec]=true;
end;
end;
DodatDoTablicy(p.strona_start);
DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony);
DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony);
DodatDoTablicy(p.strona_start_inne);
return s;
end;
p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu();
p.tablica_nazw_ramek_lua={
"StronicowyParser",
};
----Koniec tablica obiektów
p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={
["licencja"]=true,
["inne"]=true,
["bibliografia"]=true,
["zobacz też"]=true,
["linki zewnętrzne"]=true,
--[[["dedykacja"]=true,]]
};
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={
["spis treści"]=true,
["spis tresci"]=true,
["spis rzeczy"]=true,
};
--[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={
["bibliografia"]=true,
["literatura"]=true,
};]]
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={
[1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",
[2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",
};
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={
[1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,},
[2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,},
};
p.artykularne_niespisowe={
[1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$",
--[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$",
};
p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={
["Kolumny"]=2,
};
p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={
["MDL:RozszerzonyLink"]=1,
["Kompletność"]="",
["Kompletność krótka"]="",
["Kompletność junior"]="",
["Książka"]="",
};
p.szablony_z_dodatkiem_obiektowym={
["ISBN"]="ISBN $(1)";
};
p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={
["Cytuj"]=true,
["Cytuj stronę"]=true,
["Cytuj pismo"]=true,
["Cytuj odcinek"]=true,
["Cytuj książkę"]=true,
["Cytuj grę komputerową"]=true,
};
p.szablony_dozwolone_w_nazwach_linkowych={
["Korekta"] =2,
};
p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={
};
p.szablony_do_usuwania_z_tekstu={
--- szablony książkowe umieszczane na stronie głównej podręcznika
["Kolekcja"]=true,
["TODO"]=true,
["Wersja do druku"]=true,
--- szablony typowo linkowe
["Dane tekstu"]=true,
--- szablony linkowania do innych projektow
["MediaWiki"]=true,
["Wikipedia"]=true,
["Wikipedia kat"]=true,
["Wikipedia2"]=true,
["Commons"]=true,
["Commons ilustr kat"]=true,
["Commonsall"]=true,
["Commonscat"]=true,
["Wikiatlas"]=true,
["Wikicytaty"]=true,
["Wikicytaty przysłowia"]=true,
["Inkubator"]=true,
["Meta"]=true,
["Wikinews"]=true,
["Wikinewscat"]=true,
["Wikinewsy"]=true,
["Portal Wikinews"]=true,
["Wikisłownik"]=true,
["Wikisłownik-cat"]=true,
["Wikimedia"]=true,
["Multiwmpl"]=true,
["Wikipodróże"]=true,
["Wikispecies"]=true,
["Multisource"]=true,
["Wikiźródła"]=true,
["Wikiźródła autor"]=true,
["Wikiźródła kat"]=true,
["Wikiźródła kuch kat"]=true,
["Wikiźródła krótki"]=true,
["Wikisource-lang"]=true,
};
p.linki_szablony_elementy_spisu_rzeczy={
["SpisTreści"]=true,
["Sekcja referencyjna"]=true,
["Sr"]=true,
["Link wewnętrzny"]=true,
["Ly"]=true,
["LinkOgólne"]=true,
["Lo"]=true,
};
p.linki_generalne_szablony_linkowe={
["Sekcja referencyjna"]=true,
["Sr"]=true,
["Link wewnętrzny"]=true,
["Ly"]=true,
["LinkOgólne"]=true,
["Lo"]=true,
};
p.kody_szablony_linkowe_przestrzenne={
["Główna"]={"",},
["Wikijunior"]={"Wikijunior",},
["Kategoria"]={"Category",},
["Plik"]={"File",},
["Projekt"]={"Project",},
["Szablon"]={"Template",},
["Użytkownik"]={"User",},
["Pomoc"]={"Help",},
["Moduł"]={"Module",},
["Komunikat"]={"MediaWiki",},
["Specjalna"]={"Special",},
["Wikiprojekt"]={"Wikiproject","w",},
["Portal"]={"Portal","w",},
["Extension"]={"Extension","mw",},
};
p.kody_inne_szablony_linkowe_inteligentne={
["Sekcja referencyjna"]=true,
["Sr"]=true,
};
p.kody_szablony_linkowe_projektowe={
["Pedia"]="w",
["Źródła"]="s",
["Cytaty"]="q",
["News"]="n",
["Słownik"]="wikt",
["Podróże"]="voy",
["Wersytet"]="betawikiversity",
["Species"]="wikispecies",
["Commons"]="commons",
["Dane"]="d",
["MediaWiki"]="mw",
["MetaWiki"]="m",
};
p.kody_szablony_linkowe_dialektu={
["En"]="en",
};
p.inne_linki_szablony_elementy_spisu_rzeczy={
["SpisPozycja"]={true,numer_link="tyt",},
["SpisZw"]={false,numer=1,link=2,},
};
p.szablony_w_nie_w_tej_samej_linii={
["SpisPozycja"]=true,
["SpisZw"]=true,
["SpisTreści"]=true,
};
p.szablony_kompletowania_stron_woluminu={
["Kompletność"]=true,
["Kompletność krótka"]=true,
["Kompletność junior"]=true,
["Książka"]=true,
};
p.szablony_wprowadzenia_napisu_spisu_rzeczy={
["Ce"]=1,
["Centruj"]=1,
["Center"]=1,
};
p.szablony_dokumentacji={
["Dokumentacja"]=true,
};
p.szablony_wykorzystywane_przez_strony_zbiorcze={
["Sekcja referencyjna"]=true,
["Sr"]=true,
};
p.szablony_licencji={
["Licencja"]=true,
};
p.szablony_ozdobne_stron_woluminu={
["MDL:RozszerzonyLink"]=true,
};
p.szablony_bez_generowania_napisowego={
["Status"]=true,
};
p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={
["Rozdział"]=true,
["Podrozdział"]=true,
["MapaObrazu"]=true,
};
p.strony_main_page_projektu={
["Wikijunior:Strona główna"]=true,
["Wikibooks:Strona główna"]=true,
["Strona główna"]=true,
["Main Page"]=true,
}
p.szablony_nie_typowo_linkowe={
["Plik"]=true,
["Kategoria"]=true,
["Kategorie"]=true,
["Wolumin"]=true,
};
p.szablony_przypisowe={
["Przypisy"]=true,
["Uwagi"]=true,
["Przypisy-lista"]=true,
};
p.napisy_wprowadzenia_tekstu_przypisowych={
["Przypisy"]=true,
["Uwagi"]=true,
["Bibliografia"]=true,
["Licencja"]=true,
};
p.magiczne_derektywy={
["TOC"]=true,
["NOTOC"]=true,
["NOEDITSECTION"]=true,
}
p.znaczniki_szablonowe={
["Znacznik"]=1,
["Div"]=1,
["Code"]=1,
["Tt"]=1,
["P"]=1,
["Sub"]=1,
["Sup"]=1,
["Span"]=1,
["Bdo"]=1,
["Small"]=1,
["Big"]=1,
["Strong"]=1,
};
p.szablony_indeksowania={
["Kotwica"] =true,
["Indeksuj"]=true,
};
p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={
["g"]="Główna",
["c"]="Specjalna",
["k"]="Kategoria",
["f"]="Plik",
["m"]="Komunukat",
["d"]="Moduł",
["p"]="Pomoc",
["r"]="Projekt",
["s"]="Szablon",
["j"]="Wikijunior",
["ż"]="Użytkownik",
["e"]="Extension",
["x"]="Property",
["w"]="Wikiprojekt",
["t"]="Portal",
};
p.nazwy_projektowe_serwisy_linkowe_inteligentne={
["p"]="Pedia",
["h"]="EnPedia",
["s"]="Słownik",
["x"]="Cytaty",
["ź"]="Źródła",
["d"]="Podróże",
["g"]="Species",
["z"]="News",
["r"]="Wersytet",
["w"]="Wikia",
["c"]="Commons",
["n"]="Dane",
["k"]="MediaWiki",
["m"]="MetaWiki",
["b"]="En",
};
p.przekierowania_szablonowe_linkowe_inteligentne_inne={
["Lz"]="LinkURL",
["Lb"]="LinkWB",
["Sr"]="Sekcja referencyjna",
["Ly"]="Link wewnętrzny",
};
p.nazwy_szablonowe_kolidacja={
--["Ltr"]=true,
};
p.litery_przestrzeni_kolidacja={
--["ř"]="r",
};
p.znaczniki_wprowadzenia_tekstu={
["h1"]=1,
["h2"]=2,
["h3"]=3,
["h4"]=4,
["h5"]=5,
["h6"]=6,
};
p.szablony_sztucznego_wprowadzenia_tekstu={
["HNumer"]=1,
};
p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={
["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},},
};
p.szablony_linkowe_spisu_rzeczy={
["Sekcja referencyjna"]={{"strona","s",1,},{"nazwa","n",2,},{"podstrona","p",3},{"ustęp","u",4},{"od małej","m"},{"od dużej","d",},{"nazwa przestrzeni nazw",},{"nazwa jednostki",},},
};
return p;
ijn41ji8a9dwhoqrl86abtf5ftt4vcr
546615
546614
2026-06-13T18:33:35Z
Persino
2851
546615
Scribunto
text/plain
local p={};
local m={};
p.wypowiedzi={
{"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",},
{"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",},
{"Lemat", nil,nil,"Lematu",2,"lematami","lematów",},
{"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",},
{"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",},
{"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",},
{"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",},
{"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",},
{"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",},
{"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",},
{"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",},
{"Schemat",nil,nil,"Schematu",2,"schematami","schematów",},
};
p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",};
p.normalne={
{"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",},
{"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",},
{"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",},
{"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",},
};
p.napisy_wprowadzenia_tekstu={
{"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",},
};
p.tekst={
{"Śródtekst",nil,nil,"Śródtekstu",2,"tekstami","tekstów",},
};
p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł";
m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane,czy_link)
local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i)
if(type(linki_naglowka)=="table")then
for _,wartosc in ipairs(linki_naglowka)do
i=i+1;
t[i]=wartosc;
end;
else
i=i+1;
t[i]=linki_naglowka;
end;
return t,i;
end;
local s={};
for _,wartosc in ipairs(tab_szablony_nienumerowane)do
s[wartosc[1]]={};
local t=s[wartosc[1]];
local i=1;
t[i]=(czy_link and "Link" or "Pobierz")..wartosc[1];
t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i);
end;
return s;
end;
m.LinkiSzablonyNapisuWprowadzeniaTekstu=function()
return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu,true);
end;
m.LinkiSzablonyTekstu=function()
return m.LinkiSzablonyNieNumerowane(p.tekst,false);
end;
m.NienumerowaneSzablony=function(tab_szablony_nienumerowane)
local s={};
for _,wartosc in ipairs(tab_szablony_nienumerowane)do
s[wartosc[1]]=true;
end;
return s;
end;
m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function()
return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu);
end;
m.NienumerowaneSzablonyTekstu=function()
return m.NienumerowaneSzablony(p.tekst);
end;
p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu();
p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu();
p.linki_szablony_tekstu=m.LinkiSzablonyTekstu();
p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyTekstu();
p.uklad_autonawigacji="Układ autonawigacji";
p.bez_uchwytow_spis_rzeczy_strony={
["TOC"]=true,
["TOCRamka"]=true,
};
p.szablony_z_lokalnym_spisem_rzeczy_strony={
["TOC limit"]=true,
["Spis treści"]=true,
["TOCright"]=true,
["Spis treści zwinięty"]=true,
};
p.szablony_kontenerowe={
["Sekcja referencyjna"]=true,
["Sr"]=true,
----------------------------------
["ListaNagłówkówKsiążki"]=true,
["LiniaArtykułuKsiążki"]=true,
----------------------------------
["PomiędzyNagłówek"]=true,
["LosowyNagłówek"]=true,
["PierwszyNagłówek"]=true,
["OstatniNagłówek"]=true,
["LiczbaNagłówkówSpisu"]=true,
----------------------------------
["AktualnaKsiążka"]=true,
["NastępnyArtykuł"]=true,
["PoprzedniArtykuł"]=true,
["NazwaAktualnyArtykuł"]=true,
["LinkAktualnaKsiążka"]=true,
["LinkNastępnyArtykuł"]=true,
["LinkPoprzedniArtykuł"]=true,
----------------------------------
["LinkNastępnySubArtykuł"]=true,
["LinkPoprzedniSubArtykuł"]=true,
----------------------------------
["PierwszyArtykuł"]=true,
["OstatniArtykuł"]=true,
["PomiędzyArtykuł"]=true,
["LosowyArtykuł"]=true,
["PobierzNazwęArtykułu"]=true,
["PobierzNumerArtykułu"]=true,
["NazwaLinkuArtykułu"]=true,
--------------------------------
["PobierzNazwęNagłówka"]=true,
["PobierzNumerNagłówka"]=true,
---------------------------------
["LiczbaArtykułówKsiążki"]=true,
["PoziomNazwyArtykułu"]=true,
---------------------------------
["SubNazwaNadArtykułu"]=true,
["NazwaNadArtykułu"]=true,
["LinkNazwaNadArtykułu"]=true,
["LinkSubNazwaNadArtykułu"]=true,
-----------------------------------
["Autonawigacja"]=true,
};
p.szablony_stronicowe_niekontenerowe={
["ArtykułSubst"]=true,
};
p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={
["Formuła"]=1;
};
----szablony stronicowego parsera
function m.SzablonyStronicowegoParsera()
local t={};
t.szablony_kontenerowe={};
local s=t.szablony_kontenerowe;
t.szablony_wprowadzenia_tekstu={};
local r=t.szablony_wprowadzenia_tekstu;
t.szablony_tekstu={};
local q=t.szablony_tekstu;
local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r)
for _,szablony_naglowka in ipairs(naglowki) do
r[szablony_naglowka[1]]=true;
if(szablony_naglowka[2])then
if(type(szablony_naglowka[2])=="table")then
for _,wartosc in ipairs(szablony_naglowka[2])do
r[wartosc]=true;
end;
else
r[szablony_naglowka[2]]=true;
end;
end;
end;
end;
SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r);
SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q);
local function TabNumer(n,obiekty_szablon,s)
if(obiekty_szablon[n])then
if(type(obiekty_szablon[n])=="table")then
for _,wartosc in ipairs(obiekty_szablon[n])do
s[wartosc]=true;
end;
else
s[obiekty_szablon[n]]=true;
end;
end;
end;
local function RozpatrywanaTablica(tab_obiekty,s,czy_link)
for _,obiekty_szablon in ipairs(tab_obiekty)do
s[obiekty_szablon[1]]=true;
s[(czy_link and "Link" or "Pobierz")..obiekty_szablon[1]]=true;
TabNumer(2,obiekty_szablon,s);
TabNumer(3,obiekty_szablon,s);
end;
end;
RozpatrywanaTablica(p.normalne,s,true);
RozpatrywanaTablica(p.wypowiedzi,s,true);
RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s,true);
RozpatrywanaTablica(p.tekst,s,false);
TabNumer(2,p.obiekty,s);
TabNumer(3,p.obiekty,s);
local function IndeksowaneNaTak(tab_obiekty,s)
for indeks,_ in pairs(tab_obiekty)do
s[indeks]=true;
end;
end;
IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s);
IndeksowaneNaTak(p.szablony_kontenerowe,s);
return t;
end;
p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera();
----koniec szablony pudełka
----Tablica obiektów
function m.TablicaObiektowychForm()
local s={};local r={};
for _,element_w_tablicy_obiekty in pairs(p.normalne)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=true;
element_w_tablicy_obiekty.CzyNum=true;
end;
for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=true;
element_w_tablicy_obiekty.CzyNum=true;
end;
for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=true;
element_w_tablicy_obiekty.CzyNum=false;
end;
for _,element_w_tablicy_obiekty in pairs(p.tekst)do
s[#s+1]=element_w_tablicy_obiekty;
element_w_tablicy_obiekty.CzyLink=false;
element_w_tablicy_obiekty.CzyNum=false;
end;
for _,element_w_tablicy_obiekty in pairs(p.normalne)do
r[#s+1]=element_w_tablicy_obiekty;
end;
for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do
r[#s+1]=element_w_tablicy_obiekty;
end;
p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s;
p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r;
s[#s+1]=p.obiekty;
p.obiekty.CzyLink=true;
p.obiekty.CzyNum=true;
return s;
end;
----
m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function()
local function Obiekty(s,obiekty)
for _,tab_obiektow in ipairs(obiekty)do
s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],};
local tab_szablony=tab_obiektow[2];
if(tab_szablony)then
if(type(tab_szablony)=="table")then
for _,element in ipairs(tab_szablony)do
s[element]={tab_obiektow[1],tab_obiektow[5],};
end;
else
s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],};
end;
end;
end;
end;
local s={};local r={};local q={};
Obiekty(s,p.wypowiedzi);
Obiekty(s,p.normalne);
Obiekty(r,p.napisy_wprowadzenia_tekstu);
Obiekty(q,p.tekst);
return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,};
end;
p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami();
m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function()
local function Obiekty(s,linkobiekty,czy_link)
for _,tab_obiektow in ipairs(linkobiekty)do
s[(czy_link and "Link" or "Pobierz")..tab_obiektow[1]]=tab_obiektow[1];
local tab_szablony=tab_obiektow[3];
if(tab_szablony)then
if(type(tab_szablony)=="table")then
for _,element in ipairs(tab_szablony)do
s[element]=tab_obiektow[1];
end;
else
s[tab_szablony]=tab_obiektow[1];
end;
end;
end;
end;
local s={};local r={};local q={};
Obiekty(s,p.wypowiedzi,true);
Obiekty(s,p.normalne,true);
Obiekty(r,p.napisy_wprowadzenia_tekstu,true);
Obiekty(q,p.tekst,false);
return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,};
end;
p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami();
m.FormatElementowyObiektowy=function()
local s={};
local function Obiekty(s,obiekty)
for _,tab_obiektow in ipairs(obiekty)do
s[tab_obiektow[1]]=true;
end;
end;
Obiekty(s,p.wypowiedzi);
Obiekty(s,p.normalne);
return s;
end;
p.format_elementowy_obiektowy=m.FormatElementowyObiektowy();
m.FormatElementowyReferencjiObiektowych=function()
local s={};
local function Obiekty(s,obiekty)
for _,tab_obiektow in ipairs(obiekty)do
local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]);
s[element]=true;
end;
end;
Obiekty(s,p.wypowiedzi);
Obiekty(s,p.normalne);
return s;
end;
p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych();
----
----
p.tablica_obiektowych_form=m.TablicaObiektowychForm();
p.szablony_stron_zbiorczych={
["KsiążkaSubst"]=true,
["StronaSubst"]=true,
};
p.inne_szablony_stron_zbiorczych={
["Sekcja referencyjna"]=true,
["Sr"]=true,
}
m.StronyZbiorcze=function()
local s={};
local function Ziorcze(tab)
for name,_ in pairs(tab)do
s[name]=true;
end;
end;
Ziorcze(p.szablony_stron_zbiorczych);
Ziorcze(p.inne_szablony_stron_zbiorczych);
return s;
end;
p.strona_zbiorcza=m.StronyZbiorcze();
p.strona_start_inne={
["StandardowaStronaStart"]=true,
["PodstawowaStronaStart"]=true,
["ProstaStronaStart"]=true,
};
p.strona_start={
["StronaStart"]=true,
};
p.strona_start_ze_spisem_rzeczy_strony={
["UnikatowaStronaStart"]=true,
["UnikalnaStronaStart"]=true,
["SkomplikowanaStronaStart"]=true,
};
p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={
["SkomplikowanaStronaStart"]=true,
};
m.SzablonyFormartowaniaTekstu=function()
local s={};
local function DodatDoTablicy(tab)
for name,_ in pairs(tab)do
s[name]=true;
local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec");
s[name_koniec]=true;
end;
end;
DodatDoTablicy(p.strona_start);
DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony);
DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony);
DodatDoTablicy(p.strona_start_inne);
return s;
end;
p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu();
p.tablica_nazw_ramek_lua={
"StronicowyParser",
};
----Koniec tablica obiektów
p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={
["licencja"]=true,
["inne"]=true,
["bibliografia"]=true,
["zobacz też"]=true,
["linki zewnętrzne"]=true,
--[[["dedykacja"]=true,]]
};
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={
["spis treści"]=true,
["spis tresci"]=true,
["spis rzeczy"]=true,
};
--[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={
["bibliografia"]=true,
["literatura"]=true,
};]]
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={
[1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",
[2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",
};
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={
[1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,},
[2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,},
};
p.artykularne_niespisowe={
[1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$",
--[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$",
};
p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={
["Kolumny"]=2,
};
p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={
["MDL:RozszerzonyLink"]=1,
["Kompletność"]="",
["Kompletność krótka"]="",
["Kompletność junior"]="",
["Książka"]="",
};
p.szablony_z_dodatkiem_obiektowym={
["ISBN"]="ISBN $(1)";
};
p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={
["Cytuj"]=true,
["Cytuj stronę"]=true,
["Cytuj pismo"]=true,
["Cytuj odcinek"]=true,
["Cytuj książkę"]=true,
["Cytuj grę komputerową"]=true,
};
p.szablony_dozwolone_w_nazwach_linkowych={
["Korekta"] =2,
};
p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={
};
p.szablony_do_usuwania_z_tekstu={
--- szablony książkowe umieszczane na stronie głównej podręcznika
["Kolekcja"]=true,
["TODO"]=true,
["Wersja do druku"]=true,
--- szablony typowo linkowe
["Dane tekstu"]=true,
--- szablony linkowania do innych projektow
["MediaWiki"]=true,
["Wikipedia"]=true,
["Wikipedia kat"]=true,
["Wikipedia2"]=true,
["Commons"]=true,
["Commons ilustr kat"]=true,
["Commonsall"]=true,
["Commonscat"]=true,
["Wikiatlas"]=true,
["Wikicytaty"]=true,
["Wikicytaty przysłowia"]=true,
["Inkubator"]=true,
["Meta"]=true,
["Wikinews"]=true,
["Wikinewscat"]=true,
["Wikinewsy"]=true,
["Portal Wikinews"]=true,
["Wikisłownik"]=true,
["Wikisłownik-cat"]=true,
["Wikimedia"]=true,
["Multiwmpl"]=true,
["Wikipodróże"]=true,
["Wikispecies"]=true,
["Multisource"]=true,
["Wikiźródła"]=true,
["Wikiźródła autor"]=true,
["Wikiźródła kat"]=true,
["Wikiźródła kuch kat"]=true,
["Wikiźródła krótki"]=true,
["Wikisource-lang"]=true,
};
p.linki_szablony_elementy_spisu_rzeczy={
["SpisTreści"]=true,
["Sekcja referencyjna"]=true,
["Sr"]=true,
["Link wewnętrzny"]=true,
["Ly"]=true,
["LinkOgólne"]=true,
["Lo"]=true,
};
p.linki_generalne_szablony_linkowe={
["Sekcja referencyjna"]=true,
["Sr"]=true,
["Link wewnętrzny"]=true,
["Ly"]=true,
["LinkOgólne"]=true,
["Lo"]=true,
["LinkOgólne2"]=true,
["Lo2"]=true,
};
p.kody_szablony_linkowe_przestrzenne={
["Główna"]={"",},
["Wikijunior"]={"Wikijunior",},
["Kategoria"]={"Category",},
["Plik"]={"File",},
["Projekt"]={"Project",},
["Szablon"]={"Template",},
["Użytkownik"]={"User",},
["Pomoc"]={"Help",},
["Moduł"]={"Module",},
["Komunikat"]={"MediaWiki",},
["Specjalna"]={"Special",},
["Wikiprojekt"]={"Wikiproject","w",},
["Portal"]={"Portal","w",},
["Extension"]={"Extension","mw",},
};
p.kody_inne_szablony_linkowe_inteligentne={
["Sekcja referencyjna"]=true,
["Sr"]=true,
};
p.kody_szablony_linkowe_projektowe={
["Pedia"]="w",
["Źródła"]="s",
["Cytaty"]="q",
["News"]="n",
["Słownik"]="wikt",
["Podróże"]="voy",
["Wersytet"]="betawikiversity",
["Species"]="wikispecies",
["Commons"]="commons",
["Dane"]="d",
["MediaWiki"]="mw",
["MetaWiki"]="m",
};
p.kody_szablony_linkowe_dialektu={
["En"]="en",
};
p.inne_linki_szablony_elementy_spisu_rzeczy={
["SpisPozycja"]={true,numer_link="tyt",},
["SpisZw"]={false,numer=1,link=2,},
};
p.szablony_w_nie_w_tej_samej_linii={
["SpisPozycja"]=true,
["SpisZw"]=true,
["SpisTreści"]=true,
};
p.szablony_kompletowania_stron_woluminu={
["Kompletność"]=true,
["Kompletność krótka"]=true,
["Kompletność junior"]=true,
["Książka"]=true,
};
p.szablony_wprowadzenia_napisu_spisu_rzeczy={
["Ce"]=1,
["Centruj"]=1,
["Center"]=1,
};
p.szablony_dokumentacji={
["Dokumentacja"]=true,
};
p.szablony_wykorzystywane_przez_strony_zbiorcze={
["Sekcja referencyjna"]=true,
["Sr"]=true,
};
p.szablony_licencji={
["Licencja"]=true,
};
p.szablony_ozdobne_stron_woluminu={
["MDL:RozszerzonyLink"]=true,
};
p.szablony_bez_generowania_napisowego={
["Status"]=true,
};
p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={
["Rozdział"]=true,
["Podrozdział"]=true,
["MapaObrazu"]=true,
};
p.strony_main_page_projektu={
["Wikijunior:Strona główna"]=true,
["Wikibooks:Strona główna"]=true,
["Strona główna"]=true,
["Main Page"]=true,
}
p.szablony_nie_typowo_linkowe={
["Plik"]=true,
["Kategoria"]=true,
["Kategorie"]=true,
["Wolumin"]=true,
};
p.szablony_przypisowe={
["Przypisy"]=true,
["Uwagi"]=true,
["Przypisy-lista"]=true,
};
p.napisy_wprowadzenia_tekstu_przypisowych={
["Przypisy"]=true,
["Uwagi"]=true,
["Bibliografia"]=true,
["Licencja"]=true,
};
p.magiczne_derektywy={
["TOC"]=true,
["NOTOC"]=true,
["NOEDITSECTION"]=true,
}
p.znaczniki_szablonowe={
["Znacznik"]=1,
["Div"]=1,
["Code"]=1,
["Tt"]=1,
["P"]=1,
["Sub"]=1,
["Sup"]=1,
["Span"]=1,
["Bdo"]=1,
["Small"]=1,
["Big"]=1,
["Strong"]=1,
};
p.szablony_indeksowania={
["Kotwica"] =true,
["Indeksuj"]=true,
};
p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={
["g"]="Główna",
["c"]="Specjalna",
["k"]="Kategoria",
["f"]="Plik",
["m"]="Komunukat",
["d"]="Moduł",
["p"]="Pomoc",
["r"]="Projekt",
["s"]="Szablon",
["j"]="Wikijunior",
["ż"]="Użytkownik",
["e"]="Extension",
["x"]="Property",
["w"]="Wikiprojekt",
["t"]="Portal",
};
p.nazwy_projektowe_serwisy_linkowe_inteligentne={
["p"]="Pedia",
["h"]="EnPedia",
["s"]="Słownik",
["x"]="Cytaty",
["ź"]="Źródła",
["d"]="Podróże",
["g"]="Species",
["z"]="News",
["r"]="Wersytet",
["w"]="Wikia",
["c"]="Commons",
["n"]="Dane",
["k"]="MediaWiki",
["m"]="MetaWiki",
["b"]="En",
};
p.przekierowania_szablonowe_linkowe_inteligentne_inne={
["Lz"]="LinkURL",
["Lb"]="LinkWB",
["Sr"]="Sekcja referencyjna",
["Ly"]="Link wewnętrzny",
};
p.nazwy_szablonowe_kolidacja={
--["Ltr"]=true,
};
p.litery_przestrzeni_kolidacja={
--["ř"]="r",
};
p.znaczniki_wprowadzenia_tekstu={
["h1"]=1,
["h2"]=2,
["h3"]=3,
["h4"]=4,
["h5"]=5,
["h6"]=6,
};
p.szablony_sztucznego_wprowadzenia_tekstu={
["HNumer"]=1,
};
p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={
["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},},
};
p.szablony_linkowe_spisu_rzeczy={
["Sekcja referencyjna"]={{"strona","s",1,},{"nazwa","n",2,},{"podstrona","p",3},{"ustęp","u",4},{"od małej","m"},{"od dużej","d",},{"nazwa przestrzeni nazw",},{"nazwa jednostki",},},
};
return p;
6hhz20ldrsgfkpskzfvksnz4fdqad6x
Moduł:S
828
46769
546607
539382
2026-06-13T17:34:23Z
Persino
2851
546607
Scribunto
text/plain
local OpakowanieLinkoweNowiki=function(pole)
local strony_modul=require('Module:Strony');
local frame=mw.getCurrentFrame();
pole=mw.ustring.gsub(pole,"(%a+://%S+)",function(adres)
local czy_url=strony_modul.SprawdzanieURL(adres);
if(czy_url)then
local adres="<nowiki>"..adres.."</nowiki>";
--=frame:preprocess(adres);
return adres;
end;
end);
return pole;
end;
local function StworzSymboliczneWywolanieWedlugZebranychDanych(args, link)
local html_modul=require("Module:Html");
local wywolanie="{{"..link;
for name,value in ipairs(args)do
if(name~=1)then
value=OpakowanieLinkoweNowiki(value);
value=html_modul.PrzypisanieZnakoweEncodeHtml(value);
value=mw.ustring.gsub(value,"^!","!");
value=mw.ustring.gsub(value,"\n!","\n!");
value=html_modul.EncodeZnakProloguList(value);
wywolanie=wywolanie.."|"..value;
end;
end;
local wywolanie=wywolanie.."}}";
return wywolanie;
end;
local function SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(nazwa_stara,nazwa_nowa,nazwa_oryginalna,odsmiec,od_malej)
if(nazwa_oryginalna)then return nazwa_stara;end;
if(odsmiec)then if(od_malej)then return mw.getContentLanguage():lcfirst(nazwa_nowa) else return nazwa_nowa;end;end;
local techniczne_modul=require("Module:Techniczne");
nazwa_nowa=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_nowa);
local wzor=mw.ustring.gsub(nazwa_nowa," ","[%%s_]+");
wzor=mw.ustring.gsub(wzor,"^([%s_:]*)([^:]*)(:)([%s_:]*)(.)",function(a,b,c,d,e)
local przestrzen=techniczne_modul["WzórDanejPrzestrzeniNazw"](b);
local duze=mw.getContentLanguage():ucfirst(e);
local male=mw.getContentLanguage():lcfirst(e);
if(duze~=male)then return a..przestrzen..c..d.."["..duze..male.."]";else return s;end;
end);
wzor=mw.ustring.gsub(wzor,"^([%s_:]*)(.)",function(a,b)
local duze=mw.getContentLanguage():ucfirst(b);
local male=mw.getContentLanguage():lcfirst(b);
if(duze~=male)then
return a.."["..duze..male.."]";
else
return nil;
end;
end);
wzor=mw.ustring.gsub(wzor,":","[%%s_]*:[%%s_:]*");
wzor="([%s_]*"..wzor.."[%s_]*)$";
local nazwa_stara_sformatowana=mw.ustring.match(nazwa_stara,wzor);
return nazwa_stara_sformatowana or mw.ustring.gsub(nazwa_stara,"^[%s_:]*","");
end;
local function UsunDwukropki(kod)
local ile;
repeat
kod,ile=mw.ustring.gsub(kod,"^([%s_]*):","%1");
until ile==0;
local odstepy_przed_nazwy,kod,odstepy_po_nazwy=mw.ustring.match(kod,"^([%s_]*)(.-)([%s_]*)$")
return kod,odstepy_przed_nazwy,odstepy_po_nazwy;
end;
local function SzablonoweSymboliczneWywolanie(args,modyfikatory,klucz_przestrzeni,rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local wiki_modul=require("Module:Wiki");
local html_modul=require("Module:Html");
-----
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
local czy_jezykowe=(parametry_modul.CzyTak(klucz_projektu) or (parametry_modul.CzyTak(kod_jezyka) or parametry_modul.CzyTak(kod_projektu)));
----
local Strona=function(strona,klucz_przestrzeni)
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona);
if(nazwa_przestrzeni=="")then
return (((not czy_jezykowe)or(czy_biezaca))and nazwy_np_modul[klucz_przestrzeni] or klucz_przestrzeni)..":"..strona;
elseif((klucz_przestrzeni~="Template")and(nazwa_przestrzeni~=nazwy_np_modul[klucz_przestrzeni]))then
return (((not czy_jezykowe)or(czy_biezaca))and nazwy_np_modul[klucz_przestrzeni] or klucz_przestrzeni)..":"..strona;
else
return strona;
end;
end;
modyfikatory=html_modul.ZamianaDwukropkaNaKodHtml(modyfikatory);
local function NazwaSzablonu(subnazwa_wyswietlana,subnazwa_bez_ksiazka,nazwa,nazwa_wyswietlana)
if(subnazwa_wyswietlana)then
local subnazwa=mw.ustring.match(nazwa,"/([^/]+)$");
local subnazwa_po_dwukropku=subnazwa and (mw.ustring.match(subnazwa,":(.-)$") or subnazwa) or (mw.ustring.match(nazwa,":(.-)$") or nazwa);
return subnazwa_po_dwukropku;
elseif(subnazwa_bez_ksiazka)then
return mw.ustring.match(nazwa,"^[^/]-:Książka:(.*)$") or mw.ustring.match(nazwa,"^Książka:(.*)$") or nazwa_wyswietlana or nazwa;
end;
return (nazwa_wyswietlana or nazwa);
end;
----
local function NazwaPrzestrzeni()
if(analiza)then
if(czy_biezaca)then
nazwa_przestrzeni=nazwy_modul.Np{nazwa=klucz_przestrzeni,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
else
nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
end;
elseif(not czy_jezykowe)then
nazwa_przestrzeni=czy_biezaca and nazwy_np_modul[klucz_przestrzeni] or klucz_przestrzeni;
else
nazwa_przestrzeni=klucz_przestrzeni;
end;
return nazwa_przestrzeni;
end;
local NazwaPrefixStrona=function(nazwa)
if(not nazwa)then return nazwa;end;
if(mw.ustring.match(nazwa,"/$"))then
local techniczne_modul=require("Module:Techniczne");
local ile=techniczne_modul.PoliczZbiory{[1]=nazwa,};
if(ile==0)then
return "Specjalna:Strony_według_prefiksu/"..nazwa;
end;
return nazwa;
end;
return nazwa;
end;
local function ZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,czy_przestrzen,czy_przestrzen_niepolska)
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony,nazwa_oryginalna);
local strona=nazwy_modul[((not czy_przestrzen)and(czy_przestrzen_niepolska)) and "PEŁNANAZWASTRONY" or "NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=nazwa_oryginalna and strona or (z_przestrzenia and szablonowe_modul["PełnaNazwaStronyWywołańSzablonowych"](rozwazana_nazwa_strony,klucz_przestrzeni,kod_jezyka,kod_projektu) or nazwy_modul["NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,})
if(not z_przestrzenia)then
if((not nazwa_oryginalna)and(klucz_przestrzeni=="Template"))then
local inna_nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=nazwa,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,};
if(inna_nazwa_przestrzeni~="")then
nazwa=(((((czy_przestrzen)or(not czy_przestrzen_niepolska)))and(nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":"..strona) or (strona));
else
--nazwa=nazwy_modul["NAZWASTRONY"]{nazwa=nazwa,};
end;
end;
end;
--local nazwa_przestrzeni;
if(czy_przestrzen)then
nazwa_przestrzeni=NazwaPrzestrzeni();
end;
nazwa=z_przestrzenia and nazwa or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,nazwa,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..przed_nazwa..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=NazwaPrefixStrona(((((czy_przestrzen)or(not czy_przestrzen_niepolska)))and(nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":"..strona) or (strona)),["nazwa"]=NazwaSzablonu(subnazwa_wyswietlana,subnazwa_bez_ksiazka,nazwa,nazwa_wyswietlana),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..po_nazwa..odstepy_po);
end;
local function NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,czy_przestrzen_niepolska,czy_bez_klucza_przestrzeni,__funkcja,__funkcja2)
local odstepy_przed_nazwy;local odstepy_po_nazwy;
if(__funkcja)then
rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=__funkcja(rozwazana_nazwa_strony,nazwa_oryginalna);
else
rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony,nazwa_oryginalna);
end;
local strona=nazwy_modul[czy_przestrzen_niepolska and "PEŁNANAZWASTRONY" or "NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,};
if((czy_przestrzen_niepolska)and(__funkcja2))then
nazwa_przestrzeni=__funkcja2(klucz_przestrzeni);
end;
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyWywołańSzablonowych"](strona,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,strona,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..przed_nazwa..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=NazwaPrefixStrona((not czy_bez_klucza_przestrzeni) and (Strona(strona,klucz_przestrzeni))or((((czy_przestrzen_niepolska)and(__funkcja2)and(nazwa_przestrzeni~="")) and (nazwa_przestrzeni..":") or (""))..strona)),["nazwa"]=NazwaSzablonu(subnazwa_wyswietlana,subnazwa_bez_ksiazka,nazwa,nazwa_wyswietlana),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..po_nazwa..odstepy_po);
end;
----
if((czy_jezykowe)and(nazwa_przestrzeni~=""))then
if(czy_biezaca)then
if(nazwa_przestrzeni==nazwy_np_modul[klucz_przestrzeni])then
return ZgodneZKluczemPrzestrzeni(nil,nil,nil,false,true);
else
return NieZgodneZKluczemPrzestrzeni(nil,nil,nil,true);
end;
else
nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,kanoniczna="tak",istnieje="tak",["wynik błędu nietekstowy"]="tak",}
if(nazwa_przestrzeni==nazwy_np_modul.kanoniczna[klucz_przestrzeni])then
return ZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,false,true);
else
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true);
end;
end;
else
nazwa_przestrzeni=((czy_jezykowe) and (not czy_biezaca))and nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=rozwazana_nazwa_strony,} or nazwa_przestrzeni;
if(nazwa_przestrzeni~="")then
if(nazwa_przestrzeni==nazwy_np_modul[klucz_przestrzeni])then
if(not czy_jezykowe)then
return ZgodneZKluczemPrzestrzeni(nil,nil,nil,false,true);
else
return ZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true,false);
end;
else
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true);
end;
elseif((mw.ustring.match(rozwazana_nazwa_strony,"^[%s_]*:[%s_:]*"))and((klucz_przestrzeni~="MediaWiki")and(klucz_przestrzeni~="Module")))then
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true,true,function(rozwazana_nazwa_strony)
local odstepy_przed_dwukropek,odstepy_po_dwukropek,rozwazana_uzyskana_nazwa_strony,odstepy_po_nazwy=mw.ustring.match(rozwazana_nazwa_strony,"^([%s_]*):([%s_]*)([^%s_:].-)([%s_]*)$");
local przed;
if(not odstepy_przed_dwukropek or not odstepy_po_dwukropek or not rozwazana_uzyskana_nazwa_strony)then
local odstepy_przed_dwukropek,odstepy_po_dwukropek;
odstepy_przed_dwukropek,odstepy_po_dwukropek,rozwazana_uzyskana_nazwa_strony,odstepy_po_nazwy=mw.ustring.match(rozwazana_nazwa_strony,"^([%s_:]*):([%s_]*)([^%s_:].-)([%s_]*)$");
przed=mw.ustring.gsub(odstepy_przed_dwukropek,":","")..":"..odstepy_po_dwukropek;
else
przed=odstepy_przed_dwukropek..":"..odstepy_po_dwukropek;
end;
return rozwazana_uzyskana_nazwa_strony,przed,odstepy_po_nazwy;
end);
else
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true,true,function(rozwazana_nazwa_strony)
local parametry_modul=require("Module:Parametry");
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=analiza and mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=rozwazana_nazwa_strony,[2]="tak",}) or rozwazana_nazwa_strony;
return strona,odstepy_przed_nazwy,odstepy_po_nazwy;
end,function(klucz_przestrzeni)
local nazwa_przestrzeni=NazwaPrzestrzeni();
return nazwa_przestrzeni;
end);
end;
end;
end;
local function UzyskajDaneOdArgumentuPierwszego(argument_pierwszy,nazwa_wyswietlana)
local przed,pole_nazwy,po=mw.ustring.match(nazwa_wyswietlana or argument_pierwszy,"^([%s_]*)(.-)([%s_]*)$");
local szablonowe_modul=require("Module:Szablonowe");
if(nazwa_wyswietlana)then
argument_pierwszy=mw.ustring.match(argument_pierwszy,"^[%s_]*(.-)[%s_]*$");
end;
local pole,modyfikatory,tab_mod=szablonowe_modul.WydzielanieOpcjiModyfikatorowych(nazwa_wyswietlana and argument_pierwszy or pole_nazwy);
return przed,pole,po,modyfikatory,tab_mod;
end;
local function OdsmiecParametrySymbolicznegoWywolania(args,usun_konce)
local parametry_modul=require("Module:Parametry");
local args2={};
for licznik,wartosc in ipairs(args)do
if(licznik==1)then
args2[licznik]=parametry_modul["Odstępy"]{[1]=wartosc,[2]="tak",};
else
local _parametr,_wartosc=mw.ustring.match(wartosc,"^%s*([^=]-)%s*=%s*(.-)%s*$");
if(_parametr and _wartosc)then
args2[licznik]=_parametr.."=".._wartosc;
elseif(usun_konce)then
args2[licznik]=mw.text.trim(wartosc);
else
args2[licznik]=wartosc;
end
end;
end;
return args2;
end;
local function ParametryFunkcjiSLubM(frame,domyslna_nazwa_szablonu)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local klucz_projektu=args["klucz projektu"] or args["k"];
local kod_jezyka=args["kod języka"] or args["j"];
local kod_projektu=args["kod projektu"] or args["p"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]);
local analiza=parametry_modul.CzyTak(args["analiza"]);
local z_przestrzenia=parametry_modul.CzyTak(args["z przestrzenią"]);
local nazwa_wyswietlana=parametry_modul.CzyTak(args["nazwa"]) and args["nazwa"] or nil;
local subnazwa_wyswietlana=parametry_modul.CzyTak(args["subnazwa"]);
local subnazwa_bez_ksiazka=parametry_modul.CzyTak(args["subnazwa bez książka"]);
local argument_pierwszy=args[1];
local czy_niepusty_argument_pierwszy=parametry_modul["CzyTakCiąg"](argument_pierwszy)
local szablonowe_modul=require("Module:Szablonowe");
local function UsuwanieKomentarzy(argument_pierwszy)
---- Usuwanie normalnych komentarzy z kodu.
local techniczne_modul=require("Module:Techniczne");
argument_pierwszy=techniczne_modul.UsuwanieKomentarzowe(argument_pierwszy);
---- Usuwanie zakodowanych komentarzy z kodu.
argument_pierwszy=mw.ustring.gsub(argument_pierwszy,szablonowe_modul.NormaWzoruKodowaniaTekstu("KOMENTARZ"),"");
return argument_pierwszy;
end;
local argument_pierwszy=czy_niepusty_argument_pierwszy and UsuwanieKomentarzy(argument_pierwszy) or domyslna_nazwa_szablonu;
---
local PrzedPoStronaNazwa=function(nazwa)
if(not nazwa)then return;end;
local nazwa,ile=mw.ustring.gsub(nazwa,szablonowe_modul.NormaWzoruKodowaniaTekstu("OGRANICZNIK"),"");
local przed="";
repeat
local wzor="^([%s_]*"..szablonowe_modul.NormaWzoruKodowaniaTekstu("KOMENTARZ").."[%s_]*)"
local przed_temp=mw.ustring.match(nazwa,wzor);
if(not przed_temp)then break;end;
przed=przed..przed_temp;
nazwa=mw.ustring.gsub(nazwa,wzor,"");
until false;
local po="";
repeat
local wzor="([%s_]*"..szablonowe_modul.NormaWzoruKodowaniaTekstu("KOMENTARZ","%d+").."[%s_]*)$";
local po_temp=mw.ustring.match(nazwa,wzor);
if(not po_temp)then break;end;
po=po_temp..po;
nazwa=mw.ustring.gsub(nazwa,wzor,"");
until false;
local czy_ile=(ile>0)and true or false;
return przed,po,nazwa,czy_ile;
end;
local przed_nazwa,po_nazwa,nazwa,czy_ile=PrzedPoStronaNazwa(nazwa_wyswietlana);
nazwa_wyswietlana=nazwa or nazwa_wyswietlana;
---
local odstepy_przed,rozwazana_nazwa_strony,odstepy_po,modyfikatory,tab_mod=UzyskajDaneOdArgumentuPierwszego(argument_pierwszy,nazwa_wyswietlana);
local __modyfikatory=args["modyfikatory"];
if(__modyfikatory)then
__modyfikatory=mw.ustring.gsub(__modyfikatory,szablonowe_modul.NormaWzoruKodowaniaTekstu("OGRANICZNIK"),"");
end;
modyfikatory=parametry_modul.CzyTak(__modyfikatory) and __modyfikatory or modyfikatory;
if(not parametry_modul["CzyTakCiąg"](rozwazana_nazwa_strony))then
rozwazana_nazwa_strony=domyslna_nazwa_szablonu;
end;
if(czy_ile)then
rozwazana_nazwa_strony=parametry_modul["Odstępy"](rozwazana_nazwa_strony);
modyfikatory=mw.ustring.gsub(modyfikatory,"[%s_]+$","");
end;
args[1]=rozwazana_nazwa_strony;
analiza=(not analiza)and (args[1] and mw.ustring.match(args[1],"^[%s_:]*[^%s_:]+:.*$") and true or false) or analiza;
bez_przetwarzania=bez_przetwarzania or ((not analiza) and "tak" or nil);
local nazwa_oryginalna=(not analiza and true) or parametry_modul.CzyTak(args["oryginalna"] or args["o"]);
local odsmiec=(not analiza and true) or parametry_modul.CzyTak(args["odśmieć"]);
local historia=(not analiza and true) or parametry_modul.CzyTak(args["historia"]);
local usun_konce=parametry_modul.CzyTak(args["usuń końce"]);
local od_malej=parametry_modul.CzyTak(args["od małej"]);
local usun_odstepy=parametry_modul.CzyTak(args["usuń odstępy"]);
if(usun_odstepy)then
odstepy_przed="";
odstepy_po="";
if(odsmiec)then
if(mw.ustring.match(rozwazana_nazwa_strony,"^[%s_]*:"))then
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"^[%s_:]*","");
rozwazana_nazwa_strony=":"..rozwazana_nazwa_strony;
end;
rozwazana_nazwa_strony=parametry_modul["Odstępy"]{[1]=rozwazana_nazwa_strony,[2]=nil,[3]=nil,};
end;
end;
if((odsmiec)and(not historia))then args=OdsmiecParametrySymbolicznegoWywolania(args,usun_konce);end;
if((odsmiec)and(not historia))then modyfikatory=mw.ustring.gsub(modyfikatory,"[%s_]*","");end;
if(analiza)then
local wiki_modul=require("Module:Wiki");
kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
local koncowa_rozwazana_nazwa_strony;
koncowa_rozwazana_nazwa_strony,kod_jezyka,kod_projektu=wiki_modul.KodyNazwyStrony(rozwazana_nazwa_strony,kod_jezyka,kod_projektu);
klucz_projektu=nil;
if(koncowa_rozwazana_nazwa_strony~=rozwazana_nazwa_strony)then
local techniczne_modul=require("Module:Techniczne");
local wzor_rozwazana_nazwa_strony=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](koncowa_rozwazana_nazwa_strony);
local koncowa_rozwazana_nazwa_strony_wynikowa_kodow=mw.ustring.gsub(rozwazana_nazwa_strony,wzor_rozwazana_nazwa_strony.."$","");
if(mw.ustring.match(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,":[%s_]*:[%s_]*$"))then
koncowa_rozwazana_nazwa_strony_wynikowa_kodow=mw.ustring.gsub(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,"(:[%s_]*)$","");
end;
local wzor_koncowa_rozwazana_nazwa_strony_wynikowa_kodow=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](koncowa_rozwazana_nazwa_strony_wynikowa_kodow);
local odstep_kodow=((not odsmiec) or (not usun_odstepy)) and mw.ustring.gsub(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,"[%w%p]","") or "";
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"^"..wzor_koncowa_rozwazana_nazwa_strony_wynikowa_kodow,odstep_kodow);
rozwazana_nazwa_strony=((odsmiec)and(usun_odstepy)) and mw.ustring.gsub(rozwazana_nazwa_strony,"^[%s_:]*:[%s_:]*",":") or rozwazana_nazwa_strony;
else
local pudelko_modul=require("Module:Pudełko");
kod_jezyka=((not kod_jezyka)or(kod_jezyka~=pudelko_modul["Kod języka tego projektu"]()))and kod_jezyka or nil;
kod_projektu=((not kod_projektu)or(kod_projektu~=pudelko_modul["Kod projektu tego projektu"]()))and kod_projektu or nil;
end
end;
analiza=analiza and "tak" or nil;
--odstepy_przed=odstepy_przed..(przed_nazwa or "");
--odstepy_po=(po_nazwa or "")..odstepy_po;
przed_nazwa=(przed_nazwa or "");
po_nazwa=(po_nazwa or "");
return args,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,przed_nazwa,rozwazana_nazwa_strony,po_nazwa,odstepy_po,modyfikatory,tab_mod;
end;
local p={
["S"] = function(frame)
local args,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,przed_nazwa,rozwazana_nazwa_strony,po_nazwa,odstepy_po,modyfikatory,tab_mod=ParametryFunkcjiSLubM(frame,"Nieznany szablon");
local CzyJestHash=function(rozwazana_nazwa_strony)
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"&#(%d+);",function(kod)
return mw.ustring.char(kod);
end);
local czy_tak=mw.ustring.match(rozwazana_nazwa_strony,"#") and true or false;
return czy_tak;
end;
if(CzyJestHash(rozwazana_nazwa_strony))then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={tekst="Problem z wywołaniem symbolicznym szablonu {{s}}: W nazwie strony znaleziono znak \"#\", co jest mylone z nagłówkiem strony!",tag="strong",},};
end;
local s_dane=mw.loadData('Module:S/dane');
local tab_magiczne_szablony=s_dane.tab_magiczne_szablony;
if(tab_mod)then
local parametry_modul=require("Module:Parametry");
if(not parametry_modul["CzySąElementyNazwaneTablicy"](tab_mod))then
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..przed_nazwa,(args[1] or "Nieznany tag")..po_nazwa..odstepy_po);
end;
elseif(tab_mod["#if:"] or tab_mod["#ifeq:"] or tab_mod["#iferror:"] or tab_mod["#tag:"] or tab_mod["#switch:"] or tab_mod["#property:"] or tab_mod["#expr:"] or tab_mod["#ifexpr:"] or tab_mod["#ifexist:"] or tab_mod["gender:"] or tab_mod["DEFAULTSORT:"])then
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..(args[1] or "Nieznany tag")..odstepy_po);
elseif((not tab_mod["#invoke:"])and(not tab_mod["int:"]))then
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..przed_nazwa..(args[1] or "Nieznany tag")..po_nazwa..odstepy_po);
end;
elseif((tab_mod["#invoke:"]) and (not tab_mod["int:"]))then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Module",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
elseif((tab_mod["int:"]) and (not tab_mod["#invoke:"]))then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"MediaWiki",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
elseif(tab_mod["int:"] and tab_mod["#invoke:"])then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={tekst="Problem z wywołaniem symbolicznym szablonu {{s}}: Podano sprzeczne ze sobą modyfikatory podstawowe!",tag="strong",},};
else
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..przed_nazwa..(args[1] or "Nieznany tag")..po_nazwa..odstepy_po);
end;
end;
else
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..(args[1] or "Nieznany tag")..odstepy_po);
end;
end;
end,
["M"] = function(frame)
local args,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,przed_nazwa,rozwazana_nazwa_strony,po_nazwa,odstepy_po,modyfikatory,tab_mod=ParametryFunkcjiSLubM(frame,"Nieznany moduł");
if(mw.ustring.match(rozwazana_nazwa_strony,"#"))then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={tekst="Problem z wywołaniem symbolicznym szablonu {{s}}: W nazwie strony znaleziono znak \"#\", co jest mylone z nagłówkiem strony!",tag="strong",},};
end;
rozwazana_nazwa_strony=odstepy_przed..rozwazana_nazwa_strony;
odstepy_przed="";
return SzablonoweSymboliczneWywolanie(args,"#invoke:","Module",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
end,
}
return p;
5r9xr30rny3o03qpt924viimc4bd31k
546608
546607
2026-06-13T17:35:56Z
Persino
2851
Anulowano wersję [[Special:Diff/546607|546607]] autorstwa [[Special:Contributions/Persino|Persino]] ([[User talk:Persino|dyskusja]])
546608
Scribunto
text/plain
local OpakowanieLinkoweNowiki=function(pole)
local strony_modul=require('Module:Strony');
local frame=mw.getCurrentFrame();
pole=mw.ustring.gsub(pole,"(%a+://%S+)",function(adres)
local czy_url=strony_modul.SprawdzanieURL(adres);
if(czy_url)then
local adres="<nowiki>"..adres.."</nowiki>";
adres=frame:preprocess(adres);
return adres;
end;
end);
return pole;
end;
local function StworzSymboliczneWywolanieWedlugZebranychDanych(args, link)
local html_modul=require("Module:Html");
local wywolanie="{{"..link;
for name,value in ipairs(args)do
if(name~=1)then
value=OpakowanieLinkoweNowiki(value);
value=html_modul.PrzypisanieZnakoweEncodeHtml(value);
value=mw.ustring.gsub(value,"^!","!");
value=mw.ustring.gsub(value,"\n!","\n!");
value=html_modul.EncodeZnakProloguList(value);
wywolanie=wywolanie.."|"..value;
end;
end;
local wywolanie=wywolanie.."}}";
return wywolanie;
end;
local function SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(nazwa_stara,nazwa_nowa,nazwa_oryginalna,odsmiec,od_malej)
if(nazwa_oryginalna)then return nazwa_stara;end;
if(odsmiec)then if(od_malej)then return mw.getContentLanguage():lcfirst(nazwa_nowa) else return nazwa_nowa;end;end;
local techniczne_modul=require("Module:Techniczne");
nazwa_nowa=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_nowa);
local wzor=mw.ustring.gsub(nazwa_nowa," ","[%%s_]+");
wzor=mw.ustring.gsub(wzor,"^([%s_:]*)([^:]*)(:)([%s_:]*)(.)",function(a,b,c,d,e)
local przestrzen=techniczne_modul["WzórDanejPrzestrzeniNazw"](b);
local duze=mw.getContentLanguage():ucfirst(e);
local male=mw.getContentLanguage():lcfirst(e);
if(duze~=male)then return a..przestrzen..c..d.."["..duze..male.."]";else return s;end;
end);
wzor=mw.ustring.gsub(wzor,"^([%s_:]*)(.)",function(a,b)
local duze=mw.getContentLanguage():ucfirst(b);
local male=mw.getContentLanguage():lcfirst(b);
if(duze~=male)then
return a.."["..duze..male.."]";
else
return nil;
end;
end);
wzor=mw.ustring.gsub(wzor,":","[%%s_]*:[%%s_:]*");
wzor="([%s_]*"..wzor.."[%s_]*)$";
local nazwa_stara_sformatowana=mw.ustring.match(nazwa_stara,wzor);
return nazwa_stara_sformatowana or mw.ustring.gsub(nazwa_stara,"^[%s_:]*","");
end;
local function UsunDwukropki(kod)
local ile;
repeat
kod,ile=mw.ustring.gsub(kod,"^([%s_]*):","%1");
until ile==0;
local odstepy_przed_nazwy,kod,odstepy_po_nazwy=mw.ustring.match(kod,"^([%s_]*)(.-)([%s_]*)$")
return kod,odstepy_przed_nazwy,odstepy_po_nazwy;
end;
local function SzablonoweSymboliczneWywolanie(args,modyfikatory,klucz_przestrzeni,rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local wiki_modul=require("Module:Wiki");
local html_modul=require("Module:Html");
-----
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
local czy_jezykowe=(parametry_modul.CzyTak(klucz_projektu) or (parametry_modul.CzyTak(kod_jezyka) or parametry_modul.CzyTak(kod_projektu)));
----
local Strona=function(strona,klucz_przestrzeni)
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona);
if(nazwa_przestrzeni=="")then
return (((not czy_jezykowe)or(czy_biezaca))and nazwy_np_modul[klucz_przestrzeni] or klucz_przestrzeni)..":"..strona;
elseif((klucz_przestrzeni~="Template")and(nazwa_przestrzeni~=nazwy_np_modul[klucz_przestrzeni]))then
return (((not czy_jezykowe)or(czy_biezaca))and nazwy_np_modul[klucz_przestrzeni] or klucz_przestrzeni)..":"..strona;
else
return strona;
end;
end;
modyfikatory=html_modul.ZamianaDwukropkaNaKodHtml(modyfikatory);
local function NazwaSzablonu(subnazwa_wyswietlana,subnazwa_bez_ksiazka,nazwa,nazwa_wyswietlana)
if(subnazwa_wyswietlana)then
local subnazwa=mw.ustring.match(nazwa,"/([^/]+)$");
local subnazwa_po_dwukropku=subnazwa and (mw.ustring.match(subnazwa,":(.-)$") or subnazwa) or (mw.ustring.match(nazwa,":(.-)$") or nazwa);
return subnazwa_po_dwukropku;
elseif(subnazwa_bez_ksiazka)then
return mw.ustring.match(nazwa,"^[^/]-:Książka:(.*)$") or mw.ustring.match(nazwa,"^Książka:(.*)$") or nazwa_wyswietlana or nazwa;
end;
return (nazwa_wyswietlana or nazwa);
end;
----
local function NazwaPrzestrzeni()
if(analiza)then
if(czy_biezaca)then
nazwa_przestrzeni=nazwy_modul.Np{nazwa=klucz_przestrzeni,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
else
nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
end;
elseif(not czy_jezykowe)then
nazwa_przestrzeni=czy_biezaca and nazwy_np_modul[klucz_przestrzeni] or klucz_przestrzeni;
else
nazwa_przestrzeni=klucz_przestrzeni;
end;
return nazwa_przestrzeni;
end;
local NazwaPrefixStrona=function(nazwa)
if(not nazwa)then return nazwa;end;
if(mw.ustring.match(nazwa,"/$"))then
local techniczne_modul=require("Module:Techniczne");
local ile=techniczne_modul.PoliczZbiory{[1]=nazwa,};
if(ile==0)then
return "Specjalna:Strony_według_prefiksu/"..nazwa;
end;
return nazwa;
end;
return nazwa;
end;
local function ZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,czy_przestrzen,czy_przestrzen_niepolska)
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony,nazwa_oryginalna);
local strona=nazwy_modul[((not czy_przestrzen)and(czy_przestrzen_niepolska)) and "PEŁNANAZWASTRONY" or "NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=nazwa_oryginalna and strona or (z_przestrzenia and szablonowe_modul["PełnaNazwaStronyWywołańSzablonowych"](rozwazana_nazwa_strony,klucz_przestrzeni,kod_jezyka,kod_projektu) or nazwy_modul["NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,})
if(not z_przestrzenia)then
if((not nazwa_oryginalna)and(klucz_przestrzeni=="Template"))then
local inna_nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=nazwa,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,};
if(inna_nazwa_przestrzeni~="")then
nazwa=(((((czy_przestrzen)or(not czy_przestrzen_niepolska)))and(nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":"..strona) or (strona));
else
--nazwa=nazwy_modul["NAZWASTRONY"]{nazwa=nazwa,};
end;
end;
end;
--local nazwa_przestrzeni;
if(czy_przestrzen)then
nazwa_przestrzeni=NazwaPrzestrzeni();
end;
nazwa=z_przestrzenia and nazwa or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,nazwa,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..przed_nazwa..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=NazwaPrefixStrona(((((czy_przestrzen)or(not czy_przestrzen_niepolska)))and(nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":"..strona) or (strona)),["nazwa"]=NazwaSzablonu(subnazwa_wyswietlana,subnazwa_bez_ksiazka,nazwa,nazwa_wyswietlana),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..po_nazwa..odstepy_po);
end;
local function NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,czy_przestrzen_niepolska,czy_bez_klucza_przestrzeni,__funkcja,__funkcja2)
local odstepy_przed_nazwy;local odstepy_po_nazwy;
if(__funkcja)then
rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=__funkcja(rozwazana_nazwa_strony,nazwa_oryginalna);
else
rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony,nazwa_oryginalna);
end;
local strona=nazwy_modul[czy_przestrzen_niepolska and "PEŁNANAZWASTRONY" or "NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=czy_przestrzen_niepolska and klucz_projektu or nil,["kod języka"]=czy_przestrzen_niepolska and kod_jezyka or nil,["kod projektu"]=czy_przestrzen_niepolska and kod_projektu or nil,};
if((czy_przestrzen_niepolska)and(__funkcja2))then
nazwa_przestrzeni=__funkcja2(klucz_przestrzeni);
end;
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyWywołańSzablonowych"](strona,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,strona,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..przed_nazwa..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=NazwaPrefixStrona((not czy_bez_klucza_przestrzeni) and (Strona(strona,klucz_przestrzeni))or((((czy_przestrzen_niepolska)and(__funkcja2)and(nazwa_przestrzeni~="")) and (nazwa_przestrzeni..":") or (""))..strona)),["nazwa"]=NazwaSzablonu(subnazwa_wyswietlana,subnazwa_bez_ksiazka,nazwa,nazwa_wyswietlana),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..po_nazwa..odstepy_po);
end;
----
if((czy_jezykowe)and(nazwa_przestrzeni~=""))then
if(czy_biezaca)then
if(nazwa_przestrzeni==nazwy_np_modul[klucz_przestrzeni])then
return ZgodneZKluczemPrzestrzeni(nil,nil,nil,false,true);
else
return NieZgodneZKluczemPrzestrzeni(nil,nil,nil,true);
end;
else
nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,kanoniczna="tak",istnieje="tak",["wynik błędu nietekstowy"]="tak",}
if(nazwa_przestrzeni==nazwy_np_modul.kanoniczna[klucz_przestrzeni])then
return ZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,false,true);
else
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true);
end;
end;
else
nazwa_przestrzeni=((czy_jezykowe) and (not czy_biezaca))and nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=rozwazana_nazwa_strony,} or nazwa_przestrzeni;
if(nazwa_przestrzeni~="")then
if(nazwa_przestrzeni==nazwy_np_modul[klucz_przestrzeni])then
if(not czy_jezykowe)then
return ZgodneZKluczemPrzestrzeni(nil,nil,nil,false,true);
else
return ZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true,false);
end;
else
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true);
end;
elseif((mw.ustring.match(rozwazana_nazwa_strony,"^[%s_]*:[%s_:]*"))and((klucz_przestrzeni~="MediaWiki")and(klucz_przestrzeni~="Module")))then
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true,true,function(rozwazana_nazwa_strony)
local odstepy_przed_dwukropek,odstepy_po_dwukropek,rozwazana_uzyskana_nazwa_strony,odstepy_po_nazwy=mw.ustring.match(rozwazana_nazwa_strony,"^([%s_]*):([%s_]*)([^%s_:].-)([%s_]*)$");
local przed;
if(not odstepy_przed_dwukropek or not odstepy_po_dwukropek or not rozwazana_uzyskana_nazwa_strony)then
local odstepy_przed_dwukropek,odstepy_po_dwukropek;
odstepy_przed_dwukropek,odstepy_po_dwukropek,rozwazana_uzyskana_nazwa_strony,odstepy_po_nazwy=mw.ustring.match(rozwazana_nazwa_strony,"^([%s_:]*):([%s_]*)([^%s_:].-)([%s_]*)$");
przed=mw.ustring.gsub(odstepy_przed_dwukropek,":","")..":"..odstepy_po_dwukropek;
else
przed=odstepy_przed_dwukropek..":"..odstepy_po_dwukropek;
end;
return rozwazana_uzyskana_nazwa_strony,przed,odstepy_po_nazwy;
end);
else
return NieZgodneZKluczemPrzestrzeni(klucz_projektu,kod_jezyka,kod_projektu,true,true,function(rozwazana_nazwa_strony)
local parametry_modul=require("Module:Parametry");
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=analiza and mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=rozwazana_nazwa_strony,[2]="tak",}) or rozwazana_nazwa_strony;
return strona,odstepy_przed_nazwy,odstepy_po_nazwy;
end,function(klucz_przestrzeni)
local nazwa_przestrzeni=NazwaPrzestrzeni();
return nazwa_przestrzeni;
end);
end;
end;
end;
local function UzyskajDaneOdArgumentuPierwszego(argument_pierwszy,nazwa_wyswietlana)
local przed,pole_nazwy,po=mw.ustring.match(nazwa_wyswietlana or argument_pierwszy,"^([%s_]*)(.-)([%s_]*)$");
local szablonowe_modul=require("Module:Szablonowe");
if(nazwa_wyswietlana)then
argument_pierwszy=mw.ustring.match(argument_pierwszy,"^[%s_]*(.-)[%s_]*$");
end;
local pole,modyfikatory,tab_mod=szablonowe_modul.WydzielanieOpcjiModyfikatorowych(nazwa_wyswietlana and argument_pierwszy or pole_nazwy);
return przed,pole,po,modyfikatory,tab_mod;
end;
local function OdsmiecParametrySymbolicznegoWywolania(args,usun_konce)
local parametry_modul=require("Module:Parametry");
local args2={};
for licznik,wartosc in ipairs(args)do
if(licznik==1)then
args2[licznik]=parametry_modul["Odstępy"]{[1]=wartosc,[2]="tak",};
else
local _parametr,_wartosc=mw.ustring.match(wartosc,"^%s*([^=]-)%s*=%s*(.-)%s*$");
if(_parametr and _wartosc)then
args2[licznik]=_parametr.."=".._wartosc;
elseif(usun_konce)then
args2[licznik]=mw.text.trim(wartosc);
else
args2[licznik]=wartosc;
end
end;
end;
return args2;
end;
local function ParametryFunkcjiSLubM(frame,domyslna_nazwa_szablonu)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local klucz_projektu=args["klucz projektu"] or args["k"];
local kod_jezyka=args["kod języka"] or args["j"];
local kod_projektu=args["kod projektu"] or args["p"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]);
local analiza=parametry_modul.CzyTak(args["analiza"]);
local z_przestrzenia=parametry_modul.CzyTak(args["z przestrzenią"]);
local nazwa_wyswietlana=parametry_modul.CzyTak(args["nazwa"]) and args["nazwa"] or nil;
local subnazwa_wyswietlana=parametry_modul.CzyTak(args["subnazwa"]);
local subnazwa_bez_ksiazka=parametry_modul.CzyTak(args["subnazwa bez książka"]);
local argument_pierwszy=args[1];
local czy_niepusty_argument_pierwszy=parametry_modul["CzyTakCiąg"](argument_pierwszy)
local szablonowe_modul=require("Module:Szablonowe");
local function UsuwanieKomentarzy(argument_pierwszy)
---- Usuwanie normalnych komentarzy z kodu.
local techniczne_modul=require("Module:Techniczne");
argument_pierwszy=techniczne_modul.UsuwanieKomentarzowe(argument_pierwszy);
---- Usuwanie zakodowanych komentarzy z kodu.
argument_pierwszy=mw.ustring.gsub(argument_pierwszy,szablonowe_modul.NormaWzoruKodowaniaTekstu("KOMENTARZ"),"");
return argument_pierwszy;
end;
local argument_pierwszy=czy_niepusty_argument_pierwszy and UsuwanieKomentarzy(argument_pierwszy) or domyslna_nazwa_szablonu;
---
local PrzedPoStronaNazwa=function(nazwa)
if(not nazwa)then return;end;
local nazwa,ile=mw.ustring.gsub(nazwa,szablonowe_modul.NormaWzoruKodowaniaTekstu("OGRANICZNIK"),"");
local przed="";
repeat
local wzor="^([%s_]*"..szablonowe_modul.NormaWzoruKodowaniaTekstu("KOMENTARZ").."[%s_]*)"
local przed_temp=mw.ustring.match(nazwa,wzor);
if(not przed_temp)then break;end;
przed=przed..przed_temp;
nazwa=mw.ustring.gsub(nazwa,wzor,"");
until false;
local po="";
repeat
local wzor="([%s_]*"..szablonowe_modul.NormaWzoruKodowaniaTekstu("KOMENTARZ","%d+").."[%s_]*)$";
local po_temp=mw.ustring.match(nazwa,wzor);
if(not po_temp)then break;end;
po=po_temp..po;
nazwa=mw.ustring.gsub(nazwa,wzor,"");
until false;
local czy_ile=(ile>0)and true or false;
return przed,po,nazwa,czy_ile;
end;
local przed_nazwa,po_nazwa,nazwa,czy_ile=PrzedPoStronaNazwa(nazwa_wyswietlana);
nazwa_wyswietlana=nazwa or nazwa_wyswietlana;
---
local odstepy_przed,rozwazana_nazwa_strony,odstepy_po,modyfikatory,tab_mod=UzyskajDaneOdArgumentuPierwszego(argument_pierwszy,nazwa_wyswietlana);
local __modyfikatory=args["modyfikatory"];
if(__modyfikatory)then
__modyfikatory=mw.ustring.gsub(__modyfikatory,szablonowe_modul.NormaWzoruKodowaniaTekstu("OGRANICZNIK"),"");
end;
modyfikatory=parametry_modul.CzyTak(__modyfikatory) and __modyfikatory or modyfikatory;
if(not parametry_modul["CzyTakCiąg"](rozwazana_nazwa_strony))then
rozwazana_nazwa_strony=domyslna_nazwa_szablonu;
end;
if(czy_ile)then
rozwazana_nazwa_strony=parametry_modul["Odstępy"](rozwazana_nazwa_strony);
modyfikatory=mw.ustring.gsub(modyfikatory,"[%s_]+$","");
end;
args[1]=rozwazana_nazwa_strony;
analiza=(not analiza)and (args[1] and mw.ustring.match(args[1],"^[%s_:]*[^%s_:]+:.*$") and true or false) or analiza;
bez_przetwarzania=bez_przetwarzania or ((not analiza) and "tak" or nil);
local nazwa_oryginalna=(not analiza and true) or parametry_modul.CzyTak(args["oryginalna"] or args["o"]);
local odsmiec=(not analiza and true) or parametry_modul.CzyTak(args["odśmieć"]);
local historia=(not analiza and true) or parametry_modul.CzyTak(args["historia"]);
local usun_konce=parametry_modul.CzyTak(args["usuń końce"]);
local od_malej=parametry_modul.CzyTak(args["od małej"]);
local usun_odstepy=parametry_modul.CzyTak(args["usuń odstępy"]);
if(usun_odstepy)then
odstepy_przed="";
odstepy_po="";
if(odsmiec)then
if(mw.ustring.match(rozwazana_nazwa_strony,"^[%s_]*:"))then
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"^[%s_:]*","");
rozwazana_nazwa_strony=":"..rozwazana_nazwa_strony;
end;
rozwazana_nazwa_strony=parametry_modul["Odstępy"]{[1]=rozwazana_nazwa_strony,[2]=nil,[3]=nil,};
end;
end;
if((odsmiec)and(not historia))then args=OdsmiecParametrySymbolicznegoWywolania(args,usun_konce);end;
if((odsmiec)and(not historia))then modyfikatory=mw.ustring.gsub(modyfikatory,"[%s_]*","");end;
if(analiza)then
local wiki_modul=require("Module:Wiki");
kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
local koncowa_rozwazana_nazwa_strony;
koncowa_rozwazana_nazwa_strony,kod_jezyka,kod_projektu=wiki_modul.KodyNazwyStrony(rozwazana_nazwa_strony,kod_jezyka,kod_projektu);
klucz_projektu=nil;
if(koncowa_rozwazana_nazwa_strony~=rozwazana_nazwa_strony)then
local techniczne_modul=require("Module:Techniczne");
local wzor_rozwazana_nazwa_strony=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](koncowa_rozwazana_nazwa_strony);
local koncowa_rozwazana_nazwa_strony_wynikowa_kodow=mw.ustring.gsub(rozwazana_nazwa_strony,wzor_rozwazana_nazwa_strony.."$","");
if(mw.ustring.match(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,":[%s_]*:[%s_]*$"))then
koncowa_rozwazana_nazwa_strony_wynikowa_kodow=mw.ustring.gsub(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,"(:[%s_]*)$","");
end;
local wzor_koncowa_rozwazana_nazwa_strony_wynikowa_kodow=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](koncowa_rozwazana_nazwa_strony_wynikowa_kodow);
local odstep_kodow=((not odsmiec) or (not usun_odstepy)) and mw.ustring.gsub(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,"[%w%p]","") or "";
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"^"..wzor_koncowa_rozwazana_nazwa_strony_wynikowa_kodow,odstep_kodow);
rozwazana_nazwa_strony=((odsmiec)and(usun_odstepy)) and mw.ustring.gsub(rozwazana_nazwa_strony,"^[%s_:]*:[%s_:]*",":") or rozwazana_nazwa_strony;
else
local pudelko_modul=require("Module:Pudełko");
kod_jezyka=((not kod_jezyka)or(kod_jezyka~=pudelko_modul["Kod języka tego projektu"]()))and kod_jezyka or nil;
kod_projektu=((not kod_projektu)or(kod_projektu~=pudelko_modul["Kod projektu tego projektu"]()))and kod_projektu or nil;
end
end;
analiza=analiza and "tak" or nil;
--odstepy_przed=odstepy_przed..(przed_nazwa or "");
--odstepy_po=(po_nazwa or "")..odstepy_po;
przed_nazwa=(przed_nazwa or "");
po_nazwa=(po_nazwa or "");
return args,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,przed_nazwa,rozwazana_nazwa_strony,po_nazwa,odstepy_po,modyfikatory,tab_mod;
end;
local p={
["S"] = function(frame)
local args,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,przed_nazwa,rozwazana_nazwa_strony,po_nazwa,odstepy_po,modyfikatory,tab_mod=ParametryFunkcjiSLubM(frame,"Nieznany szablon");
local CzyJestHash=function(rozwazana_nazwa_strony)
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"&#(%d+);",function(kod)
return mw.ustring.char(kod);
end);
local czy_tak=mw.ustring.match(rozwazana_nazwa_strony,"#") and true or false;
return czy_tak;
end;
if(CzyJestHash(rozwazana_nazwa_strony))then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={tekst="Problem z wywołaniem symbolicznym szablonu {{s}}: W nazwie strony znaleziono znak \"#\", co jest mylone z nagłówkiem strony!",tag="strong",},};
end;
local s_dane=mw.loadData('Module:S/dane');
local tab_magiczne_szablony=s_dane.tab_magiczne_szablony;
if(tab_mod)then
local parametry_modul=require("Module:Parametry");
if(not parametry_modul["CzySąElementyNazwaneTablicy"](tab_mod))then
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..przed_nazwa,(args[1] or "Nieznany tag")..po_nazwa..odstepy_po);
end;
elseif(tab_mod["#if:"] or tab_mod["#ifeq:"] or tab_mod["#iferror:"] or tab_mod["#tag:"] or tab_mod["#switch:"] or tab_mod["#property:"] or tab_mod["#expr:"] or tab_mod["#ifexpr:"] or tab_mod["#ifexist:"] or tab_mod["gender:"] or tab_mod["DEFAULTSORT:"])then
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..(args[1] or "Nieznany tag")..odstepy_po);
elseif((not tab_mod["#invoke:"])and(not tab_mod["int:"]))then
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..przed_nazwa..(args[1] or "Nieznany tag")..po_nazwa..odstepy_po);
end;
elseif((tab_mod["#invoke:"]) and (not tab_mod["int:"]))then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Module",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
elseif((tab_mod["int:"]) and (not tab_mod["#invoke:"]))then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"MediaWiki",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
elseif(tab_mod["int:"] and tab_mod["#invoke:"])then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={tekst="Problem z wywołaniem symbolicznym szablonu {{s}}: Podano sprzeczne ze sobą modyfikatory podstawowe!",tag="strong",},};
else
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..przed_nazwa..(args[1] or "Nieznany tag")..po_nazwa..odstepy_po);
end;
end;
else
if(not tab_magiczne_szablony[rozwazana_nazwa_strony])then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
else
return StworzSymboliczneWywolanieWedlugZebranychDanych(args, odstepy_przed..modyfikatory..(args[1] or "Nieznany tag")..odstepy_po);
end;
end;
end,
["M"] = function(frame)
local args,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,przed_nazwa,rozwazana_nazwa_strony,po_nazwa,odstepy_po,modyfikatory,tab_mod=ParametryFunkcjiSLubM(frame,"Nieznany moduł");
if(mw.ustring.match(rozwazana_nazwa_strony,"#"))then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={tekst="Problem z wywołaniem symbolicznym szablonu {{s}}: W nazwie strony znaleziono znak \"#\", co jest mylone z nagłówkiem strony!",tag="strong",},};
end;
rozwazana_nazwa_strony=odstepy_przed..rozwazana_nazwa_strony;
odstepy_przed="";
return SzablonoweSymboliczneWywolanie(args,"#invoke:","Module",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,subnazwa_bez_ksiazka,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,przed_nazwa,po_nazwa,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
end,
}
return p;
mt4q99cjy7fxv88worvz2hj1bisrd21
Szablon:LinkOgólne
10
48164
546597
544102
2026-06-13T16:49:32Z
Persino
2851
546597
wikitext
text/x-wiki
546600
546597
2026-06-13T16:58:33Z
Persino
2851
546600
wikitext
text/x-wiki
546605
546600
2026-06-13T17:21:41Z
Persino
2851
546605
wikitext
text/x-wiki
546606
546605
2026-06-13T17:24:30Z
Persino
2851
546606
wikitext
text/x-wiki
546620
546606
2026-06-13T18:42:18Z
Persino
2851
546620
wikitext
text/x-wiki
546627
546620
2026-06-13T18:53:45Z
Persino
2851
546627
wikitext
text/x-wiki
546630
546627
2026-06-13T19:29:10Z
Persino
2851
546630
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez znaczników|{{{bz|}}}}}}||<!--
--><!--
-->{{#if:{{#invoke:StronicowyParser|StronaZeSzablonemStronaStart}}<!--
-->|<!--
-->|<templatestyles src="Szablon:Link_wewnętrzny/styles.css" /><!--
-->}}<!--
-->}}{{#invoke:Linki|LinkOgólne}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry
| = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}
| 1 = txt!
| 2 = txt;!alias miana przestrzeni nazw?!;!alias?!;!i?!
| za = ;z
| z = ;za
| po = ;p
| p = ;po
| dyskusja = ;d
| d = ;dyskusja
| klucz projektu = ;kod języka;kod projektu;k
| k = ;kod języka;kod projektu;klucz projektu
| kod języka = ;klucz projektu;kj
| kj = ;klucz projektu;kod języka
| kod projektu = ;klucz projektu;kp
| kp = ;klucz projektu;kod projektu
| miano przestrzeni nazw = ;f;przestrzeń
| przestrzeń = ;miano przestrzeni nazw;f
| f = ;miano przestrzeni nazw;przestrzeń
| alias miana przestrzeni nazw = ;alias;i
| alias = ;alias miana przestrzeni nazw;i
| i = ;alias miana przestrzeni nazw;alias
| wyświetl miano przestrzeni nazw = ;w;wyświetl
| wyświetl = ;wyświetl miano przestrzeni nazw;w
| w = ;wyświetl miano przestrzeni nazw;wyświetl
| bez znaczników = ;bz
| bz = ;bez znaczników
| bez przetwarzania = ;bp
| bp = ;bez przetwarzania
| bez przetwarzania kodów = ;bk
| bk = ;bez przetwarzania kodów
| analiza = ;a
| a = ;analiza
| uri = ;u
| u = ;uri
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
r9corj411dahf6x89kxe1a77k0vp0vu
546638
546630
2026-06-13T19:55:51Z
Persino
2851
546638
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez znaczników|{{{bz|}}}}}}||<templatestyles src="Szablon:Link_wewnętrzny/styles.css" />}}{{#invoke:Linki|LinkOgólne}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry
| = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}
| 1 = txt!
| 2 = txt;!alias miana przestrzeni nazw?!;!alias?!;!i?!
| za = ;z
| z = ;za
| po = ;p
| p = ;po
| dyskusja = ;d
| d = ;dyskusja
| klucz projektu = ;kod języka;kod projektu;k
| k = ;kod języka;kod projektu;klucz projektu
| kod języka = ;klucz projektu;kj
| kj = ;klucz projektu;kod języka
| kod projektu = ;klucz projektu;kp
| kp = ;klucz projektu;kod projektu
| miano przestrzeni nazw = ;f;przestrzeń
| przestrzeń = ;miano przestrzeni nazw;f
| f = ;miano przestrzeni nazw;przestrzeń
| alias miana przestrzeni nazw = ;alias;i
| alias = ;alias miana przestrzeni nazw;i
| i = ;alias miana przestrzeni nazw;alias
| wyświetl miano przestrzeni nazw = ;w;wyświetl
| wyświetl = ;wyświetl miano przestrzeni nazw;w
| w = ;wyświetl miano przestrzeni nazw;wyświetl
| bez znaczników = ;bz
| bz = ;bez znaczników
| bez przetwarzania = ;bp
| bp = ;bez przetwarzania
| bez przetwarzania kodów = ;bk
| bk = ;bez przetwarzania kodów
| analiza = ;a
| a = ;analiza
| uri = ;u
| u = ;uri
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
sss6jqmmeue2othfqa4r5rk6ixz8ks9
Szablon:Sekcja referencyjna
10
54315
546598
543143
2026-06-13T16:53:59Z
Persino
2851
546598
wikitext
text/x-wiki
546602
546598
2026-06-13T17:00:56Z
Persino
2851
546602
wikitext
text/x-wiki
546621
546602
2026-06-13T18:42:58Z
Persino
2851
546621
wikitext
text/x-wiki
546624
546621
2026-06-13T18:48:32Z
Persino
2851
546624
wikitext
text/x-wiki
546625
546624
2026-06-13T18:49:32Z
Persino
2851
546625
wikitext
text/x-wiki
546626
546625
2026-06-13T18:50:59Z
Persino
2851
546626
wikitext
text/x-wiki
546631
546626
2026-06-13T19:30:08Z
Persino
2851
546631
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez znaczników|{{{bz|}}}}}}||<!--
--><!--
-->{{#if:{{#invoke:StronicowyParser|StronaZeSzablonemStronaStart}}<!--
-->|<!--
-->|<templatestyles src="Szablon:Link_wewnętrzny/styles.css" /><!--
-->}}<!--
-->}}{{#invoke:Sekcja referencyjna|Sekcja referencyjna}}{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{podstrona|}}}/{{{strona|}}}-{{{ustęp|}}}{{!}}{{{nazwa|}}}:{{#invoke:Pudełko|Nazwa jednostki}}|Pudełko}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry
| = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}
| 1 = ;strona;s
| strona = ;1;s
| s = ;1;strona
| 2 = txt;nazwa;n
| nazwa = txt;2;n
| n = txt;2;nazwa;
| 3 = txt;podstrona;p;bieżąca;b
| podstrona = txt;3;p;bieżąca;b
| p = txt;3;podstrona;bieżąca;b
| 4 = ;ustęp;u
| ustęp = ;4;u
| u = ;4;ustęp
| pod-ustęp = ;t
| t = ;pod-ustęp
| od małej = ;m
| m = ;od małej
| od dużej = ;d
| d = ;od dużej
| astandardowo = ;o
| o = ;astandardowo
| nagłówkowo = ;c
| c = ;nagłówkowo
| bieżąca = ;b;3;podstrona;p
| b = ;bieżąca;3;podstrona;p
| bez znaczników = ;bz
| bz = ;bez znaczników
| bez przetwarzania = ;bp
| bp = ;bez przetwarzania
| analiza = ;a
| a = ;analiza
| bez kategorii stronicowych =
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
14s8c72t6pf2oh94zq8jz6zodwfjwho
546636
546631
2026-06-13T19:54:10Z
Persino
2851
546636
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez znaczników|{{{bz|}}}}}}||<templatestyles src="Szablon:Link_wewnętrzny/styles.css" />}}{{#invoke:Sekcja referencyjna|Sekcja referencyjna}}{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{podstrona|}}}/{{{strona|}}}-{{{ustęp|}}}{{!}}{{{nazwa|}}}:{{#invoke:Pudełko|Nazwa jednostki}}|Pudełko}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry
| = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}
| 1 = ;strona;s
| strona = ;1;s
| s = ;1;strona
| 2 = txt;nazwa;n
| nazwa = txt;2;n
| n = txt;2;nazwa;
| 3 = txt;podstrona;p;bieżąca;b
| podstrona = txt;3;p;bieżąca;b
| p = txt;3;podstrona;bieżąca;b
| 4 = ;ustęp;u
| ustęp = ;4;u
| u = ;4;ustęp
| pod-ustęp = ;t
| t = ;pod-ustęp
| od małej = ;m
| m = ;od małej
| od dużej = ;d
| d = ;od dużej
| astandardowo = ;o
| o = ;astandardowo
| nagłówkowo = ;c
| c = ;nagłówkowo
| bieżąca = ;b;3;podstrona;p
| b = ;bieżąca;3;podstrona;p
| bez znaczników = ;bz
| bz = ;bez znaczników
| bez przetwarzania = ;bp
| bp = ;bez przetwarzania
| analiza = ;a
| a = ;analiza
| bez kategorii stronicowych =
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
2o5u37ki445p30hbnal0b1l1kot91fq
Moduł:StronicowyParser/ZbieranieDanychStron
828
55009
546588
546524
2026-06-13T15:39:49Z
Persino
2851
546588
Scribunto
text/plain
local p={};
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)
if(lista_dwuelementowa)then
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then
tabela_elementow_strony_kodow[nazwa_obiektu]={};
tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(not uchwyty_bez_numeracji)then
tab_obiekt.uchwyty_bez_numeracji={};
uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
end;
uchwyty_bez_numeracji[kod]=lista_dwuelementowa;
end;
end;
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then return nil;end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(uchwyty_bez_numeracji)then
return uchwyty_bez_numeracji[kod];
end;
end;
function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
local html_modul=require("Module:Html");
kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true);
if(kod_uchwytu~="")then
KtorySzablonMaZwracacKategorie(kod_uchwytu);
local lista_dwuelementowa={};
lista_dwuelementowa[1]=kod_uchwytu;
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_obiektu=true;
end;
if(tab_numer)then
tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1;
local numer=tab_numer[nazwa_obiektu];
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa);
else
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa);
end;
return lista_dwuelementowa;
end;
end;
function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji];
if(kod_uchwytu)then
local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return lista_dwuelementowa;
end;
end;
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(nazwa_artykulu=="")then return;end;
local czy_element_wystepuje_w_tablicy=false;
local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron;
if(tablica_przestrzeni_wszystkiego)then
local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni];
if(tabela_przestrzeni_ksiazek)then
local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki]
if(tabela_ksiazek)then
local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki];
if(tab_ksiazki)then
if(tab_ksiazki.spis)then
--czy_lista_niepusta=true;
for _,tab_value1 in ipairs(tab_ksiazki.spis)do
if(tab_value1[2])then
for _,nazwa_artykulu1 in ipairs(tab_value1[2])do
if(nazwa_artykulu1[1]==nazwa_artykulu)then
czy_element_wystepuje_w_tablicy=true;
break;
end;
end;
end;
if(czy_element_wystepuje_w_tablicy)then break;end;
end;
end;
end;
end;
end;
end;
if(not czy_element_wystepuje_w_tablicy)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron");
end;
end;
end;
end;
end;
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)
local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil;
local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil;
local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1);
end;
end;
if(czy_artykul_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2);
end;
end;
if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3);
end;
end;
end;
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false));
--local ksiazkowe_modul=require("Module:Książkowe");
--pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"]();
--nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"]();
if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw);
local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw);
local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false);
end;
end;
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end;
local parametry_modul=require("Module:Parametry");
if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end;
local szablonowe_modul=require("Module:Szablonowe");
if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
)then return;end;
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true);
end;
local tabela_nazw_art={};
local nazwa_jednostki=(nazwa_jednostki
and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1")
or nil
) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art);
if(nazwa_przestrzeni)then
nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true);
end;
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art);
local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,};
--strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona);
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)));
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej);
end;
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe)
local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2];
local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3];
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
local html_modul=require("Module:Html");
if(nazwa_artykulu)then
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
end;
local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni;
if(pelna_nazwa_ksiazki)then
pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true);
local techniczne_modul=require("Module:Techniczne");
pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,};
----
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)));
--pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
end;
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna);
local nazwy_modul=require("Module:Nazwy");
local czy_inna_wartosc_tekst=true;
if((nazwa_artykulu)and(nazwa_ksiazki))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((nazwa_artykulu)and(not nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""));
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((not nazwa_artykulu)and(nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"]();
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
else
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
end;
end;
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)
local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca);
----
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(uchwyt_obiektu))then
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu;
local html_modul=require("Module:Html");
uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true);
end;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(parametry_modul.CzyTak(uchwyt_obiektu))then
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
if(nazwa_artykulu)then
if(nazwa_artykulu~="")then
if(not nazwa_ksiazki)then
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
elseif(nazwa_ksiazki=="")then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
end;
elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then
nazwa_artykulu="";
elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
else
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
end;
if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)
or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)
or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz);
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu);
end;
KtorySzablonMaZwracacKategorie(uchwyt_obiektu);
end;
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu];
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then
local parametry_modul=require("Module:Parametry");
local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_linku=true;
end;
table.insert(linkobiekttab,uchwyt_obiektu);
if(czy_pobierz)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={};
end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
end;
end;
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA)
local pudelko_modul=require("Module:Pudełko");
if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni=="")))
and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki=="")))
and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki)))
and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu=="")))
)then
if(__FUNKCJA)then
__FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron");
else
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron");
end;
end;
end;
end;
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function()
local parametry_modul=require("Module:Parametry");
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then
local tablica_zmiennych2={};
tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={}
local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2);
if(tabela_listy_danych_analizy_ksiazki0)then
if((not czy_inna)or(not tablica_zmiennych2))then return;end;
local JuzPoliczone=function()
if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end;
local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
if(not tab_nazwa_obiektu)then
tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={};
tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
end;
local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu];
if(tab_uchwyt)then
return true;
end;
tab_nazwa_obiektu[uchwyt_obiektu]=true;
return false;
end;
if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then
local czy_policzone=JuzPoliczone();
if(czy_policzone)then
return;
end;
else
JuzPoliczone();
end;
if(czy_pobierz)then
stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false);
end;
if(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
for _,pozycja in ipairs(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)do
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,pozycja);
end;
end;
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu];
local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink;
local ile_razy=0;
if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then
for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do
if(parametry_obiektu[1]==uchwyt_obiektu)then
ile_razy=ile_razy+1;
if(ile_razy>1)then break;end;
end;
end;
end
if(ile_razy~=1)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu);
end;
p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera");
end;
end;
else
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
end);
end;
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end;
local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end;
local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki];
if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end;
local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki];
if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end;
if(nazwa_artykulu)then
if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end;
local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu];
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
else
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
end;
end;
local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not czy_artykul_korzystany)then
if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
else
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
end;
else
return nil;
end;
end;
if(self.tabela_listy_danych_analizy_ksiazki)then
if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then
local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(tabela_przestrzeni)then
local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki];
if(tabela_przestrzeni_ksiazki)then
local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki];
if(tabela_ksiazka)then
local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu;
if(lista_artykolow)then
local tabela_artykul=lista_artykolow[nazwa_artykulu];
if(tabela_artykul)then
local dane_zebrane_ze_stron=tabela_artykul.dane_zebrane_ze_stron;
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
end;
end;
end;
end;
end;
else
return nil;
end;
else
return nil;
end;
return true;
end;
local nazwy_modul=require("Module:Nazwy");
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,czy_inna=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
end;
if(not wartosc_wyniku)then
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
end;
----
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((nazwa_przestrzeni~=nazwy_np_modul.Main)
and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior)
and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$")))
and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$")))
)then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
----
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local parametry_modul=require("Module:Parametry");
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
----
local tekst_rozwiniety_calego_artykulu_ref=nil;
local tablica_analizy_obiektow_strony_dany_modul_ref=nil;
local tablica_danych_parametrow_szablonu_strony_ref=nil;
----
local function InneInformacjePrzebneDoAnalizowanejKsiazki()
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end;
end;
local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false;
if(not czy_ksiazka_istnieje_w_tablicy)then
tablica_ksiazki.czy_spis_analizowano=true;
local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści");
local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp;
local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona)
local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona];
if(tablica_przestrzeni_strona)then
local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona];
if(tablica_przestrzeni_ksiazki_strona)then
local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona];
if(tablica_ksiazki_strona)then
if(tablica_ksiazki_strona.spis)then
nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona;
tablica_ksiazki.spis=tablica_ksiazki_strona.spis;
tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja;
tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu;
tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy;
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
return 1;
end;
end;
end
end;
end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis)
----
if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then
tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis;
local parametry_modul=require("Module:Parametry");
tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis);
tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis);
end;
----
end);
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)
tablica_ksiazki.spis=tabela_artykulow;
if(czy_artykul_korzystany)then
tablica_ksiazki.licencja=tabela_licencji_spisu_tresci;
end;
tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu;
tablica_ksiazki.tab_inne_spisy=tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil;
end;
if(tabela_artykulow==0)then
if(czy_artykul_korzystany)then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje");
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(tabela_artykulow)then
if(parametry_modul.TypeTable(tabela_artykulow))then
if(adres_ksiazki_glownego_spisu_tresci)then
__FUNKCJA_SPISU(tablica_ksiazki,true);
local tablica_ksiazki_stara=tablica_ksiazki;
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1];
local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2];
local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3];
if((kod_wyniku==1)or(kod_wyniku==4))then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
local nazwa_artykulu=artykul;
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==2)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==3)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
end;
else
__FUNKCJA_SPISU(tablica_ksiazki,false);
end;
elseif(tabela_artykulow~=1)then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
end;
else
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then
if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
end;
end;
end;
end;
end;
----
local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki();
if(wynik_bledu)then return wartosc_wyniku;end;
local kod_wyniku_przekierowan=kod_wyniku_bazowy;
----
--if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then
-- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
--end;
----
if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then
----
nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1];
nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2];
nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3];
nazwa_artykulu=artykul_bazowy;
----
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3];
end;
local tabela_artykulow=tablica_ksiazki.spis;
if(tabela_artykulow)then
local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu;
local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy;
local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false);
if(kod_wyniku==1)then
nazwa_artykulu=artykul;
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
elseif(kod_wyniku==2)then
local nazwa_artykulu=artykul;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku;
end;
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local PrzekierownieAwaryjne=function()
if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then
--local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu);
if(strona)then
if(strona~=nazwa_modulu)then
----
local tabela_nazw={};
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw));
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa);
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
nazwa_modulu=strona;
else
return 0;
end;
end;
end;
end;
local wynik=PrzekierownieAwaryjne();
if(czy_artykul_korzystany)then
self.nazwa_modulu_biezaca=nazwa_modulu;
end;
if(wynik)then return wynik;end;
----
if(czy_artykul_korzystany)then
if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu;
end;
end;
local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu;
-- przydzielanie tablicy
if(czy_artykul_korzystany)then
artykul_analizowany.artykul_biezacy=true;
tablica_ksiazki.ksiazka_analizowana=true;
end;
--koniec
--local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}");
if(not tablica_zmiennych)then tablica_zmiennych={};end;
if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do
local CzyLink=element_w_tablicy_obiekt.CzyLink;
local CzyNum=element_w_tablicy_obiekt.CzyNum;
local wartosc=element_w_tablicy_obiekt[1];
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,};
if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end;
end;
local function StronaZbiorcza()
if(czy_artykul_korzystany)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end;
local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
artykul_analizowany.strona_zbiorcza=(wynik and "tak" or "");
return wynik;
end;
return nil;
end;
local strona_zbiorcza=StronaZbiorcza();
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
----
local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony;
if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil),
nil)
else
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref;
end;
----
if(not czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then return 0;end;
end;
if(czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then
if(strona_zbiorcza)then
self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
return nil;
end;
end;
local szablonowe_modul=require("Module:Szablonowe");
local parametry_modul=require("Module:Parametry");
if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then
local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu);
local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu);
if(tekst)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu);
local tablica_danych_parametrow_szablonu_strony={};
for szablon,obiekt,kod in iterator do
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return true;
elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return true;
end;
end);
if(wynik)then break;end;
end;
end;
end;
end;
local uzyskano_w_wyniku_parsowania_wywolanie_szablonu;
local analiza_stron_korzystanych_zbiorczych=nil;
local stronastart=nil;
----
local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze;
local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
----
local strona_start=stronicowyparser_obiekty_modul.strona_start;
local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony;
local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne;
local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza;
----
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local tabela_elementow_strony_kodow={};
-- for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
local function AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
if(czy_artykul_korzystany)then
if(tabela_parametrow_szablonu)then
if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then
if(strona_start[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
stronastart=true;
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
stronastart=true;
return;
elseif(strona_start_inne[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
stronastart=true;
return;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
end;
end;
local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:");
if(plik==nil)then
if(tabela_parametrow_szablonu)then
if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then
local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie");
local czy_linkobiekt;
local czy_link;local czy_pobierz;
local czy_wypowiedzenie_z_parametrami;
local czy_linkobiekt_z_parametrami;
if(czy_wypowiedzenie)then
czy_linkobiekt=false;
czy_link=false;
czy_pobierz=false;
czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]);
else
czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt");
if(czy_linkobiekt)then
czy_link=true;
czy_pobierz=false;
czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]);
else
czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link");
czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil;
end;
end;
if((not czy_link)and(not czy_pobierz))then
local wartosc_elementu;local numer_uchwytu;
if(not czy_wypowiedzenie_z_parametrami) then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
else
local rodzaj=tabela_parametrow_szablonu["rodzaj"];
if(rodzaj)then
wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil;
if(wartosc_elementu)then
numer_uchwytu=tablica_obiekty[5];
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
end;
elseif(czy_artykul_korzystany)then
if(czy_link)then
local wartosc_elementu;
if(not czy_linkobiekt_z_parametrami)then
wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
else
local typ=tabela_parametrow_szablonu["typ"];
if(typ)then
typ=format_elementowy_referencji_obiektowy[typ] and typ or nil;
if(typ)then
wartosc_elementu=mw.getContentLanguage():ucfirst(typ);
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
end;
end;
elseif(czy_pobierz)then
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,true);
return;
end;
end;
end;
if(czy_wypowiedzenie)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
if(lista_dwuelementowa)then
local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1];
local bez_preprocess=parametry_modul.CzyTak(tabela_parametrow_szablonu["bez preprocess"]);
if(tekst)then
local czy_szablon_wszystko=false;
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul,
function(szablon,obiekt,kod)
if(bez_preprocess)then return nil;end;
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(
(tab_szablony[nazwa_szablonu])
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
)then
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end;
return nil;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- instrukcje warunkowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- wywołania ramek Lua w Scribunto
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- tagi szablonowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end);
czy_szablon_wszystko=czy_szablon_wszystko or true;
if(wynik)then return wynik;end;
elseif(obiekt=="ZMIENNA")then
czy_szablon_wszystko=czy_szablon_wszystko or true;
local zawartosc=mw.ustring.match(szablon,"^{{{(.*)}}}$");
if(zawartosc)then
zawartosc=mw.ustring.gsub(zawartosc,"|","{{!}}");
return "{{(((}}"..zawartosc.."{{)))}}";
end;
end;
end);
if((czy_szablon_wszystko)and(not bez_preprocess))then
local frame=mw.getCurrentFrame();
tekst=frame:preprocess(tekst);
end;
lista_dwuelementowa[2]=tekst;
end;
--local __metatabelka=getmetatable(tabela_parametrow_szablonu);
--if(__metatabelka)then setmetatable(tabela_parametrow_szablonu,nil);end;
if(not czy_artykul_korzystany)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
{tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,},
});
else
if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
});
end;
end;
return;
elseif(czy_artykul_korzystany)then
if(czy_linkobiekt)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return;
elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or "";
local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or "";
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "")
end;
end;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
else
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or "";
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or "";
local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony;
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt;
end;
end;
if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania])
or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania])
)then
if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie);
end;
return;
elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
return;
end;
end;
end;
end;
end;
end;
end;
end;
----
local function GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego);
end;
local function IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu,tab_numer)
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer);
end;
end;
IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu);
----
local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {};
tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
----
local wiki_modul=require("Module:Wiki");
tablica_danych_nazwy_artykulu.link_wikidane={wiki_modul.KodyKlasStronyNaDanejWiki{["strona"]=nazwa_modulu_aktualna_czy_biezaca,["nagłówek"]=true,["aktywny"]=true,},};
----
if(czy_artykul_korzystany)then
if(analiza_stron_korzystanych_zbiorczych)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
end;
end;
local strona;
if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end;
----
if(czy_artykul_korzystany)then
local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablonytekstu_modul.UstawPobierzKorzystanie(tablica_zmiennych);
tekst_rozwiniety_calego_artykulu=stronicowyparser_szablonytekstu_modul.AktualizowanieSzablonowychTekstowychKompletowaniaTOC(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) or tekst_rozwiniety_calego_artykulu;
end;
----
local toc;
if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane))
or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then
----
local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil;
----
tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false);
----
local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function CzyJestTakiProblemJakoElementTablicy()
return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
end;
local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu;
local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron");
local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka];
tablica_naglowka_obiekty.uchwyty_bez_numeracji={};
local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow);
tablica_danych_nazwy_artykulu.TOC=toc;
end;
StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.link_wikidane=tablica_danych_nazwy_artykulu.link_wikidane;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki];
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki];
--self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron=tablica_zmiennych;
end;
if(not czy_artykul_korzystany)then
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=tablica_zmiennych;
if(not self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista)then self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista={};end;
table.insert(self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista,tablica_danych_nazwy_artykulu);
else
local dane_zebrane_ze_stron_lista=self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista;
if(dane_zebrane_ze_stron_lista)then
for _,tablica_danych_nazwy_artykulu in ipairs(dane_zebrane_ze_stron_lista)do
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=nil;
end;
end;
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane=nil;
end;
return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true;
end;
return p;
akxlnlsuo71293otov1m70p2coqdwkm
546590
546588
2026-06-13T15:44:01Z
Persino
2851
546590
Scribunto
text/plain
local p={};
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)
if(lista_dwuelementowa)then
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then
tabela_elementow_strony_kodow[nazwa_obiektu]={};
tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(not uchwyty_bez_numeracji)then
tab_obiekt.uchwyty_bez_numeracji={};
uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
end;
uchwyty_bez_numeracji[kod]=lista_dwuelementowa;
end;
end;
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then return nil;end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(uchwyty_bez_numeracji)then
return uchwyty_bez_numeracji[kod];
end;
end;
function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
local html_modul=require("Module:Html");
kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true);
if(kod_uchwytu~="")then
KtorySzablonMaZwracacKategorie(kod_uchwytu);
local lista_dwuelementowa={};
lista_dwuelementowa[1]=kod_uchwytu;
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_obiektu=true;
end;
if(tab_numer)then
tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1;
local numer=tab_numer[nazwa_obiektu];
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa);
else
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa);
end;
return lista_dwuelementowa;
end;
end;
function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji];
if(kod_uchwytu)then
local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return lista_dwuelementowa;
end;
end;
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(nazwa_artykulu=="")then return;end;
local czy_element_wystepuje_w_tablicy=false;
local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron;
if(tablica_przestrzeni_wszystkiego)then
local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni];
if(tabela_przestrzeni_ksiazek)then
local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki]
if(tabela_ksiazek)then
local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki];
if(tab_ksiazki)then
if(tab_ksiazki.spis)then
--czy_lista_niepusta=true;
for _,tab_value1 in ipairs(tab_ksiazki.spis)do
if(tab_value1[2])then
for _,nazwa_artykulu1 in ipairs(tab_value1[2])do
if(nazwa_artykulu1[1]==nazwa_artykulu)then
czy_element_wystepuje_w_tablicy=true;
break;
end;
end;
end;
if(czy_element_wystepuje_w_tablicy)then break;end;
end;
end;
end;
end;
end;
end;
if(not czy_element_wystepuje_w_tablicy)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron");
end;
end;
end;
end;
end;
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)
local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil;
local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil;
local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1);
end;
end;
if(czy_artykul_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2);
end;
end;
if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3);
end;
end;
end;
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false));
--local ksiazkowe_modul=require("Module:Książkowe");
--pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"]();
--nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"]();
if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw);
local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw);
local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false);
end;
end;
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end;
local parametry_modul=require("Module:Parametry");
if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end;
local szablonowe_modul=require("Module:Szablonowe");
if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
)then return;end;
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true);
end;
local tabela_nazw_art={};
local nazwa_jednostki=(nazwa_jednostki
and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1")
or nil
) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art);
if(nazwa_przestrzeni)then
nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true);
end;
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art);
local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,};
--strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona);
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)));
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej);
end;
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe)
local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2];
local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3];
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
local html_modul=require("Module:Html");
if(nazwa_artykulu)then
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
end;
local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni;
if(pelna_nazwa_ksiazki)then
pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true);
local techniczne_modul=require("Module:Techniczne");
pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,};
----
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)));
--pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
end;
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna);
local nazwy_modul=require("Module:Nazwy");
local czy_inna_wartosc_tekst=true;
if((nazwa_artykulu)and(nazwa_ksiazki))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((nazwa_artykulu)and(not nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""));
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((not nazwa_artykulu)and(nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"]();
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
else
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
end;
end;
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)
local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca);
----
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(uchwyt_obiektu))then
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu;
local html_modul=require("Module:Html");
uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true);
end;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(parametry_modul.CzyTak(uchwyt_obiektu))then
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
if(nazwa_artykulu)then
if(nazwa_artykulu~="")then
if(not nazwa_ksiazki)then
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
elseif(nazwa_ksiazki=="")then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
end;
elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then
nazwa_artykulu="";
elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
else
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
end;
if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)
or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)
or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz);
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu);
end;
KtorySzablonMaZwracacKategorie(uchwyt_obiektu);
end;
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu];
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then
local parametry_modul=require("Module:Parametry");
local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_linku=true;
end;
table.insert(linkobiekttab,uchwyt_obiektu);
if(czy_pobierz)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={};
end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
end;
end;
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA)
local pudelko_modul=require("Module:Pudełko");
if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni=="")))
and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki=="")))
and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki)))
and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu=="")))
)then
if(__FUNKCJA)then
__FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron");
else
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron");
end;
end;
end;
end;
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function()
local parametry_modul=require("Module:Parametry");
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then
local tablica_zmiennych2={};
tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={}
local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2);
if(tabela_listy_danych_analizy_ksiazki0)then
if((not czy_inna)or(not tablica_zmiennych2))then return;end;
local JuzPoliczone=function()
if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end;
local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
if(not tab_nazwa_obiektu)then
tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={};
tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
end;
local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu];
if(tab_uchwyt)then
return true;
end;
tab_nazwa_obiektu[uchwyt_obiektu]=true;
return false;
end;
if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then
local czy_policzone=JuzPoliczone();
if(czy_policzone)then
return;
end;
else
JuzPoliczone();
end;
if(czy_pobierz)then
stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false);
end;
if(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
for _,pozycja in ipairs(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)do
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,pozycja);
end;
end;
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu];
local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink;
local ile_razy=0;
if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then
for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do
if(parametry_obiektu[1]==uchwyt_obiektu)then
ile_razy=ile_razy+1;
if(ile_razy>1)then break;end;
end;
end;
end
if(ile_razy~=1)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu);
end;
p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera");
end;
end;
else
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
end);
end;
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end;
local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end;
local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki];
if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end;
local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki];
if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end;
if(nazwa_artykulu)then
if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end;
local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu];
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
else
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
end;
end;
local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not czy_artykul_korzystany)then
if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
else
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
end;
else
return nil;
end;
end;
if(self.tabela_listy_danych_analizy_ksiazki)then
if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then
local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(tabela_przestrzeni)then
local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki];
if(tabela_przestrzeni_ksiazki)then
local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki];
if(tabela_ksiazka)then
local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu;
if(lista_artykolow)then
local tabela_artykul=lista_artykolow[nazwa_artykulu];
if(tabela_artykul)then
local dane_zebrane_ze_stron=tabela_artykul.dane_zebrane_ze_stron;
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
end;
end;
end;
end;
end;
else
return nil;
end;
else
return nil;
end;
return true;
end;
local nazwy_modul=require("Module:Nazwy");
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,czy_inna=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
end;
if(not wartosc_wyniku)then
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
end;
----
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((nazwa_przestrzeni~=nazwy_np_modul.Main)
and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior)
and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$")))
and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$")))
)then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
----
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local parametry_modul=require("Module:Parametry");
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
----
local tekst_rozwiniety_calego_artykulu_ref=nil;
local tablica_analizy_obiektow_strony_dany_modul_ref=nil;
local tablica_danych_parametrow_szablonu_strony_ref=nil;
----
local function InneInformacjePrzebneDoAnalizowanejKsiazki()
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end;
end;
local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false;
if(not czy_ksiazka_istnieje_w_tablicy)then
tablica_ksiazki.czy_spis_analizowano=true;
local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści");
local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp;
local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona)
local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona];
if(tablica_przestrzeni_strona)then
local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona];
if(tablica_przestrzeni_ksiazki_strona)then
local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona];
if(tablica_ksiazki_strona)then
if(tablica_ksiazki_strona.spis)then
nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona;
tablica_ksiazki.spis=tablica_ksiazki_strona.spis;
tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja;
tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu;
tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy;
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
return 1;
end;
end;
end
end;
end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis)
----
if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then
tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis;
local parametry_modul=require("Module:Parametry");
tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis);
tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis);
end;
----
end);
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)
tablica_ksiazki.spis=tabela_artykulow;
if(czy_artykul_korzystany)then
tablica_ksiazki.licencja=tabela_licencji_spisu_tresci;
end;
tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu;
tablica_ksiazki.tab_inne_spisy=tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil;
end;
if(tabela_artykulow==0)then
if(czy_artykul_korzystany)then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje");
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(tabela_artykulow)then
if(parametry_modul.TypeTable(tabela_artykulow))then
if(adres_ksiazki_glownego_spisu_tresci)then
__FUNKCJA_SPISU(tablica_ksiazki,true);
local tablica_ksiazki_stara=tablica_ksiazki;
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1];
local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2];
local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3];
if((kod_wyniku==1)or(kod_wyniku==4))then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
local nazwa_artykulu=artykul;
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==2)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==3)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
end;
else
__FUNKCJA_SPISU(tablica_ksiazki,false);
end;
elseif(tabela_artykulow~=1)then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
end;
else
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then
if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
end;
end;
end;
end;
end;
----
local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki();
if(wynik_bledu)then return wartosc_wyniku;end;
local kod_wyniku_przekierowan=kod_wyniku_bazowy;
----
--if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then
-- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
--end;
----
if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then
----
nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1];
nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2];
nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3];
nazwa_artykulu=artykul_bazowy;
----
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3];
end;
local tabela_artykulow=tablica_ksiazki.spis;
if(tabela_artykulow)then
local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu;
local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy;
local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false);
if(kod_wyniku==1)then
nazwa_artykulu=artykul;
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
elseif(kod_wyniku==2)then
local nazwa_artykulu=artykul;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku;
end;
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local PrzekierownieAwaryjne=function()
if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then
--local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu);
if(strona)then
if(strona~=nazwa_modulu)then
----
local tabela_nazw={};
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw));
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa);
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
nazwa_modulu=strona;
else
return 0;
end;
end;
end;
end;
local wynik=PrzekierownieAwaryjne();
if(czy_artykul_korzystany)then
self.nazwa_modulu_biezaca=nazwa_modulu;
end;
if(wynik)then return wynik;end;
----
if(czy_artykul_korzystany)then
if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu;
end;
end;
local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu;
-- przydzielanie tablicy
if(czy_artykul_korzystany)then
artykul_analizowany.artykul_biezacy=true;
tablica_ksiazki.ksiazka_analizowana=true;
end;
--koniec
--local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}");
if(not tablica_zmiennych)then tablica_zmiennych={};end;
if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do
local CzyLink=element_w_tablicy_obiekt.CzyLink;
local CzyNum=element_w_tablicy_obiekt.CzyNum;
local wartosc=element_w_tablicy_obiekt[1];
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,};
if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end;
end;
local function StronaZbiorcza()
if(czy_artykul_korzystany)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end;
local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
artykul_analizowany.strona_zbiorcza=(wynik and "tak" or "");
return wynik;
end;
return nil;
end;
local strona_zbiorcza=StronaZbiorcza();
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
----
local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony;
if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil),
nil)
else
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref;
end;
----
if(not czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then return 0;end;
end;
if(czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then
if(strona_zbiorcza)then
self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
return nil;
end;
end;
local szablonowe_modul=require("Module:Szablonowe");
local parametry_modul=require("Module:Parametry");
if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then
local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu);
local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu);
if(tekst)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu);
local tablica_danych_parametrow_szablonu_strony={};
for szablon,obiekt,kod in iterator do
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return true;
elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return true;
end;
end);
if(wynik)then break;end;
end;
end;
end;
end;
local uzyskano_w_wyniku_parsowania_wywolanie_szablonu;
local analiza_stron_korzystanych_zbiorczych=nil;
local stronastart=nil;
----
local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze;
local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
----
local strona_start=stronicowyparser_obiekty_modul.strona_start;
local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony;
local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne;
local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza;
----
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local tabela_elementow_strony_kodow={};
-- for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
local function AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
if(czy_artykul_korzystany)then
if(tabela_parametrow_szablonu)then
if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then
if(strona_start[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
stronastart=true;
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
stronastart=true;
return;
elseif(strona_start_inne[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strony_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
stronastart=true;
return;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
end;
end;
local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:");
if(plik==nil)then
if(tabela_parametrow_szablonu)then
if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then
local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie");
local czy_linkobiekt;
local czy_link;local czy_pobierz;
local czy_wypowiedzenie_z_parametrami;
local czy_linkobiekt_z_parametrami;
if(czy_wypowiedzenie)then
czy_linkobiekt=false;
czy_link=false;
czy_pobierz=false;
czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]);
else
czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt");
if(czy_linkobiekt)then
czy_link=true;
czy_pobierz=false;
czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]);
else
czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link");
czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil;
end;
end;
if((not czy_link)and(not czy_pobierz))then
local wartosc_elementu;local numer_uchwytu;
if(not czy_wypowiedzenie_z_parametrami) then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
else
local rodzaj=tabela_parametrow_szablonu["rodzaj"];
if(rodzaj)then
wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil;
if(wartosc_elementu)then
numer_uchwytu=tablica_obiekty[5];
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
end;
elseif(czy_artykul_korzystany)then
if(czy_link)then
local wartosc_elementu;
if(not czy_linkobiekt_z_parametrami)then
wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
else
local typ=tabela_parametrow_szablonu["typ"];
if(typ)then
typ=format_elementowy_referencji_obiektowy[typ] and typ or nil;
if(typ)then
wartosc_elementu=mw.getContentLanguage():ucfirst(typ);
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
end;
end;
elseif(czy_pobierz)then
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,true);
return;
end;
end;
end;
if(czy_wypowiedzenie)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
if(lista_dwuelementowa)then
local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1];
local bez_preprocess=parametry_modul.CzyTak(tabela_parametrow_szablonu["bez preprocess"]);
if(tekst)then
local czy_szablon_wszystko=false;
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul,
function(szablon,obiekt,kod)
if(bez_preprocess)then return nil;end;
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(
(tab_szablony[nazwa_szablonu])
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
)then
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end;
return nil;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- instrukcje warunkowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- wywołania ramek Lua w Scribunto
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- tagi szablonowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end);
czy_szablon_wszystko=czy_szablon_wszystko or true;
if(wynik)then return wynik;end;
elseif(obiekt=="ZMIENNA")then
czy_szablon_wszystko=czy_szablon_wszystko or true;
local zawartosc=mw.ustring.match(szablon,"^{{{(.*)}}}$");
if(zawartosc)then
zawartosc=mw.ustring.gsub(zawartosc,"|","{{!}}");
return "{{(((}}"..zawartosc.."{{)))}}";
end;
end;
end);
if((czy_szablon_wszystko)and(not bez_preprocess))then
local frame=mw.getCurrentFrame();
tekst=frame:preprocess(tekst);
end;
lista_dwuelementowa[2]=tekst;
end;
--local __metatabelka=getmetatable(tabela_parametrow_szablonu);
--if(__metatabelka)then setmetatable(tabela_parametrow_szablonu,nil);end;
if(not czy_artykul_korzystany)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
{tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,},
});
else
if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
});
end;
end;
return;
elseif(czy_artykul_korzystany)then
if(czy_linkobiekt)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return;
elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or "";
local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or "";
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "")
end;
end;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
else
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or "";
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or "";
local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony;
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt;
end;
end;
if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania])
or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania])
)then
if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie);
end;
return;
elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
return;
end;
end;
end;
end;
end;
end;
end;
end;
----
local function GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego);
end;
local function IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu,tab_numer)
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer);
end;
end;
IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu);
----
local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {};
tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
----
local wiki_modul=require("Module:Wiki");
tablica_danych_nazwy_artykulu.link_wikidane={wiki_modul.KodyKlasStronyNaDanejWiki{["strona"]=nazwa_modulu_aktualna_czy_biezaca,["nagłówek"]=true,["aktywny"]=true,},};
----
if(czy_artykul_korzystany)then
if(analiza_stron_korzystanych_zbiorczych)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
end;
end;
local strona;
if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end;
----
if(czy_artykul_korzystany)then
local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablonytekstu_modul.UstawPobierzKorzystanie(tablica_zmiennych);
tekst_rozwiniety_calego_artykulu=stronicowyparser_szablonytekstu_modul.AktualizowanieSzablonowychTekstowychKompletowaniaTOC(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) or tekst_rozwiniety_calego_artykulu;
end;
----
local toc;
if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane))
or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then
----
local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil;
----
tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false);
----
local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function CzyJestTakiProblemJakoElementTablicy()
return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
end;
local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu;
local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron");
local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka];
tablica_naglowka_obiekty.uchwyty_bez_numeracji={};
local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow);
tablica_danych_nazwy_artykulu.TOC=toc;
end;
StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.link_wikidane=tablica_danych_nazwy_artykulu.link_wikidane;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki];
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki];
--self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron=tablica_zmiennych;
end;
if(not czy_artykul_korzystany)then
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=tablica_zmiennych;
if(not self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista)then self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista={};end;
table.insert(self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista,tablica_danych_nazwy_artykulu);
else
local dane_zebrane_ze_stron_lista=self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista;
if(dane_zebrane_ze_stron_lista)then
for _,tablica_danych_nazwy_artykulu in ipairs(dane_zebrane_ze_stron_lista)do
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=nil;
end;
end;
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane=nil;
end;
return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true;
end;
return p;
868w72fzzb57nvxanyw0h6m25vj3pqe
546591
546590
2026-06-13T15:48:35Z
Persino
2851
546591
Scribunto
text/plain
local p={};
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)
if(lista_dwuelementowa)then
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then
tabela_elementow_strony_kodow[nazwa_obiektu]={};
tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(not uchwyty_bez_numeracji)then
tab_obiekt.uchwyty_bez_numeracji={};
uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
end;
uchwyty_bez_numeracji[kod]=lista_dwuelementowa;
end;
end;
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then return nil;end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(uchwyty_bez_numeracji)then
return uchwyty_bez_numeracji[kod];
end;
end;
function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
local html_modul=require("Module:Html");
kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true);
if(kod_uchwytu~="")then
KtorySzablonMaZwracacKategorie(kod_uchwytu);
local lista_dwuelementowa={};
lista_dwuelementowa[1]=kod_uchwytu;
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_obiektu=true;
end;
if(tab_numer)then
tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1;
local numer=tab_numer[nazwa_obiektu];
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa);
else
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa);
end;
return lista_dwuelementowa;
end;
end;
function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji];
if(kod_uchwytu)then
local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return lista_dwuelementowa;
end;
end;
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(nazwa_artykulu=="")then return;end;
local czy_element_wystepuje_w_tablicy=false;
local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron;
if(tablica_przestrzeni_wszystkiego)then
local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni];
if(tabela_przestrzeni_ksiazek)then
local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki]
if(tabela_ksiazek)then
local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki];
if(tab_ksiazki)then
if(tab_ksiazki.spis)then
--czy_lista_niepusta=true;
for _,tab_value1 in ipairs(tab_ksiazki.spis)do
if(tab_value1[2])then
for _,nazwa_artykulu1 in ipairs(tab_value1[2])do
if(nazwa_artykulu1[1]==nazwa_artykulu)then
czy_element_wystepuje_w_tablicy=true;
break;
end;
end;
end;
if(czy_element_wystepuje_w_tablicy)then break;end;
end;
end;
end;
end;
end;
end;
if(not czy_element_wystepuje_w_tablicy)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron");
end;
end;
end;
end;
end;
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)
local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil;
local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil;
local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1);
end;
end;
if(czy_artykul_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2);
end;
end;
if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3);
end;
end;
end;
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false));
--local ksiazkowe_modul=require("Module:Książkowe");
--pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"]();
--nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"]();
if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw);
local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw);
local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false);
end;
end;
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end;
local parametry_modul=require("Module:Parametry");
if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end;
local szablonowe_modul=require("Module:Szablonowe");
if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
)then return;end;
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true);
end;
local tabela_nazw_art={};
local nazwa_jednostki=(nazwa_jednostki
and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1")
or nil
) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art);
if(nazwa_przestrzeni)then
nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true);
end;
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art);
local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,};
--strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona);
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)));
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej);
end;
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe)
local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2];
local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3];
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
local html_modul=require("Module:Html");
if(nazwa_artykulu)then
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
end;
local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni;
if(pelna_nazwa_ksiazki)then
pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true);
local techniczne_modul=require("Module:Techniczne");
pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,};
----
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)));
--pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
end;
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna);
local nazwy_modul=require("Module:Nazwy");
local czy_inna_wartosc_tekst=true;
if((nazwa_artykulu)and(nazwa_ksiazki))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((nazwa_artykulu)and(not nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""));
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((not nazwa_artykulu)and(nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"]();
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
else
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
end;
end;
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)
local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca);
----
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(uchwyt_obiektu))then
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu;
local html_modul=require("Module:Html");
uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true);
end;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(parametry_modul.CzyTak(uchwyt_obiektu))then
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
if(nazwa_artykulu)then
if(nazwa_artykulu~="")then
if(not nazwa_ksiazki)then
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
elseif(nazwa_ksiazki=="")then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
end;
elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then
nazwa_artykulu="";
elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
else
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
end;
if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)
or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)
or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz);
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu);
end;
KtorySzablonMaZwracacKategorie(uchwyt_obiektu);
end;
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu];
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then
local parametry_modul=require("Module:Parametry");
local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_linku=true;
end;
table.insert(linkobiekttab,uchwyt_obiektu);
if(czy_pobierz)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={};
end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
end;
end;
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA)
local pudelko_modul=require("Module:Pudełko");
if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni=="")))
and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki=="")))
and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki)))
and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu=="")))
)then
if(__FUNKCJA)then
__FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron");
else
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron");
end;
end;
end;
end;
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function()
local parametry_modul=require("Module:Parametry");
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then
local tablica_zmiennych2={};
tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={}
local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2);
if(tabela_listy_danych_analizy_ksiazki0)then
if((not czy_inna)or(not tablica_zmiennych2))then return;end;
local JuzPoliczone=function()
if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end;
local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
if(not tab_nazwa_obiektu)then
tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={};
tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
end;
local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu];
if(tab_uchwyt)then
return true;
end;
tab_nazwa_obiektu[uchwyt_obiektu]=true;
return false;
end;
if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then
local czy_policzone=JuzPoliczone();
if(czy_policzone)then
return;
end;
else
JuzPoliczone();
end;
if(czy_pobierz)then
stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false);
end;
if(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
for _,pozycja in ipairs(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)do
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,pozycja);
end;
end;
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu];
local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink;
local ile_razy=0;
if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then
for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do
if(parametry_obiektu[1]==uchwyt_obiektu)then
ile_razy=ile_razy+1;
if(ile_razy>1)then break;end;
end;
end;
end
if(ile_razy~=1)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu);
end;
p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera");
end;
end;
else
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
end);
end;
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end;
local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end;
local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki];
if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end;
local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki];
if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end;
if(nazwa_artykulu)then
if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end;
local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu];
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
else
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
end;
end;
local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not czy_artykul_korzystany)then
if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
else
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
end;
else
return nil;
end;
end;
if(self.tabela_listy_danych_analizy_ksiazki)then
if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then
local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(tabela_przestrzeni)then
local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki];
if(tabela_przestrzeni_ksiazki)then
local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki];
if(tabela_ksiazka)then
local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu;
if(lista_artykolow)then
local tabela_artykul=lista_artykolow[nazwa_artykulu];
if(tabela_artykul)then
local dane_zebrane_ze_stron=tabela_artykul.dane_zebrane_ze_stron;
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
end;
end;
end;
end;
end;
else
return nil;
end;
else
return nil;
end;
return true;
end;
local nazwy_modul=require("Module:Nazwy");
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,czy_inna=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
end;
if(not wartosc_wyniku)then
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
end;
----
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((nazwa_przestrzeni~=nazwy_np_modul.Main)
and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior)
and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$")))
and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$")))
)then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
----
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local parametry_modul=require("Module:Parametry");
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
----
local tekst_rozwiniety_calego_artykulu_ref=nil;
local tablica_analizy_obiektow_strony_dany_modul_ref=nil;
local tablica_danych_parametrow_szablonu_strony_ref=nil;
----
local function InneInformacjePrzebneDoAnalizowanejKsiazki()
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end;
end;
local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false;
if(not czy_ksiazka_istnieje_w_tablicy)then
tablica_ksiazki.czy_spis_analizowano=true;
local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści");
local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp;
local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona)
local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona];
if(tablica_przestrzeni_strona)then
local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona];
if(tablica_przestrzeni_ksiazki_strona)then
local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona];
if(tablica_ksiazki_strona)then
if(tablica_ksiazki_strona.spis)then
nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona;
tablica_ksiazki.spis=tablica_ksiazki_strona.spis;
tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja;
tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu;
tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy;
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
return 1;
end;
end;
end
end;
end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis)
----
if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then
tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis;
local parametry_modul=require("Module:Parametry");
tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis);
tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis);
end;
----
end);
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)
tablica_ksiazki.spis=tabela_artykulow;
if(czy_artykul_korzystany)then
tablica_ksiazki.licencja=tabela_licencji_spisu_tresci;
end;
tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu;
tablica_ksiazki.tab_inne_spisy=tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil;
end;
if(tabela_artykulow==0)then
if(czy_artykul_korzystany)then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje");
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(tabela_artykulow)then
if(parametry_modul.TypeTable(tabela_artykulow))then
if(adres_ksiazki_glownego_spisu_tresci)then
__FUNKCJA_SPISU(tablica_ksiazki,true);
local tablica_ksiazki_stara=tablica_ksiazki;
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1];
local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2];
local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3];
if((kod_wyniku==1)or(kod_wyniku==4))then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
local nazwa_artykulu=artykul;
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==2)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==3)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
end;
else
__FUNKCJA_SPISU(tablica_ksiazki,false);
end;
elseif(tabela_artykulow~=1)then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
end;
else
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then
if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
end;
end;
end;
end;
end;
----
local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki();
if(wynik_bledu)then return wartosc_wyniku;end;
local kod_wyniku_przekierowan=kod_wyniku_bazowy;
----
--if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then
-- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
--end;
----
if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then
----
nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1];
nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2];
nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3];
nazwa_artykulu=artykul_bazowy;
----
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3];
end;
local tabela_artykulow=tablica_ksiazki.spis;
if(tabela_artykulow)then
local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu;
local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy;
local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false);
if(kod_wyniku==1)then
nazwa_artykulu=artykul;
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
elseif(kod_wyniku==2)then
local nazwa_artykulu=artykul;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku;
end;
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local PrzekierownieAwaryjne=function()
if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then
--local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu);
if(strona)then
if(strona~=nazwa_modulu)then
----
local tabela_nazw={};
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw));
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa);
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
nazwa_modulu=strona;
else
return 0;
end;
end;
end;
end;
local wynik=PrzekierownieAwaryjne();
if(czy_artykul_korzystany)then
self.nazwa_modulu_biezaca=nazwa_modulu;
end;
if(wynik)then return wynik;end;
----
if(czy_artykul_korzystany)then
if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu;
end;
end;
local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu;
-- przydzielanie tablicy
if(czy_artykul_korzystany)then
artykul_analizowany.artykul_biezacy=true;
tablica_ksiazki.ksiazka_analizowana=true;
end;
--koniec
--local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}");
if(not tablica_zmiennych)then tablica_zmiennych={};end;
if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do
local CzyLink=element_w_tablicy_obiekt.CzyLink;
local CzyNum=element_w_tablicy_obiekt.CzyNum;
local wartosc=element_w_tablicy_obiekt[1];
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,};
if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end;
end;
local function StronaZbiorcza()
if(czy_artykul_korzystany)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end;
local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
artykul_analizowany.strona_zbiorcza=(wynik and "tak" or "");
return wynik;
end;
return nil;
end;
local strona_zbiorcza=StronaZbiorcza();
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
----
local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony;
if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil),
nil)
else
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref;
end;
----
if(not czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then return 0;end;
end;
if(czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then
if(strona_zbiorcza)then
self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
return nil;
end;
end;
local szablonowe_modul=require("Module:Szablonowe");
local parametry_modul=require("Module:Parametry");
if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then
local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu);
local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu);
if(tekst)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu);
local tablica_danych_parametrow_szablonu_strony={};
for szablon,obiekt,kod in iterator do
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return true;
elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return true;
end;
end);
if(wynik)then break;end;
end;
end;
end;
end;
local uzyskano_w_wyniku_parsowania_wywolanie_szablonu;
local analiza_stron_korzystanych_zbiorczych=nil;
local stronastart=nil;
----
local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze;
local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
----
local strona_start=stronicowyparser_obiekty_modul.strona_start;
local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony;
local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne;
local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza;
----
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local tabela_elementow_strony_kodow={};
-- for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
local function AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
if(czy_artykul_korzystany)then
if(tabela_parametrow_szablonu)then
if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then
if(strona_start[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
stronastart=true;
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
stronastart=true;
return;
elseif(strona_start_inne[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
stronastart=true;
return;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
end;
end;
local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:");
if(plik==nil)then
if(tabela_parametrow_szablonu)then
if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then
local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie");
local czy_linkobiekt;
local czy_link;local czy_pobierz;
local czy_wypowiedzenie_z_parametrami;
local czy_linkobiekt_z_parametrami;
if(czy_wypowiedzenie)then
czy_linkobiekt=false;
czy_link=false;
czy_pobierz=false;
czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]);
else
czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt");
if(czy_linkobiekt)then
czy_link=true;
czy_pobierz=false;
czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]);
else
czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link");
czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil;
end;
end;
if((not czy_link)and(not czy_pobierz))then
local wartosc_elementu;local numer_uchwytu;
if(not czy_wypowiedzenie_z_parametrami) then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
else
local rodzaj=tabela_parametrow_szablonu["rodzaj"];
if(rodzaj)then
wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil;
if(wartosc_elementu)then
numer_uchwytu=tablica_obiekty[5];
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
end;
elseif(czy_artykul_korzystany)then
if(czy_link)then
local wartosc_elementu;
if(not czy_linkobiekt_z_parametrami)then
wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
else
local typ=tabela_parametrow_szablonu["typ"];
if(typ)then
typ=format_elementowy_referencji_obiektowy[typ] and typ or nil;
if(typ)then
wartosc_elementu=mw.getContentLanguage():ucfirst(typ);
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
end;
end;
elseif(czy_pobierz)then
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,true);
return;
end;
end;
end;
if(czy_wypowiedzenie)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
if(lista_dwuelementowa)then
local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1];
local bez_preprocess=parametry_modul.CzyTak(tabela_parametrow_szablonu["bez preprocess"]);
if(tekst)then
local czy_szablon_wszystko=false;
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul,
function(szablon,obiekt,kod)
if(bez_preprocess)then return nil;end;
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(
(tab_szablony[nazwa_szablonu])
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
)then
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end;
return nil;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- instrukcje warunkowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- wywołania ramek Lua w Scribunto
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- tagi szablonowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end);
czy_szablon_wszystko=czy_szablon_wszystko or true;
if(wynik)then return wynik;end;
elseif(obiekt=="ZMIENNA")then
czy_szablon_wszystko=czy_szablon_wszystko or true;
local zawartosc=mw.ustring.match(szablon,"^{{{(.*)}}}$");
if(zawartosc)then
zawartosc=mw.ustring.gsub(zawartosc,"|","{{!}}");
return "{{(((}}"..zawartosc.."{{)))}}";
end;
end;
end);
if((czy_szablon_wszystko)and(not bez_preprocess))then
local frame=mw.getCurrentFrame();
tekst=frame:preprocess(tekst);
end;
lista_dwuelementowa[2]=tekst;
end;
--local __metatabelka=getmetatable(tabela_parametrow_szablonu);
--if(__metatabelka)then setmetatable(tabela_parametrow_szablonu,nil);end;
if(not czy_artykul_korzystany)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
{tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,},
});
else
if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
});
end;
end;
return;
elseif(czy_artykul_korzystany)then
if(czy_linkobiekt)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return;
elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or "";
local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or "";
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "")
end;
end;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
else
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or "";
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or "";
local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony;
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt;
end;
end;
if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania])
or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania])
)then
if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie);
end;
return;
elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
return;
end;
end;
end;
end;
end;
end;
end;
end;
----
local function GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego);
end;
local function IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu,tab_numer)
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer);
end;
end;
IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu);
----
local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {};
tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
----
local wiki_modul=require("Module:Wiki");
tablica_danych_nazwy_artykulu.link_wikidane={wiki_modul.KodyKlasStronyNaDanejWiki{["strona"]=nazwa_modulu_aktualna_czy_biezaca,["nagłówek"]=true,["aktywny"]=true,},};
----
if(czy_artykul_korzystany)then
if(analiza_stron_korzystanych_zbiorczych)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
end;
end;
local strona;
if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end;
----
if(czy_artykul_korzystany)then
local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablonytekstu_modul.UstawPobierzKorzystanie(tablica_zmiennych);
tekst_rozwiniety_calego_artykulu=stronicowyparser_szablonytekstu_modul.AktualizowanieSzablonowychTekstowychKompletowaniaTOC(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) or tekst_rozwiniety_calego_artykulu;
end;
----
local toc;
if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane))
or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then
----
local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil;
----
tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false);
----
local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function CzyJestTakiProblemJakoElementTablicy()
return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
end;
local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu;
local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron");
local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka];
tablica_naglowka_obiekty.uchwyty_bez_numeracji={};
local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow);
tablica_danych_nazwy_artykulu.TOC=toc;
end;
StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.link_wikidane=tablica_danych_nazwy_artykulu.link_wikidane;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki];
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki];
--self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron=tablica_zmiennych;
end;
if(not czy_artykul_korzystany)then
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=tablica_zmiennych;
if(not self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista)then self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista={};end;
table.insert(self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista,tablica_danych_nazwy_artykulu);
else
local dane_zebrane_ze_stron_lista=self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista;
if(dane_zebrane_ze_stron_lista)then
for _,tablica_danych_nazwy_artykulu in ipairs(dane_zebrane_ze_stron_lista)do
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=nil;
end;
end;
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane=nil;
end;
return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true;
end;
return p;
oh0rtwbhbntbb6c0e0xev4um7j7f0sg
546592
546591
2026-06-13T15:50:36Z
Persino
2851
546592
Scribunto
text/plain
local p={};
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)
if(lista_dwuelementowa)then
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then
tabela_elementow_strony_kodow[nazwa_obiektu]={};
tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(not uchwyty_bez_numeracji)then
tab_obiekt.uchwyty_bez_numeracji={};
uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
end;
uchwyty_bez_numeracji[kod]=lista_dwuelementowa;
end;
end;
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then return nil;end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(uchwyty_bez_numeracji)then
return uchwyty_bez_numeracji[kod];
end;
end;
function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
local html_modul=require("Module:Html");
kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true);
if(kod_uchwytu~="")then
KtorySzablonMaZwracacKategorie(kod_uchwytu);
local lista_dwuelementowa={};
lista_dwuelementowa[1]=kod_uchwytu;
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_obiektu=true;
end;
if(tab_numer)then
tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1;
local numer=tab_numer[nazwa_obiektu];
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa);
else
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa);
end;
return lista_dwuelementowa;
end;
end;
function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji];
if(kod_uchwytu)then
local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return lista_dwuelementowa;
end;
end;
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(nazwa_artykulu=="")then return;end;
local czy_element_wystepuje_w_tablicy=false;
local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron;
if(tablica_przestrzeni_wszystkiego)then
local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni];
if(tabela_przestrzeni_ksiazek)then
local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki]
if(tabela_ksiazek)then
local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki];
if(tab_ksiazki)then
if(tab_ksiazki.spis)then
--czy_lista_niepusta=true;
for _,tab_value1 in ipairs(tab_ksiazki.spis)do
if(tab_value1[2])then
for _,nazwa_artykulu1 in ipairs(tab_value1[2])do
if(nazwa_artykulu1[1]==nazwa_artykulu)then
czy_element_wystepuje_w_tablicy=true;
break;
end;
end;
end;
if(czy_element_wystepuje_w_tablicy)then break;end;
end;
end;
end;
end;
end;
end;
if(not czy_element_wystepuje_w_tablicy)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron");
end;
end;
end;
end;
end;
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)
local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil;
local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil;
local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1);
end;
end;
if(czy_artykul_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2);
end;
end;
if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3);
end;
end;
end;
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false));
--local ksiazkowe_modul=require("Module:Książkowe");
--pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"]();
--nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"]();
if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw);
local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw);
local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false);
end;
end;
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end;
local parametry_modul=require("Module:Parametry");
if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end;
local szablonowe_modul=require("Module:Szablonowe");
if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
)then return;end;
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true);
end;
local tabela_nazw_art={};
local nazwa_jednostki=(nazwa_jednostki
and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1")
or nil
) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art);
if(nazwa_przestrzeni)then
nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true);
end;
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art);
local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,};
--strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona);
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)));
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej);
end;
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe)
local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2];
local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3];
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
local html_modul=require("Module:Html");
if(nazwa_artykulu)then
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
end;
local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni;
if(pelna_nazwa_ksiazki)then
pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true);
local techniczne_modul=require("Module:Techniczne");
pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,};
----
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)));
--pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
end;
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna);
local nazwy_modul=require("Module:Nazwy");
local czy_inna_wartosc_tekst=true;
if((nazwa_artykulu)and(nazwa_ksiazki))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((nazwa_artykulu)and(not nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""));
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
elseif((not nazwa_artykulu)and(nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"]();
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
else
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst);
end;
end;
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)
local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca);
----
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(uchwyt_obiektu))then
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu;
local html_modul=require("Module:Html");
uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true);
end;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(parametry_modul.CzyTak(uchwyt_obiektu))then
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
if(nazwa_artykulu)then
if(nazwa_artykulu~="")then
if(not nazwa_ksiazki)then
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
elseif(nazwa_ksiazki=="")then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
end;
elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then
nazwa_artykulu="";
elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
return;
else
nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
end;
if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)
or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)
or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz);
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil);
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu);
end;
KtorySzablonMaZwracacKategorie(uchwyt_obiektu);
end;
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu];
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then
local parametry_modul=require("Module:Parametry");
local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_linku=true;
end;
table.insert(linkobiekttab,uchwyt_obiektu);
if(czy_pobierz)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={};
end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
end;
end;
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA)
local pudelko_modul=require("Module:Pudełko");
if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni=="")))
and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki=="")))
and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki)))
and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu=="")))
)then
if(__FUNKCJA)then
__FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron");
else
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron");
end;
end;
end;
end;
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function()
local parametry_modul=require("Module:Parametry");
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then
local tablica_zmiennych2={};
tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={}
local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2);
if(tabela_listy_danych_analizy_ksiazki0)then
if((not czy_inna)or(not tablica_zmiennych2))then return;end;
local JuzPoliczone=function()
if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end;
local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
if(not tab_nazwa_obiektu)then
tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={};
tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
end;
local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu];
if(tab_uchwyt)then
return true;
end;
tab_nazwa_obiektu[uchwyt_obiektu]=true;
return false;
end;
if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then
local czy_policzone=JuzPoliczone();
if(czy_policzone)then
return;
end;
else
JuzPoliczone();
end;
if(czy_pobierz)then
stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false);
end;
if(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
for _,pozycja in ipairs(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)do
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,pozycja);
end;
end;
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu];
local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink;
local ile_razy=0;
if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then
for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do
if(parametry_obiektu[1]==uchwyt_obiektu)then
ile_razy=ile_razy+1;
if(ile_razy>1)then break;end;
end;
end;
end
if(ile_razy~=1)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu);
end;
p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera");
end;
end;
else
p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu);
end;
end);
end;
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end;
local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end;
local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki];
if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end;
local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki];
if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end;
if(nazwa_artykulu)then
if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end;
local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu];
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
else
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
end;
end;
local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(not czy_artykul_korzystany)then
if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
else
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
end;
else
return nil;
end;
end;
if(self.tabela_listy_danych_analizy_ksiazki)then
if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then
local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
if(tabela_przestrzeni)then
local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki];
if(tabela_przestrzeni_ksiazki)then
local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki];
if(tabela_ksiazka)then
local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu;
if(lista_artykolow)then
local tabela_artykul=lista_artykolow[nazwa_artykulu];
if(tabela_artykul)then
local dane_zebrane_ze_stron=tabela_artykul.dane_zebrane_ze_stron;
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
end;
end;
end;
end;
end;
else
return nil;
end;
else
return nil;
end;
return true;
end;
local nazwy_modul=require("Module:Nazwy");
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,czy_inna=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
end;
if(not wartosc_wyniku)then
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
end;
----
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((nazwa_przestrzeni~=nazwy_np_modul.Main)
and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior)
and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$")))
and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$")))
)then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
----
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local parametry_modul=require("Module:Parametry");
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
----
local tekst_rozwiniety_calego_artykulu_ref=nil;
local tablica_analizy_obiektow_strony_dany_modul_ref=nil;
local tablica_danych_parametrow_szablonu_strony_ref=nil;
----
local function InneInformacjePrzebneDoAnalizowanejKsiazki()
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end;
end;
local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false;
if(not czy_ksiazka_istnieje_w_tablicy)then
tablica_ksiazki.czy_spis_analizowano=true;
local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści");
local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp;
local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona)
local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona];
if(tablica_przestrzeni_strona)then
local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona];
if(tablica_przestrzeni_ksiazki_strona)then
local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona];
if(tablica_ksiazki_strona)then
if(tablica_ksiazki_strona.spis)then
nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona;
tablica_ksiazki.spis=tablica_ksiazki_strona.spis;
tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja;
tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu;
tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy;
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
return 1;
end;
end;
end
end;
end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis)
----
if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then
tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis;
local parametry_modul=require("Module:Parametry");
tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis);
tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis);
end;
----
end);
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)
tablica_ksiazki.spis=tabela_artykulow;
if(czy_artykul_korzystany)then
tablica_ksiazki.licencja=tabela_licencji_spisu_tresci;
end;
tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu;
tablica_ksiazki.tab_inne_spisy=tab_inne_spisy;
tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly;
tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil;
end;
if(tabela_artykulow==0)then
if(czy_artykul_korzystany)then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje");
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(tabela_artykulow)then
if(parametry_modul.TypeTable(tabela_artykulow))then
if(adres_ksiazki_glownego_spisu_tresci)then
__FUNKCJA_SPISU(tablica_ksiazki,true);
local tablica_ksiazki_stara=tablica_ksiazki;
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1];
local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2];
local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3];
if((kod_wyniku==1)or(kod_wyniku==4))then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
local nazwa_artykulu=artykul;
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==2)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
elseif(kod_wyniku==3)then
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil);
tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,};
__FUNKCJA_SPISU(tablica_ksiazki,false);
return nil,nil,artykul,kod_wyniku;
end;
else
__FUNKCJA_SPISU(tablica_ksiazki,false);
end;
elseif(tabela_artykulow~=1)then
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku,true;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku,true;
end;
end;
else
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then
if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
end;
end;
end;
end;
end;
----
local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki();
if(wynik_bledu)then return wartosc_wyniku;end;
local kod_wyniku_przekierowan=kod_wyniku_bazowy;
----
--if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then
-- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
--end;
----
if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then
----
nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1];
nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2];
nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3];
nazwa_artykulu=artykul_bazowy;
----
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3];
end;
local tabela_artykulow=tablica_ksiazki.spis;
if(tabela_artykulow)then
local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu;
local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy;
local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu
local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false);
if(kod_wyniku==1)then
nazwa_artykulu=artykul;
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
elseif(kod_wyniku==2)then
local nazwa_artykulu=artykul;
local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku;
end;
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local PrzekierownieAwaryjne=function()
if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then
--local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu);
if(strona)then
if(strona~=nazwa_modulu)then
----
local tabela_nazw={};
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw));
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa);
local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not wartosc_wyniku)then
return wartosc_wyniku;
elseif((wartosc_wyniku==0)and(tabela_artykul))then
StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return wartosc_wyniku;
end;
tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
nazwa_modulu=strona;
else
return 0;
end;
end;
end;
end;
local wynik=PrzekierownieAwaryjne();
if(czy_artykul_korzystany)then
self.nazwa_modulu_biezaca=nazwa_modulu;
end;
if(wynik)then return wynik;end;
----
if(czy_artykul_korzystany)then
if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu;
end;
end;
local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu;
-- przydzielanie tablicy
if(czy_artykul_korzystany)then
artykul_analizowany.artykul_biezacy=true;
tablica_ksiazki.ksiazka_analizowana=true;
end;
--koniec
--local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}");
if(not tablica_zmiennych)then tablica_zmiennych={};end;
if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do
local CzyLink=element_w_tablicy_obiekt.CzyLink;
local CzyNum=element_w_tablicy_obiekt.CzyNum;
local wartosc=element_w_tablicy_obiekt[1];
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,};
if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end;
end;
local function StronaZbiorcza()
if(czy_artykul_korzystany)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end;
local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
artykul_analizowany.strona_zbiorcza=(wynik and "tak" or "");
return wynik;
end;
return nil;
end;
local strona_zbiorcza=StronaZbiorcza();
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
----
local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony;
if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil),
nil)
else
tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref;
end;
----
if(not czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then return 0;end;
end;
if(czy_artykul_korzystany)then
if(not tekst_rozwiniety_calego_artykulu)then
if(strona_zbiorcza)then
self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
return nil;
end;
end;
local szablonowe_modul=require("Module:Szablonowe");
local parametry_modul=require("Module:Parametry");
if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then
local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu);
local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu);
if(tekst)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu);
local tablica_danych_parametrow_szablonu_strony={};
for szablon,obiekt,kod in iterator do
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return true;
elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return true;
end;
end);
if(wynik)then break;end;
end;
end;
end;
end;
local uzyskano_w_wyniku_parsowania_wywolanie_szablonu;
local analiza_stron_korzystanych_zbiorczych=nil;
local stronastart=nil;
----
local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze;
local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu;
----
local strona_start=stronicowyparser_obiekty_modul.strona_start;
local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony;
local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne;
local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza;
----
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local tabela_elementow_strony_kodow={};
-- for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
local function AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
if(czy_artykul_korzystany)then
if(tabela_parametrow_szablonu)then
if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then
if(strona_start[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"];
stronastart=true;
local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or "";
local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC";
if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
stronastart=true;
return;
elseif(strona_start_inne[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak";
self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak";
stronastart=true;
return;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
analiza_stron_korzystanych_zbiorczych=true;
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then
return;
end;
end;
end;
end;
local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:");
if(plik==nil)then
if(tabela_parametrow_szablonu)then
if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then
local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie");
local czy_linkobiekt;
local czy_link;local czy_pobierz;
local czy_wypowiedzenie_z_parametrami;
local czy_linkobiekt_z_parametrami;
if(czy_wypowiedzenie)then
czy_linkobiekt=false;
czy_link=false;
czy_pobierz=false;
czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]);
else
czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt");
if(czy_linkobiekt)then
czy_link=true;
czy_pobierz=false;
czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]);
else
czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link");
czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil;
end;
end;
if((not czy_link)and(not czy_pobierz))then
local wartosc_elementu;local numer_uchwytu;
if(not czy_wypowiedzenie_z_parametrami) then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
else
local rodzaj=tabela_parametrow_szablonu["rodzaj"];
if(rodzaj)then
wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil;
if(wartosc_elementu)then
numer_uchwytu=tablica_obiekty[5];
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
end;
elseif(czy_artykul_korzystany)then
if(czy_link)then
local wartosc_elementu;
if(not czy_linkobiekt_z_parametrami)then
wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania];
else
local typ=tabela_parametrow_szablonu["typ"];
if(typ)then
typ=format_elementowy_referencji_obiektowy[typ] and typ or nil;
if(typ)then
wartosc_elementu=mw.getContentLanguage():ucfirst(typ);
end;
end;
end;
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
end;
end;
elseif(czy_pobierz)then
local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
if(wartosc_elementu)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,true);
return;
end;
end;
end;
if(czy_wypowiedzenie)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
end;
return;
elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then
local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania];
local wartosc_elementu;local numer_uchwytu;
if(tab_wartosc_elementu)then
wartosc_elementu=tab_wartosc_elementu[1];
numer_uchwytu=tab_wartosc_elementu[2];
end;
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(czy_artykul_korzystany)then
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
if(uchwyt_obiektu and (uchwyt_obiektu~=""))then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
end;
end;
local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
if(lista_dwuelementowa)then
local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1];
local bez_preprocess=parametry_modul.CzyTak(tabela_parametrow_szablonu["bez preprocess"]);
if(tekst)then
local czy_szablon_wszystko=false;
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul,
function(szablon,obiekt,kod)
if(bez_preprocess)then return nil;end;
if(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(
(tab_szablony[nazwa_szablonu])
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
)then
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end;
return nil;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- instrukcje warunkowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- wywołania ramek Lua w Scribunto
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
---- tagi szablonowe;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end);
czy_szablon_wszystko=czy_szablon_wszystko or true;
if(wynik)then return wynik;end;
elseif(obiekt=="ZMIENNA")then
czy_szablon_wszystko=czy_szablon_wszystko or true;
local zawartosc=mw.ustring.match(szablon,"^{{{(.*)}}}$");
if(zawartosc)then
zawartosc=mw.ustring.gsub(zawartosc,"|","{{!}}");
return "{{(((}}"..zawartosc.."{{)))}}";
end;
end;
end);
if((czy_szablon_wszystko)and(not bez_preprocess))then
local frame=mw.getCurrentFrame();
tekst=frame:preprocess(tekst);
end;
lista_dwuelementowa[2]=tekst;
end;
--local __metatabelka=getmetatable(tabela_parametrow_szablonu);
--if(__metatabelka)then setmetatable(tabela_parametrow_szablonu,nil);end;
if(not czy_artykul_korzystany)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
{tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,},
});
else
if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{
{wartosc_elementu,lista_dwuelementowa[1],},
{},
{{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,},
});
end;
end;
return;
elseif(czy_artykul_korzystany)then
if(czy_linkobiekt)then
local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or "");
end;
end;
p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return;
else
if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
return;
elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or "";
local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or "";
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "")
end;
end;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie);
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil;
if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true;
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
else
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil;
end;
return;
else
local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or "";
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or "";
local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony;
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt;
end;
end;
if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania])
or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania])
)then
if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
else
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie);
end;
return;
elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then
p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie);
return;
end;
end;
end;
end;
end;
end;
end;
end;
----
local function GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer)
stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego);
end;
local function IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu,tab_numer)
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do
GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer);
end;
end;
IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu);
----
local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {};
tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
----
local wiki_modul=require("Module:Wiki");
tablica_danych_nazwy_artykulu.link_wikidane={wiki_modul.KodyKlasStronyNaDanejWiki{["strona"]=nazwa_modulu_aktualna_czy_biezaca,["nagłówek"]=true,["aktywny"]=true,},};
----
if(czy_artykul_korzystany)then
if(analiza_stron_korzystanych_zbiorczych)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
end;
end;
local strona;
if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end;
----
if(czy_artykul_korzystany)then
local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
stronicowyparser_szablonytekstu_modul.UstawPobierzKorzystanie(tablica_zmiennych);
tekst_rozwiniety_calego_artykulu=stronicowyparser_szablonytekstu_modul.AktualizowanieSzablonowychTekstowychKompletowaniaTOC(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) or tekst_rozwiniety_calego_artykulu;
end;
----
local toc;
if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane))
or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then
----
local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil;
----
tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false);
----
local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu)
if(czy_artykul_korzystany)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
else
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then
self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or "");
end;
end;
end;
local function CzyJestTakiProblemJakoElementTablicy()
return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej");
end;
local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu;
local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron");
local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka];
tablica_naglowka_obiekty.uchwyty_bez_numeracji={};
local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow);
tablica_danych_nazwy_artykulu.TOC=toc;
end;
StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(czy_artykul_korzystany)then
self.tabela_listy_danych_analizy_ksiazki.link_wikidane=tablica_danych_nazwy_artykulu.link_wikidane;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2;
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni];
self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki];
self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki];
--self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron=tablica_zmiennych;
end;
if(not czy_artykul_korzystany)then
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=tablica_zmiennych;
if(not self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista)then self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista={};end;
table.insert(self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista,tablica_danych_nazwy_artykulu);
else
local dane_zebrane_ze_stron_lista=self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista;
if(dane_zebrane_ze_stron_lista)then
for _,tablica_danych_nazwy_artykulu in ipairs(dane_zebrane_ze_stron_lista)do
tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=nil;
end;
end;
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane=nil;
end;
return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true;
end;
return p;
77grpl89g1wdo3qf2vfv695f9cs2j55
Szablon:Link wewnętrzny
10
56015
546599
544063
2026-06-13T16:54:59Z
Persino
2851
546599
wikitext
text/x-wiki
546601
546599
2026-06-13T17:00:07Z
Persino
2851
546601
wikitext
text/x-wiki
546622
546601
2026-06-13T18:43:24Z
Persino
2851
546622
wikitext
text/x-wiki
546623
546622
2026-06-13T18:47:37Z
Persino
2851
546623
wikitext
text/x-wiki
546632
546623
2026-06-13T19:31:38Z
Persino
2851
546632
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez znaczników|{{{bz|}}}}}}||<!--
--><!--
-->{{#if:{{#invoke:StronicowyParser|StronaZeSzablonemStronaStart}}<!--
-->|<!--
-->|<templatestyles src="Szablon:Link_wewnętrzny/styles.css" /><!--
-->}}<!--
-->}}{{#invoke:Linki|Link wewnętrzny}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry
| = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}
| strona = ;s
| s = ;strona
| nazwa = ;n
| n = ;nazwa
| za = ;z
| z = ;za
| po = ;p
| p = ;po
| nagłówek = ;g
| g = ;nagłówek
| klucz projektu = ;kod języka;kod projektu;k;kj;kp
| k = ;kod języka;kod projektu;klucz projektu;kj;kp
| kod języka = ;klucz projektu;kj
| kj = ;klucz projektu;kod języka
| kod projektu = ;klucz projektu;kp
| kp = ;klucz projektu;kod projektu
| bez znaczników = ;bz
| bz = ;bez znaczników
| bez przetwarzania = ;bp
| bp = ;bez przetwarzania
| bez przetwarzania kodów = ;bk
| bk = ;bez przetwarzania kodów
| analiza = ;a
| a = ;analiza
| uri = ;u
| u = ;uri
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
3cv2q6k98b8nc2ipwslta91e3yi3rsg
546637
546632
2026-06-13T19:55:00Z
Persino
2851
546637
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez znaczników|{{{bz|}}}}}}||<templatestyles src="Szablon:Link_wewnętrzny/styles.css" />}}{{#invoke:Linki|Link wewnętrzny}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry
| = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}
| strona = ;s
| s = ;strona
| nazwa = ;n
| n = ;nazwa
| za = ;z
| z = ;za
| po = ;p
| p = ;po
| nagłówek = ;g
| g = ;nagłówek
| klucz projektu = ;kod języka;kod projektu;k;kj;kp
| k = ;kod języka;kod projektu;klucz projektu;kj;kp
| kod języka = ;klucz projektu;kj
| kj = ;klucz projektu;kod języka
| kod projektu = ;klucz projektu;kp
| kp = ;klucz projektu;kod projektu
| bez znaczników = ;bz
| bz = ;bez znaczników
| bez przetwarzania = ;bp
| bp = ;bez przetwarzania
| bez przetwarzania kodów = ;bk
| bk = ;bez przetwarzania kodów
| analiza = ;a
| a = ;analiza
| uri = ;u
| u = ;uri
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
02b9l6lc2aeycl3liem6nvzy6r29v66
Moduł:Linki
828
56416
546585
546532
2026-06-13T13:30:23Z
Persino
2851
546585
Scribunto
text/plain
local p={};
p["PrzetłumaczZnakZastępczyNaStronę"]=function(nazwa_przestrzeni_nazw,nazwa_strony,kod_jezyka,kod_projektu,hash)
local czy_pusta_nazwa_przestrzeni_nazw=mw.ustring.match(nazwa_przestrzeni_nazw,"^([%s_:]*)$");
local czy_pusta_nazwa_strony=mw.ustring.match(nazwa_strony,"^([%s_:]*)#.*$") or mw.ustring.match(nazwa_strony,"^([%s_:]*)$");
if(not czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony)then
local tabglownestronyprojektu=mw.loadData("Module:Nazwy/przestrzenie").tabnp;
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"](nazwa_przestrzeni_nazw);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(not czy_biezaca)then
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["przedmiotowa"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
local nazwa_bazowa_strony=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
if(nazwa_bazowa_strony)then
local nazwa_strony_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
["nazwa strony"]=nazwa_bazowa_strony,
["kod języka"]=kod_jezyka,
["kod projektu"]=kod_projektu,
["kod języka bazy"]="pl",
["kod projektu bazy"]=(nazwa_kanoniczna_nazwy_przestrzeni_nazw~="Project")and "w" or "b",
}
if(nazwa_strony_na_innym_projekcie)then
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({["nazwa"]=nazwa_strony_na_innym_projekcie,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu});
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
else
return nazwa_bazowa_strony,false;
end;
end;
else
local nazwy_modul=require("Module:Nazwy");
if(hash)then
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};
local prze_bierzacej_strony=nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazw);
local nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,};
if(nazwa_przestrzeni_nazw==prze_bierzacej_strony)then
return nazwy_modul["PEŁNANAZWASTRONY"](nil,tabela_nazw),true;
end;
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.Np{["nazwa"]=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["przedmiotowa"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak"}
local nazwa_strony_glownych_stron_projektu=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
if(nazwa_strony_glownych_stron_projektu)then
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({["nazwa"]=nazwa_strony_glownych_stron_projektu});
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
end;
end;
elseif czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
if((czy_biezaca)and(hash))then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"](),true;
end;
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local tablokalnesiostrzane=wiki_interwiki_modul.tablica_lokalne_siostrzane;
if(tablokalnesiostrzane[kod_projektu])then
local wiki_modul=require("Module:Wiki");
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_tego_projektu=pudelko_modul["Strona główna tego projektu"]();
if(not czy_biezaca)then
local nazwa_strony_glownej_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
["nazwa strony"]=strona_glowna_tego_projektu,
["kod języka"]=kod_jezyka,
["kod projektu"]=kod_projektu,
}
if(nazwa_strony_glownej_na_innym_projekcie)then
return nazwa_strony_glownej_na_innym_projekcie,false;
end;
else
return strona_glowna_tego_projektu,false;
end;
end;
end;
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
end;
p["PoprawLinki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr(1);
local z_kodowaniem=PobierzParametr("uri") or PobierzParametr(2);
z_kodowaniem=parametry_modul.CzyTak(z_kodowaniem);
local function pojedynczy_link(link)
local strona=mw.ustring.match(link,"^%[%[:?([^%[%]|]*)");
local nazwa=mw.ustring.match(link,"^%[%[[^|]*|([^%[%]]*)%]%]$") or strona;
local z_kodowaniem_temp=(mw.ustring.match(strona,"%%%x%x")and true or false) or z_kodowaniem;
link=p.TworzenieWikiLinku(nil,nil,nil,strona,nil,nazwa,nil,nil,false,nil,nil,nil,nil,nil,nil,nil,z_kodowaniem_temp);
return link;
end;
return mw.ustring.gsub(argument_pierwszy,"(%[%[[^%[%]]*%]%])",function(s)return pojedynczy_link(s);end);
end;
p["WydobądźLinki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local wartosc,_=PobierzParametr(1);
local z_kodowaniem=PobierzParametr("uri") or PobierzParametr(2);
local specjalne_modul=require("Module:Specjalne");
wartosc=specjalne_modul["UsuńKomentarze"](wartosc);
wartosc=specjalne_modul["UsuńSzablonyStylów"](wartosc);
wartosc=specjalne_modul["UsuńZnaczniki"](wartosc);
wartosc=specjalne_modul["UsuńKategorie"](wartosc);
wartosc=specjalne_modul["UsuńWywołaniaPlików"](wartosc);
wartosc=specjalne_modul["UsuńInterwiki"](wartosc);
local linki_modul=require("Module:Linki");
wartosc=linki_modul["PoprawLinki"]{wartosc,z_kodowaniem};
return wartosc;
end;
function p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,z_kodowaniem)
if(not czy_url)then
local parametry_modul=require("Module:Parametry");
local czy_klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(klucz_projektu_do_projektu_linku);
local czy_kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(kod_jezyka_do_projektu_linku);
local czy_kod_projektu_do_projektu_linku=parametry_modul.CzyTak(kod_projektu_do_projektu_linku);
local czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
local czy_po=parametry_modul.CzyTak(po);
if(not czy_naglowek_strony)then
if(czy_nazwa_strony_linku)then
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local strona_zmienna_tymczasowa=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu)
local naglowek_zmienna_tymczasowa=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
if(strona_zmienna_tymczasowa and naglowek_zmienna_tymczasowa)then
nazwa_strony_linku=strona_zmienna_tymczasowa;
naglowek_zmienna_tymczasowa=parametry_modul["Odstępy"]{[1]=naglowek_zmienna_tymczasowa,[2]="tak",[3]="tak",};
if(parametry_modul.CzyTak(naglowek_zmienna_tymczasowa))then
naglowek_strony=naglowek_zmienna_tymczasowa;
czy_naglowek_strony=true;
end;
end;
end;
else
naglowek_strony=parametry_modul["Odstępy"]{[1]=naglowek_strony,[2]="tak",[3]="tak",};
if(not parametry_modul.CzyTak(naglowek_strony))then
czy_naglowek_strony=false;
naglowek_strony=nil;
end;
end;
---
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local interwikimap=wiki_interwiki_modul.interwikimap;
local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;
local wiki_modul=require("Module:Wiki");
local kod_jezyka_uzyskany_poczatkowy,kod_projektu_uzyskany_poczatkowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(not kod_jezyka_uzyskany_poczatkowy or not kod_projektu_uzyskany_poczatkowy)then
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_uzyskany_poczatkowy or kod_jezyka_tego_projektu;
kod_projektu_uzyskany_poczatkowy=kod_projektu_uzyskany_poczatkowy or kod_projektu_tego_projektu;
end;
local czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
local tablica_kodow={};
local kod_jezyka_koncowy;local kod_projektu_koncowy;
---------------------------------------------------------------------
kod_jezyka_koncowy=kod_jezyka_uzyskany_poczatkowy;
kod_projektu_koncowy=kod_projektu_uzyskany_poczatkowy;
---------------------------------------------------------------------
local kod_jezyka_poczatkowy,kod_projektu_poczatkowy;
if(czy_pelna_nazwa_strony_prawidlowa)then
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,kod_jezyka_poczatkowy,kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,bez_przetwarzania_kodow and tablica_kodow or nil);
czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
end;
----
if(not nazwa)then
nazwa=nazwa_strony_linku..(czy_naglowek_strony and ("#"..naglowek_strony) or "");
nazwa=mw.ustring.gsub(nazwa,"[%s_]+"," ");
czy_nazwa=parametry_modul.CzyTak(nazwa);
end
local ciag_tablica_kodow="";
if(bez_przetwarzania_kodow)then
if(kod_jezyka_poczatkowy)then
if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_poczatkowy;
else
ciag_tablica_kodow=kod_jezyka_poczatkowy;
end;
elseif(kod_projektu_poczatkowy)then
if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
kod_projektu_uzyskany_poczatkowy=kod_projektu_poczatkowy;
else
ciag_tablica_kodow=kod_projektu_poczatkowy;
end;
end;
local ciag_tablica_kodow_zmienna_tymczasowa=table.concat(tablica_kodow,":");
ciag_tablica_kodow=ciag_tablica_kodow..(((ciag_tablica_kodow~="")and(ciag_tablica_kodow_zmienna_tymczasowa~=""))and ":" or "")..ciag_tablica_kodow_zmienna_tymczasowa;
else
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_koncowy;
kod_projektu_uzyskany_poczatkowy=kod_projektu_koncowy;
end;
local nazwy_modul=require("Module:Nazwy");
local czy_dyskusja=parametry_modul.CzyTak(dyskusja);
local pierwsza_litera=((czy_pelna_nazwa_strony_prawidlowa)and(not czy_dyskusja)) and mw.ustring.match(nazwa_strony_linku,"^(%a)") or nil;
local tabela_nazw={};
local nazwaprzestrzeni=czy_pelna_nazwa_strony_prawidlowa and ((not czy_dyskusja)and nazwy_modul["NAZWAPRZESTRZENI"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy},tabela_nazw)
or nazwy_modul["PRZESTRZEŃDYSKUSJI"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw)) or "";
local nazwastrony=czy_pelna_nazwa_strony_prawidlowa and nazwy_modul["NAZWASTRONY"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw) or "";
local linki_modul=require("Module:Linki");
local strona_inna_zmienna_tymczasowa,czy_strona_lokalna=linki_modul["PrzetłumaczZnakZastępczyNaStronę"](nazwaprzestrzeni,nazwastrony,kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
local czy_pelna_nazwa_strony_prawidlowa=((czy_pelna_nazwa_strony_prawidlowa)and(parametry_modul["CzyTakCiąg"](strona_inna_zmienna_tymczasowa) and not mw.ustring.match(strona_inna_zmienna_tymczasowa,"^[%s_:]+$")) or strona_inna_zmienna_tymczasowa);
local function TabelaNazw()tabela_nazw_temp={};tabela_nazw_temp.czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;return tabela_nazw_temp;end;
if(nazwastrony=="")then
local tabela_nazw=TabelaNazw();
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw)
local techniczne_modul=require("Module:Techniczne");
local nowa_nazwa_strony=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](nazwa_strony);
if(nazwa)then
local f,ile=mw.ustring.gsub(nazwa,"%%s",function()return nil;end);
if(ile==1)then
nazwa=mw.ustring.format(nazwa,nowa_nazwa_strony) or nil;
elseif(ile==2)then
local nowa_nazwa_przestrzeni=nazwy_modul[(czy_dyskusja) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw);
if(tabela_nazw.czy_aktualna_wiki)then
nowa_nazwa_przestrzeni=nazwy_modul.Np{nazwa=nowa_nazwa_przestrzeni,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nowa_nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=nowa_nazwa_przestrzeni,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or nowa_nazwa_przestrzeni;
end;
nazwa=mw.ustring.format(nazwa,nowa_nazwa_przestrzeni,nowa_nazwa_strony) or nil;
end;
end;
end;
strona_inna_zmienna_tymczasowa=strona_inna_zmienna_tymczasowa or nazwa_strony_linku;
local function NazwaStronyDyskusji(strona)
if(czy_dyskusja and czy_pelna_nazwa_strony_prawidlowa)then
return nazwy_modul["NAZWASTRONYDYSKUSJI"]({[1]=strona,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw());
end;
return strona;
end;
local strona_zmienna_tymczasowa=NazwaStronyDyskusji(strona_inna_zmienna_tymczasowa);
nazwa_strony_linku=((not czy_strona_lokalna or ((czy_dyskusja)and(nazwy_modul["NAZWAPRZESTRZENI"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw())~=nazwy_modul["NAZWAPRZESTRZENI"]({[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw()))))and strona_zmienna_tymczasowa or "");
nazwa_strony_linku=pierwsza_litera and mw.ustring.gsub(nazwa_strony_linku,"^["..mw.getContentLanguage():ucfirst(pierwsza_litera)..mw.getContentLanguage():lcfirst(pierwsza_litera).."]",pierwsza_litera) or nazwa_strony_linku;
czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
local function BiezacaWikiDwukropek()
local czy_biezace_wiki=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
local czy_wstawiac_dwukropek;
if(czy_biezace_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwaprzestrzeni==nazwy_np_modul.Category)or(nazwaprzestrzeni==nazwy_np_modul.File))then
czy_wstawiac_dwukropek=true;
end;
end;
return czy_wstawiac_dwukropek;
end;
local pudelko_modul=require("Module:Pudełko");
local jezykowe_projekty=wiki_interwiki_modul.tablica_lokalne_lingwistyczne_siostrzane;
local projekty_nie_en=jezykowe_projekty[kod_projektu_uzyskany_poczatkowy];
local czy_kod_jezyka_uzyskany_poczatkowy=(kod_jezyka_uzyskany_poczatkowy~=kod_jezyka_tego_projektu);
local czy_kod_projektu_uzyskany_poczatkowy=(kod_projektu_uzyskany_poczatkowy~=kod_projektu_tego_projektu);
local html_modul=require("Module:Html");
local function AdresLinku()
local kody_poczatkowe=(not projekty_nie_en and (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or(czy_kod_jezyka_uzyskany_poczatkowy and kod_jezyka_uzyskany_poczatkowy..":"..(czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "")));
local tablica_kodow=kody_poczatkowe..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "");
local czy_wstawiac_dwukropek=((tablica_kodow~="")and (projekty_nie_en and (czy_kod_jezyka_uzyskany_poczatkowy and ":" or "") or "") or (BiezacaWikiDwukropek() and ":" or ""));
local strona;local parametry;local naglowek;
if(czy_nazwa_strony_linku)then
strona=html_modul.EncodeElementyAdresuStrony(nazwa_strony_linku,nil,z_kodowaniem);
end;
if(czy_parametry_strony)then
parametry=html_modul.EncodeElementyAdresuStrony(parametry_strony,true,z_kodowaniem);
parametry="?"..parametry;
end;
if(czy_naglowek_strony)then
naglowek=html_modul.EncodeElementyAdresuStrony(naglowek_strony,nil,z_kodowaniem);
naglowek="#"..naglowek;
end;
local zmienna_linkowa=tablica_kodow..(strona or "") ..(parametry or "")..(naglowek or "");
return zmienna_linkowa, czy_wstawiac_dwukropek;
end;
nazwa=nazwa and mw.ustring.gsub(nazwa,"^[%s_]*","") or nil;
nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]*$","") or nil;
--nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]+"," ") or nil;
if(czy_ogolne and not czy_nazwa)then
if(parametry_modul.CzyTak(wyswietl))then
nazwa=strona_zmienna_tymczasowa;
czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
else
if((czy_pelna_nazwa_strony_prawidlowa)and(nazwastrony~=""))then
nazwa=nazwastrony;
else
nazwa=nazwy_modul["NAZWASTRONY"]{[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_uzyskany_poczatkowy,["kod projektu"]=kod_projektu_uzyskany_poczatkowy,};
end;
czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
end
end;
local zmienna_linkowa;
local aktywny;
if(not czy_wewnetrzny_z_fullurl)then
local czy_wstawiac_dwukropek;
zmienna_linkowa,czy_wstawiac_dwukropek=AdresLinku();
zmienna_linkowa=mw.ustring.gsub(zmienna_linkowa,"[%s_]+"," ");
local czy_za=parametry_modul.CzyTak(za);
if(czy_za or(nazwa and (nazwa~=zmienna_linkowa)))then
zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa..(czy_nazwa and "|"..nazwa..(czy_za and za or "") or (czy_za and ("|"..zmienna_linkowa..za) or "")).."]]"..(czy_po and po or "");
else
zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa.."]]"..(czy_po and po or "");
end
aktywny=false;
else
aktywny=true;
local serwer;
local projekt;
if(projekty_nie_en)then
for kod_specjalny_projektu,kod_projektu_interwiki in pairs(wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie)do
if(kod_projektu_uzyskany_poczatkowy==kod_projektu_interwiki)then
projekt=kod_specjalny_projektu;
end;
end;
end;
local function Protocol(kod_projektu)
local interwikimap=wiki_interwiki_modul.interwikimap;
local url=interwikimap[kod_projektu];
if(not url)then return "";end;
return mw.ustring.match(url,"^([^/]*)//");
end;
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local nazwy_np_modul=require("Module:Nazwy/Np");
local nazwy_modul=require("Module:Nazwy");
local czy_specjalna=(nazwaprzestrzeni==nazwy_np_modul.Special);
local ciag_tablica_kodow_zmienna_tymczasowa=mw.ustring.gsub(strona_zmienna_tymczasowa,"[%s_]+","_");
if(((projekt)and(czy_parametry_strony)and(czy_specjalna))or((projekt)and(wersja_linku=="w")))then
local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((not projekty_nie_en)and(czy_parametry_strony)and(czy_specjalna))or((not projekty_nie_en)and(wersja_linku=="w")))then
local techniczne_modul=require("Module:Techniczne");
local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
local serwer=mw.ustring.match(wiki_nie_jezykowe,"^([^/]*//[^/]*)")
local adres=serwer.."/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((projekt)and(czy_parametry_strony))or((projekt)and(wersja_linku=="wiki")))then
local strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"[_%s]+","_");
local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/wiki/"..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and " "..nazwa..(parametry_modul.CzyTak(za) and za or "") or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((not projekty_nie_en)and(czy_parametry_strony))or((not projekty_nie_en)and(wersja_linku=="wiki")))then
local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
local strona_zmienna_tymczasowa,_=mw.ustring.gsub(ciag_tablica_kodow_zmienna_tymczasowa,"[_%s]+","_");
strona_zmienna_tymczasowa=((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
strona_zmienna_tymczasowa=html_modul.EncodeHtml(strona_zmienna_tymczasowa);
strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"([%%])(%d+)","%%%%%2");
strona_zmienna_tymczasowa,_=mw.ustring.gsub(wiki_nie_jezykowe,"$1",strona_zmienna_tymczasowa);
local adres=strona_zmienna_tymczasowa..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
else
local pudelko_modul=require("Module:Pudełko");
zmienna_linkowa=(parametry_modul.CzyTak(klucz_projektu)and ((not(klucz_projektu==pudelko_modul["Klucz projektu tego projektu"]()))and (klucz_projektu..":")or "" )
or ((parametry_modul.CzyTak(kod_jezyka_uzyskany_poczatkowy)and ((not(kod_jezyka_uzyskany_poczatkowy==pudelko_modul["Kod języka tego projektu"]()))and(kod_jezyka_uzyskany_poczatkowy..":")or "") or "")..(parametry_modul.CzyTak(kod_projektu_uzyskany_poczatkowy)and ((not(kod_projektu_uzyskany_poczatkowy==pudelko_modul["Kod projektu tego projektu"]()))and(kod_projektu_uzyskany_poczatkowy..":")or "") or "")))
..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
local strona=(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
local adres=tostring(mw.uri.fullUrl(zmienna_linkowa))..strona;
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
end;
end;
return zmienna_linkowa,kod_jezyka_koncowy,kod_projektu_koncowy,strona_zmienna_tymczasowa,czy_naglowek_strony,aktywny;
else
local parametry_modul=require("Module:Parametry");
local html_modul=require("Module:Html");
local czy_nazwa;
if(not nazwa)then
nazwa=mw.ustring.match(nazwa_strony_linku,"//[^/]*/(.*)$");
nazwa=html_modul.DecodeHtml(nazwa);
czy_nazwa=parametry_modul.CzyTak(nazwa);
else
czy_nazwa=parametry_modul.CzyTak(nazwa);
end;
local czy_po=parametry_modul.CzyTak(po);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
nazwa_strony_linku=mw.ustring.gsub(nazwa_strony_linku,"[%s_]+","_");
nazwa_strony_linku=mw.ustring.gsub(nazwa_strony_linku,"//([^/]*)/(.*)$", function(s1,s2)return "//"..s1.."/"..html_modul.EncodeHtml(s2);end)
local adres=nazwa_strony_linku..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")
..(czy_naglowek_strony and "#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony)) or "");
local zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
return zmienna_linkowa,nil,nil,nazwa_strony_linku,czy_naglowek_strony,false;
end;
end;
function p.TworzLinkBezPrzetwarzania(klucz_projektu,kod_jezyka,kod_projektu,strona,naglowek,nazwa,za,po,z_kodowaniem)
local parametry_modul=require("Module:Parametry");
local adres=(parametry_modul.CzyTak(klucz_projektu)and (klucz_projektu..":")
or ((parametry_modul.CzyTak(kod_jezyka)and (kod_jezyka..":") or "")..(parametry_modul.CzyTak(kod_projektu)and (kod_projektu..":") or "")))
..strona..(parametry_modul.CzyTak(naglowek) and ("#"..naglowek) or "");
local html_modul=require("Module:Html");
adres=html_modul.AdresProjektuEncodeHtml(adres,z_kodowaniem);
local wartosc="[[:"..adres..(parametry_modul.CzyTak(nazwa) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..(po and po or "");
return wartosc;
end;
function p.LinkOgromne(spanramka,link)
local max_len_link=0;
local iter=mw.ustring.gmatch(link,"(%a+)");
for value in iter do max_len_link=math.max(max_len_link,#value);end;
if(max_len_link>=20)then spanramka:addClass("link-ogromne");end;
end;
function p.LinkWikidane(link,klucz_projektu,kod_jezyka,kod_projektu,strona,czy_parametry,czy_naglowek,czy_url,aktywny,__FUNKCJA_KLASY_DODATKOWE)
local wiki_modul=require("Module:Wiki");
local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["strona"]=strona,["nagłówek"]=czy_naglowek,["url"]=czy_url,["parametry"]=czy_parametry,["aktywny"]=aktywny,};
local spanramka=mw.html.create('span');
spanramka:addClass(klasa);
spanramka:addClass("link");
----
if(__FUNKCJA_KLASY_DODATKOWE)then __FUNKCJA_KLASY_DODATKOWE(spanramka,link);end;
----
spanramka:wikitext(link);
return tostring(spanramka:allDone());
end;
function p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem)
local parametry_modul=require("Module:Parametry");
parametry_strony=czy_wewnetrzny_z_fullurl and parametry_strony or nil;
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local html_modul=require("Module:Html");
nazwa_strony_linku=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_strony_linku);
local wartosc_parent,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_naglowek_strony,aktywny=p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,z_kodowaniem);
if(parametry_modul.CzyTak(bez_znacznikow))then return wartosc_parent;end;
return p.LinkWikidane(wartosc_parent,nil,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_parametry_strony,czy_naglowek_strony,czy_url,aktywny,p.LinkOgromne);
end;
function p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,naglowek,czy_link_url,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,tabela_nazw,__FUNKCJA)
local nowa_nazwa_strony_linku;
local czy_kreska_dolna;local hash;local prze_nie_main;
local czy_strona_lokalna;
if(not czy_analiza)then
czy_kreska_dolna=mw.ustring.match(nazwa_strony_linku,"^[%s_:]*$") or mw.ustring.match(nazwa_strony_linku,":[%s_]*$");
hash=(not czy_kreska_dolna)and ((not czy_link_url) and mw.ustring.match(nazwa_strony_linku,"^[_%s]*#(.*)$") or nil) or (((czy_kreska_dolna)and(czy_link_url) and require("Module:Parametry").CzyTak(naglowek)) and naglowek or nil);
if((czy_kreska_dolna)or(hash))then
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local miano_przestrzeni_nazw_maly=((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~=""))and mw.ustring.lower(miano_przestrzeni_nazw) or miano_przestrzeni_nazw;
if((not miano_przestrzeni_nazw_maly)or((miano_przestrzeni_nazw_maly=="")or(miano_przestrzeni_nazw_maly=="(main)")or(miano_przestrzeni_nazw_maly=="(główna)")))then
miano_przestrzeni_nazw=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_strony_linku,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,},tabela_nazw);
end;
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({nazwa=nazwa_strony_linku,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,},tabela_nazw);
if(nazwa_strony=="")then
nowa_nazwa_strony_linku,czy_strona_lokalna=p["PrzetłumaczZnakZastępczyNaStronę"](miano_przestrzeni_nazw or "","",kod_jezyka,kod_projektu,hash);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
nowa_nazwa_strony_linku=__FUNKCJA(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main);
return nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
end;
p["GanerujSkładoweURL"] = function(args)
local klucz_projektu_do_projektu_linku;
local kod_jezyka_do_projektu_linku;
local kod_projektu_do_projektu_linku;
local miano_przestrzeni_nazw;
local nazwa_strony_linku=args["strona"] or args["s"] or "_";
local html_modul=require("Module:Html");
nazwa_strony_linku=nazwa_strony_linku and html_modul.DecodeHtml(nazwa_strony_linku) or nil;
local parametry_modul=require("Module:Parametry");
local w=args["wersja linku"] or args["w"];
local tab_w={
["w"]=true,
["wiki"]=true,
};
local wersja_linku=parametry_modul.CzyTak(w) and (tab_w[w] and w or nil) or "";
local _;
local strony_modul=require("Module:Strony");
local czy_url=strony_modul.SprawdzanieURL(nazwa_strony_linku);
local parametry_strony;local naglowek_strony;local nazwa;local po;local po;local za;
nazwa=args["nazwa"] or args["n"];
po=args["po"] or args["p"];
za=args["za"] or args["z"];
local function DaneStrony(nazwa_strony_linku_parametr,adres)
if(parametry_modul.CzyTak(nazwa_strony_linku_parametr))then
if(mw.ustring.match(nazwa_strony_linku_parametr,"^/wiki/"))then
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/wiki/","");
local tabela_nazw_adresu={};
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
elseif(mw.ustring.match(nazwa_strony_linku_parametr,"^/w/"))then
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/w/","");
local tabela_nazw_adresu={};
local html_modul=require("Module:Html");
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
local nazwa_strony_jednostki,parametry_strony_jednostki=html_modul["NazwaStronyZParametrówStronyAdresu"](parametry_strony,true);
parametry_strony=parametry_strony_jednostki or parametry_strony;
nazwa_strony_linku_parametr=nazwa_strony_jednostki or nazwa_strony_linku_parametr;
else
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/(.*)$","%1");
local tabela_nazw_adresu={};
local html_modul=require("Module:Html");
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
end;
else
if((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku))or(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)))then
if((not adres)or(mw.ustring.match(adres,"/$1$")))then
local pudelko_modul=require("Module:Pudełko");
nazwa_strony_linku_parametr=pudelko_modul["Nazwa strony głównej projektu 2"]{[1]=kod_jezyka_do_projektu_linku,[2]=kod_projektu_do_projektu_linku,} or "";
end;
end;
end;
parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or (args["parametry"] or args["c"]);
naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or (args["nagłówek"] or args["g"]);
local biezaca=args["bieżąca"] or args["b"];
local czy_biezaca=parametry_modul.CzyTak(biezaca);
nazwa=nazwa or (czy_biezaca and naglowek_strony or nil);
--nazwa=args["nazwa"] or args["n"];
local klucz_projektu_do_projektu_linku_temp=args["klucz projektu"] or args["k"];
klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(klucz_projektu_do_projektu_linku_temp) and (klucz_projektu_do_projektu_linku_temp) or klucz_projektu_do_projektu_linku;
local kod_jezyka_do_projektu_linku_temp=args["kod języka"] or args["kj"];
kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(kod_jezyka_do_projektu_linku_temp) and (kod_jezyka_do_projektu_linku_temp) or kod_jezyka_do_projektu_linku;
local kod_projektu_do_projektu_linku_temp=args["kod projektu"] or args["kp"];
kod_projektu_do_projektu_linku=parametry_modul.CzyTak(kod_projektu_do_projektu_linku_temp) and (kod_projektu_do_projektu_linku_temp) or kod_projektu_do_projektu_linku;
nazwa_strony_linku=nazwa_strony_linku_parametr;
czy_url=false;
end;
if(not czy_url)then
local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"] or args["f"];
nazwa_strony_linku=parametry_modul["CzyTakCiąg"](miano_przestrzeni_nazw) and miano_przestrzeni_nazw..":"..nazwa_strony_linku or nazwa_strony_linku;
DaneStrony(nazwa_strony_linku);
else
local html_modul=require("Module:Html");
local nazwa_strony_bez_protokolu=html_modul["UrlBezProtokołu"](nazwa_strony_linku);
local serwer,nazwa_strony=html_modul["URLStrona"](nazwa_strony_bez_protokolu);
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local function SerwerWiki(serwer)
local kod_jezyka_zmienna_tymczasowa,kod_specjalny_projektu=mw.ustring.match(serwer,"^(%w+)%.(%w+)%.org");
if((not kod_jezyka_zmienna_tymczasowa)or(not kod_specjalny_projektu))then
kod_jezyka_zmienna_tymczasowa,kod_specjalny_projektu=mw.ustring.match(serwer,"^(%w+)%.[mM]%.(%w+)%.org");
end;
local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;
local kod_projektu=interwikisiostrzaneangielskie[kod_specjalny_projektu];
local kod_jezyka=kod_jezyka_zmienna_tymczasowa and (mw.language.isKnownLanguageTag(kod_jezyka_zmienna_tymczasowa) and kod_jezyka_zmienna_tymczasowa or nil) or nil;
return kod_jezyka,kod_projektu;
end;
local function JezykoweLubAngielskieProjekty(serwer_portalu)
local kod_jezyka,kod_projektu=SerwerWiki(serwer_portalu);
if(kod_jezyka and kod_projektu)then
kod_jezyka_do_projektu_linku=kod_jezyka;
kod_projektu_do_projektu_linku=kod_projektu;
klucz_projektu_do_projektu_linku=nil;
DaneStrony(nazwa_strony);
return true;
else
local pozajezykoweprojektysiostrzane=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane;
local techniczne_modul=require("Module:Techniczne");
for kod, url in pairs(pozajezykoweprojektysiostrzane)do
local adres=html_modul["UrlBezProtokołu"](url);
local serwer_portalu,nazwa_strony_portalu=html_modul["URLStrona"](adres);
if(serwer_portalu)then
if((serwer_portalu==serwer)and((mw.ustring.match(nazwa_strony_portalu,"%$1"))or(nazwa_strony==nazwa_strony_portalu)))then
kod_jezyka_do_projektu_linku=kod_jezyka or "en";
kod_projektu_do_projektu_linku=--[[kod_projektu or]] kod;
local nazwa_strony_spreparowana=nil;
if(not mw.ustring.match(adres,"/wiki/%$1$"))then
if(mw.ustring.match(url,"[:/]$1$"))then
local url_wzor=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](adres);
url_wzor=mw.ustring.gsub(url_wzor,"(%%$1)$","(.-)");
nazwa_strony_spreparowana=mw.ustring.match(nazwa_strony_bez_protokolu,"^"..url_wzor.."$");
if(not nazwa_strony_spreparowana)then
return false;
end;
end;
end;
DaneStrony(nazwa_strony_spreparowana or nazwa_strony,adres);
return true;
end;
end;
end;
end;
end;
local function __FUNKCJA()
if(mw.ustring.match(serwer,"^upload%.wikimedia%.org$"))then
DaneStrony(nazwa_strony);
nazwa_strony=nazwa_strony_linku;
nazwa_strony_linku="Media:"..mw.ustring.match(nazwa_strony,"([^/]*)$");
local kod_projektu_do_projektu_linku2,kod_jezyka_do_projektu_linku2=mw.ustring.match(nazwa_strony,"^([^/]*)/([^/]*)/.*$");
kod_jezyka_do_projektu_linku=kod_jezyka_do_projektu_linku or kod_jezyka_do_projektu_linku2;
kod_projektu_do_projektu_linku=kod_projektu_do_projektu_linku or kod_projektu_do_projektu_linku2;
czy_url=false;
else
local juz_tak=JezykoweLubAngielskieProjekty(serwer);
if(not juz_tak)then
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or (args["nagłówek"] or args["g"]);
local biezaca=args["bieżąca"] or args["b"];
local czy_biezaca=parametry_modul.CzyTak(biezaca);
nazwa=nazwa or (czy_biezaca and naglowek_strony or nil);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or (args["parametry"] or args["c"]);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
end;
end;
end;
__FUNKCJA();
end;
local czy_wewnetrzny_z_fullurl;
if(not parametry_modul.CzyTak(parametry_strony))then
if(wersja_linku=="")then
if((klucz_projektu_do_projektu_linku)or(kod_jezyka_do_projektu_linku)or(kod_projektu_do_projektu_linku))then
czy_wewnetrzny_z_fullurl=false;
elseif(not czy_url)then
czy_wewnetrzny_z_fullurl=false;
else
czy_wewnetrzny_z_fullurl=true;
end;
else
czy_wewnetrzny_z_fullurl=true;
end;
else
czy_wewnetrzny_z_fullurl=true;
end;
return klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url;
end;
p["Link wewnętrzny"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local klucz_projektu_do_projektu_linku=args["klucz projektu"] or args["k"];
local kod_jezyka_do_projektu_linku=args["kod języka"] or args["kj"];
local kod_projektu_do_projektu_linku=args["kod projektu"] or args["kp"];
local nazwa_strony_linku=args["strona"] or args["s"] or "_";
local nazwa=args["nazwa"] or args["n"];
local czy_nazwa=parametry_modul.CzyTak(nazwa);
nazwa=czy_nazwa and nazwa or nil;
local po=args["po"] or args["p"];
local za=args["za"] or args["z"];
local naglowek_strony=args["nagłówek"] or args["g"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"] or args["bz"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"] or args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]or args["bk"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"] or args["u"]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"] or args["a"]);
local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
if(not czy_analiza)then
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,{},function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
return nowa_nazwa_strony_linku;
end);
nazwa=czy_nazwa and nazwa or (hash and ("#"..hash) or nil);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((not czy_naglowek)and(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$")))) or nil);
if(not bez_przetwarzania)then
return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_naglowek and naglowek_strony or hash,nazwa,za,po,nil,nil,nil,nil,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
else
local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),czy_naglowek and naglowek_strony or hash,nazwa,za,po,z_kodowaniem);
if(not bez_znacznikow)then
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,nil,czy_naglowek_strony or hash or mw.ustring.match(nazwa_strony_linku,"#"),nil,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
p["LinkURL"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local linki_modul=require("Module:Linki");
local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]) or parametry_modul.CzyTak(args["a"]);
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]) or parametry_modul.CzyTak(args["bz"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or parametry_modul.CzyTak(args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]) or parametry_modul.CzyTak(args["bk"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"]) or parametry_modul.CzyTak(args["u"]);
local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
if((not czy_analiza)and(not czy_url))then
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,{},function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
return nowa_nazwa_strony_linku;
end);
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or (hash and ("#"..hash) or nil);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$"))) or nil);
local function Bez_przetwarzania_lub_bez_znaczkow()
if(parametry_modul.CzyTak(bez_przetwarzania))then
local bez_znacznikow=parametry_modul.CzyTak(bez_znacznikow);
local czy_parametry=parametry_modul.CzyTak(parametry_strony);
local wartosc=((not czy_url)and((parametry_modul.CzyTak(klucz_projektu_do_projektu_linku)and (klucz_projektu_do_projektu_linku..":")
or ((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku)and (kod_jezyka_do_projektu_linku..":") or "")..(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)and (kod_projektu_do_projektu_linku..":") or "")))..nowa_nazwa_strony_linku) or nil);
local link;
local po_linku=parametry_modul.CzyTak(po) and po or "";
if((not czy_url)and((czy_parametry)or(parametry_modul.CzyTak(wersja_linku))))then
local adres=tostring(mw.uri.fullUrl(wartosc,""));
adres=((not parametry_modul.CzyTak(wersja_linku))or(wersja_linku=="wiki")) and adres or mw.ustring.gsub(adres,"/wiki/","/w/index.php?title=",1);
local html_modul=require("Module:Html");
local parametry_i_naglowek=((czy_parametry)and ((((wersja_linku=="w")) and "&" or "?")..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
adres=adres..parametry_i_naglowek;
link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
elseif(czy_url)then
local html_modul=require("Module:Html");
local parametry_i_naglowek=((czy_parametry)and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
local adres=nowa_nazwa_strony_linku..parametry_i_naglowek;
link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
else
local naglowek=(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "");
local adres=wartosc..naglowek;
link="[[:"..adres..((parametry_modul.CzyTak(nazwa)) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..po_linku;
end;
if not bez_znacznikow then
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_parametry_strony,czy_naglowek_strony,czy_url,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
local wynik=Bez_przetwarzania_lub_bez_znaczkow();if(wynik)then return wynik;end;
return linki_modul.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
end;
function p.UzyskajKodWikiLinku(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local linki_modul=require("Module:Linki");
local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local pudelko_modul=require("Module:Pudełko");
kod_jezyka_koncowy=parametry_modul.CzyTak(kod_jezyka_koncowy) and kod_jezyka_koncowy or pudelko_modul["Kod języka tego projektu"]();
kod_projektu_koncowy=parametry_modul.CzyTak(kod_projektu_koncowy) and kod_projektu_koncowy or pudelko_modul["Kod projektu tego projektu"]();
local aktywny;
local czy_nazwa=parametry_modul.CzyTak(nazwa_strony_linku);
if(not czy_nazwa or not mw.ustring.match(nazwa_strony_linku,"_+"))then
if((not czy_nazwa)and((not kod_jezyka_koncowy)or(kod_jezyka_koncowy==pudelko_modul["Kod języka tego projektu"]()))and((not kod_projektu_koncowy)or(kod_projektu_koncowy==pudelko_modul["Kod projektu tego projektu"]())))then
if((parametry_modul.CzyTak(naglowek_strony)) or (not args["strona"] or args["strona"]=="") or ((args["strona"])and(mw.ustring.match(args["strona"],"^[_%s]*#[_%s]*$"))or(nil)))then
aktywny=false;
local nazwy_modul=require("Module:Nazwy");
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]();
end;
else
aktywny=true;
end;
else
aktywny=true;
local pudelko_modul=require("Module:Pudełko");
nazwa_strony_linku=pudelko_modul["Strona główna tego projektu"]();
end;
local nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy);
---
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_pusta_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
if(not czy_pusta_nazwa_strony_linku)then
local linki_modul=require("Module:Linki");
nazwa_strony_linku,_=linki_modul["PrzetłumaczZnakZastępczyNaStronę"]("","",kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
end;
----
local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=nil,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["strona"]=nazwa_strony_linku,["nagłówek"]=czy_naglowek_strony,["url"]=czy_url,["parametry"]=czy_parametry_strony,["aktywny"]=aktywny,};
return klasa;
end;
p["LinkOgólne"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"] or args["f"];
local czy_dyskusja=parametry_modul.CzyTak(args["dyskusja"] or args["d"]);
local klucz_projektu_do_projektu_linku=args["klucz projektu"] or args["k"];
local kod_jezyka_do_projektu_linku=args["kod języka"] or args["kj"];
local kod_projektu_do_projektu_linku=args["kod projektu"] or args["kp"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]) or parametry_modul.CzyTak(args["bz"]);
local wyswietl_miano_przestrzeni_nazw=args["wyświetl miano przestrzeni nazw"] or args["wyświetl"] or args["w"];
local nazwa_strony_linku=args[1] or "_";
local czy_nazwa=parametry_modul.CzyTak(args[2]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]) or parametry_modul.CzyTak(args["a"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"]) or parametry_modul.CzyTak(args["u"]);
local nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
local czy_niepusta_nazwa_przestrzeni_nazw;
local nazwy_modul=require("Module:Nazwy");
local czy_aktualna_wiki;
if(not czy_analiza)then
local tabela_nazw={};
miano_przestrzeni_nazw=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or "";
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,nil,nil,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,tabela_nazw,function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
if(czy_dyskusja)then
local tabela_nazw_temp={};tabela_nazw_temp.czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;
nowa_nazwa_strony_linku=nazwy_modul["NAZWASTRONYDYSKUSJI"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["bez zmiany adresu"]="tak",},tabela_nazw_temp);
end;
return nowa_nazwa_strony_linku;
end);
czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
local tabela_nazw={};tabela_nazw.czy_aktualna_wiki=czy_aktualna_wiki;
local czy_biezaca;
local czy_nazwa_strony_pusta;
local wiki_modul=require("Module:Wiki");
if((czy_dyskusja)or(czy_analiza))then
czy_nazwa_strony_pusta=mw.ustring.match(nazwa_strony_linku,"^[%s_:]*$");
if((not czy_nazwa_strony_pusta)or((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~="")))then
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
local nazwy_modul=require("Module:Nazwy");
if(czy_biezaca)then
miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"](nowa_nazwa_strony_linku,tabela_nazw);
else
miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
end;
czy_niepusta_nazwa_przestrzeni_nazw=parametry_modul.CzyTak(miano_przestrzeni_nazw);
end;
elseif(hash or czy_kreska_dolna)then
czy_niepusta_nazwa_przestrzeni_nazw=true;
elseif(not prze_nie_main)then
miano_przestrzeni_nazw="";
czy_niepusta_nazwa_przestrzeni_nazw=false;
else
miano_przestrzeni_nazw=prze_nie_main;
czy_niepusta_nazwa_przestrzeni_nazw=true;
end;
local techniczne_modul=require("Module:Techniczne");
local czy_wyswietl_miano_przestrzeni_nazw=parametry_modul.CzyTak(wyswietl_miano_przestrzeni_nazw);
local function NazwaLinkuDoStrony()
local function CzyPrzestrzen(miano_przestrzeni_nazw)
local czy_biezaca;
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
local miano_przestrzeni_nazw;
if(czy_biezaca)then
miano_przestrzeni_nazw=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
miano_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or miano_przestrzeni_nazw;
end;
return miano_przestrzeni_nazw;
end;
local function Nazwa2(nazwa,czy_wyswietl_miano_przestrzeni_nazw)
if(czy_wyswietl_miano_przestrzeni_nazw)then
return nazwa;
else
nazwa=nazwy_modul["NAZWASTRONY"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
if(tabela_nazw.m)then
nazwa=mw.getContentLanguage():lcfirst(nazwa);
end;
return nazwa;
end;
end;
local function Nazwa(nazwa)
local ile;local ile2=0;
if((czy_analiza) and (not bez_przetwarzania))then
nazwa=techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa) or nazwa;
nazwa,ile=mw.ustring.gsub(nazwa,"^[%s_:]*(.+)[%s_:]*:[%s_]*$",function(nazwaprzestrzeni)
local nazwa_przestrzeni=CzyPrzestrzen(nazwaprzestrzeni)
if(nazwa_przestrzeni)then
return nazwa_przestrzeni..":".."%s";
end;
ile2=ile+1;
end);
else
nazwa,ile=mw.ustring.gsub(nazwa,"^[%s_:]*(.+)[%s_:]*:[%s_]*$",function(nazwaprzestrzeni)
local nazwa_przestrzeni=CzyPrzestrzen(nazwaprzestrzeni)
if(nazwa_przestrzeni)then
return nowa_nazwa_strony_linku;
end;
ile2=ile2+1;
end);
end;
if(ile-ile2==0)then
return Nazwa2(nazwa,czy_wyswietl_miano_przestrzeni_nazw);
else
return nazwa;
end;
end;
local function NazwaFormat(wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta)
if((not czy_analiza)or(bez_przetwarzania))then return nil;end;
if(czy_wyswietl_miano_przestrzeni_nazw)then
if(czy_nazwa_strony_pusta)then
if(not miano_przestrzeni_nazw)then
return "%s:%s";
else
return miano_przestrzeni_nazw..((miano_przestrzeni_nazw~="") and ":" or "").."%s";
end;
end;
else
if(czy_nazwa_strony_pusta)then
return "%s";
end;
end;
end;
if(czy_niepusta_nazwa_przestrzeni_nazw)then
if(czy_wyswietl_miano_przestrzeni_nazw)then
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
nazwa_strony_linku=((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa_strony_linku) or nazwa_strony_linku;
if((czy_nazwa_strony_pusta)and(czy_analiza)and(not bez_przetwarzania))then nazwa_strony_linku="%s";end;
----
local aliases;
local alias=args["alias miana przestrzeni nazw"] or args["alias"] or args["i"];
local czy_alias=parametry_modul.CzyTak(alias);
if(czy_alias)then
if((not czy_dyskusja)and(not czy_analiza))then
local wiki_modul=require("Module:Wiki");
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
end;
if(czy_biezaca)then
local uchwyt=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak"}
if(uchwyt)then
aliases=uchwyt.aliases;
--miano_przestrzeni_nazw=uchwyt.name;
end;
else
local uchwyt=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(uchwyt)then
if(parametry_modul.TypeTable(uchwyt))then
aliases=uchwyt.aliasy;
--miano_przestrzeni_nazw=uchwyt[1];
else
--miano_przestrzeni_nazw=uchwyt;
aliases={};
end;
end;
end;
end;
----
if((czy_alias)and(parametry_modul.CzyTak(aliases)))then
if(parametry_modul["CzySąElementyNumerowaneTablicy"](aliases))then
alias=mw.getContentLanguage():uc(alias);
for _,value in pairs(aliases)do
if((mw.getContentLanguage():uc(value))==alias)then
return alias..":"..nazwa_strony_linku;
end;
end;
end;
end;
if(not miano_przestrzeni_nazw)then return nil;end;
local miano_przestrzeni_nazw_zmienna_tymczasowa;
if(czy_biezaca)then
miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
nazwa_strony_linku=((miano_przestrzeni_nazw_zmienna_tymczasowa)and(not czy_nazwa_strony_pusta)and(not prze_nie_main)) and nazwy_modul["NAZWASTRONY"](nowa_nazwa_strony_linku,tabela_nazw) or nazwa_strony_linku;
else
miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or miano_przestrzeni_nazw;
nazwa_strony_linku=((miano_przestrzeni_nazw_zmienna_tymczasowa)and(not czy_nazwa_strony_pusta)and(not prze_nie_main)) and nazwy_modul["NAZWASTRONY"]{nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,tabela_nazw} or nazwa_strony_linku;
end;
if(not miano_przestrzeni_nazw_zmienna_tymczasowa)then return nil;end;
return ((miano_przestrzeni_nazw_zmienna_tymczasowa~="") and (miano_przestrzeni_nazw_zmienna_tymczasowa..":") or "")..((((czy_analiza)and(not bez_przetwarzania))and(nazwa_strony_linku=="")) and "%s" or nazwa_strony_linku);
else
local nazwa=hash and("#"..hash) or nowa_nazwa_strony_linku;
nazwa=((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa) or nazwa;
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
else
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
if((czy_nazwa_strony_pusta)and((czy_analiza)and(not bez_przetwarzania)))then
return "%s";
end;
local nazwa=nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
else
if((czy_nazwa_strony_pusta)and((czy_analiza)and(not bez_przetwarzania)))then
return "%s";
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa=hash and ("#"..hash) or nazwy_modul["NAZWASTRONY"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
end;
else
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
local wynik_nazwa=NazwaFormat(czy_wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta);
if(wynik_nazwa)then return wynik_nazwa;end;
local nazwa=nowa_nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
else
if(czy_nazwa_strony_pusta)then
local wynik_nazwa=NazwaFormat(czy_wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta);
if(wynik_nazwa)then return wynik_nazwa;end;
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa=hash and("#"..hash) or nowa_nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
end;
end;
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or parametry_modul.CzyTak(args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]) or parametry_modul.CzyTak(args["bk"]);
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~=""))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$"))))) or nil);
local nazwa=czy_nazwa and (args[2] and (((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](args[2]) or args[2]) or nil) or NazwaLinkuDoStrony();
local po=args["po"] or args["p"];
local za=args["za"] or args["z"];
if(not bez_przetwarzania)then
return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,hash,nazwa,za,po,false,nil,nil,nil,true,wyswietl_miano_przestrzeni_nazw,czy_dyskusja,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
else
local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),hash,nazwa,za,po,z_kodowaniem);
if(not bez_znacznikow)then
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,nil,hash or ((not czy_kreska_dolna) and mw.ustring.match(nazwa_strony_linku,"#") or nil),nil,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
function p.ZamianaKategoriiNaLinki(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local tekst=PobierzParametr("tekst") or PobierzParametr(1);
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=wm.loadData("Module:Nazwy/Np");
local kategoria_polska=nazwy_np_modul.Category;
local wzor_kategorii_polskiej=techniczne_modul["WzórDanejPrzestrzeniNazw"](kategoria_polska)
tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
return tekst;
end;
return p;
jg4imaki185ljzhfnwrz0hv7b17bk86
546586
546585
2026-06-13T15:16:17Z
Persino
2851
546586
Scribunto
text/plain
local p={};
p["PrzetłumaczZnakZastępczyNaStronę"]=function(nazwa_przestrzeni_nazw,nazwa_strony,kod_jezyka,kod_projektu,hash)
local czy_pusta_nazwa_przestrzeni_nazw=mw.ustring.match(nazwa_przestrzeni_nazw,"^([%s_:]*)$");
local czy_pusta_nazwa_strony=mw.ustring.match(nazwa_strony,"^([%s_:]*)#.*$") or mw.ustring.match(nazwa_strony,"^([%s_:]*)$");
if(not czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony)then
local tabglownestronyprojektu=mw.loadData("Module:Nazwy/przestrzenie").tabnp;
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"](nazwa_przestrzeni_nazw);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(not czy_biezaca)then
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["przedmiotowa"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
local nazwa_bazowa_strony=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
if(nazwa_bazowa_strony)then
local nazwa_strony_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
["nazwa strony"]=nazwa_bazowa_strony,
["kod języka"]=kod_jezyka,
["kod projektu"]=kod_projektu,
["kod języka bazy"]="pl",
["kod projektu bazy"]=(nazwa_kanoniczna_nazwy_przestrzeni_nazw~="Project")and "w" or "b",
}
if(nazwa_strony_na_innym_projekcie)then
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({["nazwa"]=nazwa_strony_na_innym_projekcie,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu});
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
else
return nazwa_bazowa_strony,false;
end;
end;
else
local nazwy_modul=require("Module:Nazwy");
if(hash)then
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};
local prze_bierzacej_strony=nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazw);
local nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,};
if(nazwa_przestrzeni_nazw==prze_bierzacej_strony)then
return nazwy_modul["PEŁNANAZWASTRONY"](nil,tabela_nazw),true;
end;
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.Np{["nazwa"]=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["przedmiotowa"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak"}
local nazwa_strony_glownych_stron_projektu=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
if(nazwa_strony_glownych_stron_projektu)then
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({["nazwa"]=nazwa_strony_glownych_stron_projektu});
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
end;
end;
elseif czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
if((czy_biezaca)and(hash))then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"](),true;
end;
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local tablokalnesiostrzane=wiki_interwiki_modul.tablica_lokalne_siostrzane;
if(tablokalnesiostrzane[kod_projektu])then
local wiki_modul=require("Module:Wiki");
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_tego_projektu=pudelko_modul["Strona główna tego projektu"]();
if(not czy_biezaca)then
local nazwa_strony_glownej_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
["nazwa strony"]=strona_glowna_tego_projektu,
["kod języka"]=kod_jezyka,
["kod projektu"]=kod_projektu,
}
if(nazwa_strony_glownej_na_innym_projekcie)then
return nazwa_strony_glownej_na_innym_projekcie,false;
end;
else
return strona_glowna_tego_projektu,false;
end;
end;
end;
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
end;
p["PoprawLinki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr(1);
local z_kodowaniem=PobierzParametr("uri") or PobierzParametr(2);
z_kodowaniem=parametry_modul.CzyTak(z_kodowaniem);
local function pojedynczy_link(link)
local strona=mw.ustring.match(link,"^%[%[:?([^%[%]|]*)");
local nazwa=mw.ustring.match(link,"^%[%[[^|]*|([^%[%]]*)%]%]$") or strona;
local z_kodowaniem_temp=(mw.ustring.match(strona,"%%%x%x")and true or false) or z_kodowaniem;
link=p.TworzenieWikiLinku(nil,nil,nil,strona,nil,nazwa,nil,nil,false,nil,nil,nil,nil,nil,nil,nil,z_kodowaniem_temp);
return link;
end;
return mw.ustring.gsub(argument_pierwszy,"(%[%[[^%[%]]*%]%])",function(s)return pojedynczy_link(s);end);
end;
p["WydobądźLinki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local wartosc,_=PobierzParametr(1);
local z_kodowaniem=PobierzParametr("uri") or PobierzParametr(2);
local specjalne_modul=require("Module:Specjalne");
wartosc=specjalne_modul["UsuńKomentarze"](wartosc);
wartosc=specjalne_modul["UsuńSzablonyStylów"](wartosc);
wartosc=specjalne_modul["UsuńZnaczniki"](wartosc);
wartosc=specjalne_modul["UsuńKategorie"](wartosc);
wartosc=specjalne_modul["UsuńWywołaniaPlików"](wartosc);
wartosc=specjalne_modul["UsuńInterwiki"](wartosc);
local linki_modul=require("Module:Linki");
wartosc=linki_modul["PoprawLinki"]{wartosc,z_kodowaniem};
return wartosc;
end;
function p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,z_kodowaniem)
if(not czy_url)then
local parametry_modul=require("Module:Parametry");
local czy_klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(klucz_projektu_do_projektu_linku);
local czy_kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(kod_jezyka_do_projektu_linku);
local czy_kod_projektu_do_projektu_linku=parametry_modul.CzyTak(kod_projektu_do_projektu_linku);
local czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
local czy_po=parametry_modul.CzyTak(po);
if(not czy_naglowek_strony)then
if(czy_nazwa_strony_linku)then
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local strona_zmienna_tymczasowa=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu)
local naglowek_zmienna_tymczasowa=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
if(strona_zmienna_tymczasowa and naglowek_zmienna_tymczasowa)then
nazwa_strony_linku=strona_zmienna_tymczasowa;
naglowek_zmienna_tymczasowa=parametry_modul["Odstępy"]{[1]=naglowek_zmienna_tymczasowa,[2]="tak",[3]="tak",};
if(parametry_modul.CzyTak(naglowek_zmienna_tymczasowa))then
naglowek_strony=naglowek_zmienna_tymczasowa;
czy_naglowek_strony=true;
end;
end;
end;
else
naglowek_strony=parametry_modul["Odstępy"]{[1]=naglowek_strony,[2]="tak",[3]="tak",};
if(not parametry_modul.CzyTak(naglowek_strony))then
czy_naglowek_strony=false;
naglowek_strony=nil;
end;
end;
---
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local interwikimap=wiki_interwiki_modul.interwikimap;
local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;
local wiki_modul=require("Module:Wiki");
local kod_jezyka_uzyskany_poczatkowy,kod_projektu_uzyskany_poczatkowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(not kod_jezyka_uzyskany_poczatkowy or not kod_projektu_uzyskany_poczatkowy)then
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_uzyskany_poczatkowy or kod_jezyka_tego_projektu;
kod_projektu_uzyskany_poczatkowy=kod_projektu_uzyskany_poczatkowy or kod_projektu_tego_projektu;
end;
local czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
local tablica_kodow={};
local kod_jezyka_koncowy;local kod_projektu_koncowy;
---------------------------------------------------------------------
kod_jezyka_koncowy=kod_jezyka_uzyskany_poczatkowy;
kod_projektu_koncowy=kod_projektu_uzyskany_poczatkowy;
---------------------------------------------------------------------
local kod_jezyka_poczatkowy,kod_projektu_poczatkowy;
if(czy_pelna_nazwa_strony_prawidlowa)then
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,kod_jezyka_poczatkowy,kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,bez_przetwarzania_kodow and tablica_kodow or nil);
czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
end;
----
if(not nazwa)then
nazwa=nazwa_strony_linku..(czy_naglowek_strony and ("#"..naglowek_strony) or "");
nazwa=mw.ustring.gsub(nazwa,"[%s_]+"," ");
czy_nazwa=parametry_modul.CzyTak(nazwa);
end
local ciag_tablica_kodow="";
if(bez_przetwarzania_kodow)then
if(kod_jezyka_poczatkowy)then
if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_poczatkowy;
else
ciag_tablica_kodow=kod_jezyka_poczatkowy;
end;
elseif(kod_projektu_poczatkowy)then
if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
kod_projektu_uzyskany_poczatkowy=kod_projektu_poczatkowy;
else
ciag_tablica_kodow=kod_projektu_poczatkowy;
end;
end;
local ciag_tablica_kodow_zmienna_tymczasowa=table.concat(tablica_kodow,":");
ciag_tablica_kodow=ciag_tablica_kodow..(((ciag_tablica_kodow~="")and(ciag_tablica_kodow_zmienna_tymczasowa~=""))and ":" or "")..ciag_tablica_kodow_zmienna_tymczasowa;
else
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_koncowy;
kod_projektu_uzyskany_poczatkowy=kod_projektu_koncowy;
end;
local nazwy_modul=require("Module:Nazwy");
local czy_dyskusja=parametry_modul.CzyTak(dyskusja);
local pierwsza_litera=((czy_pelna_nazwa_strony_prawidlowa)and(not czy_dyskusja)) and mw.ustring.match(nazwa_strony_linku,"^(%a)") or nil;
local tabela_nazw={};
local nazwaprzestrzeni=czy_pelna_nazwa_strony_prawidlowa and ((not czy_dyskusja)and nazwy_modul["NAZWAPRZESTRZENI"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy},tabela_nazw)
or nazwy_modul["PRZESTRZEŃDYSKUSJI"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw)) or "";
local nazwastrony=czy_pelna_nazwa_strony_prawidlowa and nazwy_modul["NAZWASTRONY"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw) or "";
local linki_modul=require("Module:Linki");
local strona_inna_zmienna_tymczasowa,czy_strona_lokalna=linki_modul["PrzetłumaczZnakZastępczyNaStronę"](nazwaprzestrzeni,nazwastrony,kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
local czy_pelna_nazwa_strony_prawidlowa=((czy_pelna_nazwa_strony_prawidlowa)and(parametry_modul["CzyTakCiąg"](strona_inna_zmienna_tymczasowa) and not mw.ustring.match(strona_inna_zmienna_tymczasowa,"^[%s_:]+$")) or strona_inna_zmienna_tymczasowa);
local function TabelaNazw()tabela_nazw_temp={};tabela_nazw_temp.czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;return tabela_nazw_temp;end;
if(nazwastrony=="")then
local tabela_nazw=TabelaNazw();
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw)
local techniczne_modul=require("Module:Techniczne");
local nowa_nazwa_strony=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](nazwa_strony);
if(nazwa)then
local f,ile=mw.ustring.gsub(nazwa,"%%s",function()return nil;end);
if(ile==1)then
nazwa=mw.ustring.format(nazwa,nowa_nazwa_strony) or nil;
elseif(ile==2)then
local nowa_nazwa_przestrzeni=nazwy_modul[(czy_dyskusja) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw);
if(tabela_nazw.czy_aktualna_wiki)then
nowa_nazwa_przestrzeni=nazwy_modul.Np{nazwa=nowa_nazwa_przestrzeni,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nowa_nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=nowa_nazwa_przestrzeni,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or nowa_nazwa_przestrzeni;
end;
nazwa=mw.ustring.format(nazwa,nowa_nazwa_przestrzeni,nowa_nazwa_strony) or nil;
end;
end;
end;
strona_inna_zmienna_tymczasowa=strona_inna_zmienna_tymczasowa or nazwa_strony_linku;
local function NazwaStronyDyskusji(strona)
if(czy_dyskusja and czy_pelna_nazwa_strony_prawidlowa)then
return nazwy_modul["NAZWASTRONYDYSKUSJI"]({[1]=strona,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw());
end;
return strona;
end;
local strona_zmienna_tymczasowa=NazwaStronyDyskusji(strona_inna_zmienna_tymczasowa);
nazwa_strony_linku=((not czy_strona_lokalna or ((czy_dyskusja)and(nazwy_modul["NAZWAPRZESTRZENI"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw())~=nazwy_modul["NAZWAPRZESTRZENI"]({[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw()))))and strona_zmienna_tymczasowa or "");
nazwa_strony_linku=pierwsza_litera and mw.ustring.gsub(nazwa_strony_linku,"^["..mw.getContentLanguage():ucfirst(pierwsza_litera)..mw.getContentLanguage():lcfirst(pierwsza_litera).."]",pierwsza_litera) or nazwa_strony_linku;
czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
local function BiezacaWikiDwukropek()
local czy_biezace_wiki=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
local czy_wstawiac_dwukropek;
if(czy_biezace_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwaprzestrzeni==nazwy_np_modul.Category)or(nazwaprzestrzeni==nazwy_np_modul.File))then
czy_wstawiac_dwukropek=true;
end;
end;
return czy_wstawiac_dwukropek;
end;
local pudelko_modul=require("Module:Pudełko");
local jezykowe_projekty=wiki_interwiki_modul.tablica_lokalne_lingwistyczne_siostrzane;
local projekty_nie_en=jezykowe_projekty[kod_projektu_uzyskany_poczatkowy];
local czy_kod_jezyka_uzyskany_poczatkowy=(kod_jezyka_uzyskany_poczatkowy~=kod_jezyka_tego_projektu);
local czy_kod_projektu_uzyskany_poczatkowy=(kod_projektu_uzyskany_poczatkowy~=kod_projektu_tego_projektu);
local html_modul=require("Module:Html");
local function AdresLinku()
local kody_poczatkowe=(not projekty_nie_en and (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or(czy_kod_jezyka_uzyskany_poczatkowy and kod_jezyka_uzyskany_poczatkowy..":"..(czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "")));
local tablica_kodow=kody_poczatkowe..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "");
local czy_wstawiac_dwukropek=((tablica_kodow~="")and (projekty_nie_en and (czy_kod_jezyka_uzyskany_poczatkowy and ":" or "") or "") or (BiezacaWikiDwukropek() and ":" or ""));
local strona;local parametry;local naglowek;
if(czy_nazwa_strony_linku)then
strona=html_modul.EncodeElementyAdresuStrony(nazwa_strony_linku,nil,z_kodowaniem);
end;
if(czy_parametry_strony)then
parametry=html_modul.EncodeElementyAdresuStrony(parametry_strony,true,z_kodowaniem);
parametry="?"..parametry;
end;
if(czy_naglowek_strony)then
naglowek=html_modul.EncodeElementyAdresuStrony(naglowek_strony,nil,z_kodowaniem);
naglowek="#"..naglowek;
end;
local zmienna_linkowa=tablica_kodow..(strona or "") ..(parametry or "")..(naglowek or "");
return zmienna_linkowa, czy_wstawiac_dwukropek;
end;
nazwa=nazwa and mw.ustring.gsub(nazwa,"^[%s_]*","") or nil;
nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]*$","") or nil;
--nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]+"," ") or nil;
if(czy_ogolne and not czy_nazwa)then
if(parametry_modul.CzyTak(wyswietl))then
nazwa=strona_zmienna_tymczasowa;
czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
else
if((czy_pelna_nazwa_strony_prawidlowa)and(nazwastrony~=""))then
nazwa=nazwastrony;
else
nazwa=nazwy_modul["NAZWASTRONY"]{[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_uzyskany_poczatkowy,["kod projektu"]=kod_projektu_uzyskany_poczatkowy,};
end;
czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
end
end;
local zmienna_linkowa;
local aktywny;
if(not czy_wewnetrzny_z_fullurl)then
local czy_wstawiac_dwukropek;
zmienna_linkowa,czy_wstawiac_dwukropek=AdresLinku();
zmienna_linkowa=mw.ustring.gsub(zmienna_linkowa,"[%s_]+"," ");
local czy_za=parametry_modul.CzyTak(za);
if(czy_za or(nazwa and (nazwa~=zmienna_linkowa)))then
zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa..(czy_nazwa and "|"..nazwa..(czy_za and za or "") or (czy_za and ("|"..zmienna_linkowa..za) or "")).."]]"..(czy_po and po or "");
else
zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa.."]]"..(czy_po and po or "");
end
aktywny=false;
else
aktywny=true;
local serwer;
local projekt;
if(projekty_nie_en)then
for kod_specjalny_projektu,kod_projektu_interwiki in pairs(wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie)do
if(kod_projektu_uzyskany_poczatkowy==kod_projektu_interwiki)then
projekt=kod_specjalny_projektu;
end;
end;
end;
local function Protocol(kod_projektu)
local interwikimap=wiki_interwiki_modul.interwikimap;
local url=interwikimap[kod_projektu];
if(not url)then return "";end;
return mw.ustring.match(url,"^([^/]*)//");
end;
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local nazwy_np_modul=require("Module:Nazwy/Np");
local nazwy_modul=require("Module:Nazwy");
local czy_specjalna=(nazwaprzestrzeni==nazwy_np_modul.Special);
local ciag_tablica_kodow_zmienna_tymczasowa=mw.ustring.gsub(strona_zmienna_tymczasowa,"[%s_]+","_");
if(((projekt)and(czy_parametry_strony)and(czy_specjalna))or((projekt)and(wersja_linku=="w")))then
local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((not projekty_nie_en)and(czy_parametry_strony)and(czy_specjalna))or((not projekty_nie_en)and(wersja_linku=="w")))then
local techniczne_modul=require("Module:Techniczne");
local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
local serwer=mw.ustring.match(wiki_nie_jezykowe,"^([^/]*//[^/]*)")
local adres=serwer.."/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((projekt)and(czy_parametry_strony))or((projekt)and(wersja_linku=="wiki")))then
local strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"[_%s]+","_");
local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/wiki/"..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and " "..nazwa..(parametry_modul.CzyTak(za) and za or "") or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((not projekty_nie_en)and(czy_parametry_strony))or((not projekty_nie_en)and(wersja_linku=="wiki")))then
local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
local strona_zmienna_tymczasowa,_=mw.ustring.gsub(ciag_tablica_kodow_zmienna_tymczasowa,"[_%s]+","_");
strona_zmienna_tymczasowa=((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
strona_zmienna_tymczasowa=html_modul.EncodeHtml(strona_zmienna_tymczasowa);
strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"([%%])(%d+)","%%%%%2");
strona_zmienna_tymczasowa,_=mw.ustring.gsub(wiki_nie_jezykowe,"$1",strona_zmienna_tymczasowa);
local adres=strona_zmienna_tymczasowa..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
else
local pudelko_modul=require("Module:Pudełko");
zmienna_linkowa=(parametry_modul.CzyTak(klucz_projektu)and ((not(klucz_projektu==pudelko_modul["Klucz projektu tego projektu"]()))and (klucz_projektu..":")or "" )
or ((parametry_modul.CzyTak(kod_jezyka_uzyskany_poczatkowy)and ((not(kod_jezyka_uzyskany_poczatkowy==pudelko_modul["Kod języka tego projektu"]()))and(kod_jezyka_uzyskany_poczatkowy..":")or "") or "")..(parametry_modul.CzyTak(kod_projektu_uzyskany_poczatkowy)and ((not(kod_projektu_uzyskany_poczatkowy==pudelko_modul["Kod projektu tego projektu"]()))and(kod_projektu_uzyskany_poczatkowy..":")or "") or "")))
..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
local strona=(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
local adres=tostring(mw.uri.fullUrl(zmienna_linkowa))..strona;
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
end;
end;
return zmienna_linkowa,kod_jezyka_koncowy,kod_projektu_koncowy,strona_zmienna_tymczasowa,czy_naglowek_strony,aktywny;
else
local parametry_modul=require("Module:Parametry");
local html_modul=require("Module:Html");
local czy_nazwa;
if(not nazwa)then
nazwa=mw.ustring.match(nazwa_strony_linku,"//[^/]*/(.*)$");
nazwa=html_modul.DecodeHtml(nazwa);
czy_nazwa=parametry_modul.CzyTak(nazwa);
else
czy_nazwa=parametry_modul.CzyTak(nazwa);
end;
local czy_po=parametry_modul.CzyTak(po);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
nazwa_strony_linku=mw.ustring.gsub(nazwa_strony_linku,"[%s_]+","_");
nazwa_strony_linku=mw.ustring.gsub(nazwa_strony_linku,"//([^/]*)/(.*)$", function(s1,s2)return "//"..s1.."/"..html_modul.EncodeHtml(s2);end)
local adres=nazwa_strony_linku..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")
..(czy_naglowek_strony and "#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony)) or "");
local zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
return zmienna_linkowa,nil,nil,nazwa_strony_linku,czy_naglowek_strony,false;
end;
end;
function p.TworzLinkBezPrzetwarzania(klucz_projektu,kod_jezyka,kod_projektu,strona,naglowek,nazwa,za,po,z_kodowaniem)
local parametry_modul=require("Module:Parametry");
local adres=(parametry_modul.CzyTak(klucz_projektu)and (klucz_projektu..":")
or ((parametry_modul.CzyTak(kod_jezyka)and (kod_jezyka..":") or "")..(parametry_modul.CzyTak(kod_projektu)and (kod_projektu..":") or "")))
..strona..(parametry_modul.CzyTak(naglowek) and ("#"..naglowek) or "");
local html_modul=require("Module:Html");
adres=html_modul.AdresProjektuEncodeHtml(adres,z_kodowaniem);
local wartosc="[[:"..adres..(parametry_modul.CzyTak(nazwa) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..(po and po or "");
return wartosc;
end;
function p.LinkOgromne(spanramka,link)
local max_len_link=0;
local iter=mw.ustring.gmatch(link,"([%a%d_]+)");
for value in iter do max_len_link=math.max(max_len_link,#value);end;
if(max_len_link>=20)then spanramka:addClass("link-ogromne");end;
end;
function p.LinkWikidane(link,klucz_projektu,kod_jezyka,kod_projektu,strona,czy_parametry,czy_naglowek,czy_url,aktywny,__FUNKCJA_KLASY_DODATKOWE)
local wiki_modul=require("Module:Wiki");
local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["strona"]=strona,["nagłówek"]=czy_naglowek,["url"]=czy_url,["parametry"]=czy_parametry,["aktywny"]=aktywny,};
local spanramka=mw.html.create('span');
spanramka:addClass(klasa);
spanramka:addClass("link");
----
if(__FUNKCJA_KLASY_DODATKOWE)then __FUNKCJA_KLASY_DODATKOWE(spanramka,link);end;
----
spanramka:wikitext(link);
return tostring(spanramka:allDone());
end;
function p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem)
local parametry_modul=require("Module:Parametry");
parametry_strony=czy_wewnetrzny_z_fullurl and parametry_strony or nil;
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local html_modul=require("Module:Html");
nazwa_strony_linku=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_strony_linku);
local wartosc_parent,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_naglowek_strony,aktywny=p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,z_kodowaniem);
if(parametry_modul.CzyTak(bez_znacznikow))then return wartosc_parent;end;
return p.LinkWikidane(wartosc_parent,nil,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_parametry_strony,czy_naglowek_strony,czy_url,aktywny,p.LinkOgromne);
end;
function p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,naglowek,czy_link_url,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,tabela_nazw,__FUNKCJA)
local nowa_nazwa_strony_linku;
local czy_kreska_dolna;local hash;local prze_nie_main;
local czy_strona_lokalna;
if(not czy_analiza)then
czy_kreska_dolna=mw.ustring.match(nazwa_strony_linku,"^[%s_:]*$") or mw.ustring.match(nazwa_strony_linku,":[%s_]*$");
hash=(not czy_kreska_dolna)and ((not czy_link_url) and mw.ustring.match(nazwa_strony_linku,"^[_%s]*#(.*)$") or nil) or (((czy_kreska_dolna)and(czy_link_url) and require("Module:Parametry").CzyTak(naglowek)) and naglowek or nil);
if((czy_kreska_dolna)or(hash))then
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local miano_przestrzeni_nazw_maly=((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~=""))and mw.ustring.lower(miano_przestrzeni_nazw) or miano_przestrzeni_nazw;
if((not miano_przestrzeni_nazw_maly)or((miano_przestrzeni_nazw_maly=="")or(miano_przestrzeni_nazw_maly=="(main)")or(miano_przestrzeni_nazw_maly=="(główna)")))then
miano_przestrzeni_nazw=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_strony_linku,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,},tabela_nazw);
end;
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({nazwa=nazwa_strony_linku,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,},tabela_nazw);
if(nazwa_strony=="")then
nowa_nazwa_strony_linku,czy_strona_lokalna=p["PrzetłumaczZnakZastępczyNaStronę"](miano_przestrzeni_nazw or "","",kod_jezyka,kod_projektu,hash);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
nowa_nazwa_strony_linku=__FUNKCJA(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main);
return nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
end;
p["GanerujSkładoweURL"] = function(args)
local klucz_projektu_do_projektu_linku;
local kod_jezyka_do_projektu_linku;
local kod_projektu_do_projektu_linku;
local miano_przestrzeni_nazw;
local nazwa_strony_linku=args["strona"] or args["s"] or "_";
local html_modul=require("Module:Html");
nazwa_strony_linku=nazwa_strony_linku and html_modul.DecodeHtml(nazwa_strony_linku) or nil;
local parametry_modul=require("Module:Parametry");
local w=args["wersja linku"] or args["w"];
local tab_w={
["w"]=true,
["wiki"]=true,
};
local wersja_linku=parametry_modul.CzyTak(w) and (tab_w[w] and w or nil) or "";
local _;
local strony_modul=require("Module:Strony");
local czy_url=strony_modul.SprawdzanieURL(nazwa_strony_linku);
local parametry_strony;local naglowek_strony;local nazwa;local po;local po;local za;
nazwa=args["nazwa"] or args["n"];
po=args["po"] or args["p"];
za=args["za"] or args["z"];
local function DaneStrony(nazwa_strony_linku_parametr,adres)
if(parametry_modul.CzyTak(nazwa_strony_linku_parametr))then
if(mw.ustring.match(nazwa_strony_linku_parametr,"^/wiki/"))then
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/wiki/","");
local tabela_nazw_adresu={};
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
elseif(mw.ustring.match(nazwa_strony_linku_parametr,"^/w/"))then
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/w/","");
local tabela_nazw_adresu={};
local html_modul=require("Module:Html");
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
local nazwa_strony_jednostki,parametry_strony_jednostki=html_modul["NazwaStronyZParametrówStronyAdresu"](parametry_strony,true);
parametry_strony=parametry_strony_jednostki or parametry_strony;
nazwa_strony_linku_parametr=nazwa_strony_jednostki or nazwa_strony_linku_parametr;
else
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/(.*)$","%1");
local tabela_nazw_adresu={};
local html_modul=require("Module:Html");
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
end;
else
if((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku))or(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)))then
if((not adres)or(mw.ustring.match(adres,"/$1$")))then
local pudelko_modul=require("Module:Pudełko");
nazwa_strony_linku_parametr=pudelko_modul["Nazwa strony głównej projektu 2"]{[1]=kod_jezyka_do_projektu_linku,[2]=kod_projektu_do_projektu_linku,} or "";
end;
end;
end;
parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or (args["parametry"] or args["c"]);
naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or (args["nagłówek"] or args["g"]);
local biezaca=args["bieżąca"] or args["b"];
local czy_biezaca=parametry_modul.CzyTak(biezaca);
nazwa=nazwa or (czy_biezaca and naglowek_strony or nil);
--nazwa=args["nazwa"] or args["n"];
local klucz_projektu_do_projektu_linku_temp=args["klucz projektu"] or args["k"];
klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(klucz_projektu_do_projektu_linku_temp) and (klucz_projektu_do_projektu_linku_temp) or klucz_projektu_do_projektu_linku;
local kod_jezyka_do_projektu_linku_temp=args["kod języka"] or args["kj"];
kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(kod_jezyka_do_projektu_linku_temp) and (kod_jezyka_do_projektu_linku_temp) or kod_jezyka_do_projektu_linku;
local kod_projektu_do_projektu_linku_temp=args["kod projektu"] or args["kp"];
kod_projektu_do_projektu_linku=parametry_modul.CzyTak(kod_projektu_do_projektu_linku_temp) and (kod_projektu_do_projektu_linku_temp) or kod_projektu_do_projektu_linku;
nazwa_strony_linku=nazwa_strony_linku_parametr;
czy_url=false;
end;
if(not czy_url)then
local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"] or args["f"];
nazwa_strony_linku=parametry_modul["CzyTakCiąg"](miano_przestrzeni_nazw) and miano_przestrzeni_nazw..":"..nazwa_strony_linku or nazwa_strony_linku;
DaneStrony(nazwa_strony_linku);
else
local html_modul=require("Module:Html");
local nazwa_strony_bez_protokolu=html_modul["UrlBezProtokołu"](nazwa_strony_linku);
local serwer,nazwa_strony=html_modul["URLStrona"](nazwa_strony_bez_protokolu);
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local function SerwerWiki(serwer)
local kod_jezyka_zmienna_tymczasowa,kod_specjalny_projektu=mw.ustring.match(serwer,"^(%w+)%.(%w+)%.org");
if((not kod_jezyka_zmienna_tymczasowa)or(not kod_specjalny_projektu))then
kod_jezyka_zmienna_tymczasowa,kod_specjalny_projektu=mw.ustring.match(serwer,"^(%w+)%.[mM]%.(%w+)%.org");
end;
local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;
local kod_projektu=interwikisiostrzaneangielskie[kod_specjalny_projektu];
local kod_jezyka=kod_jezyka_zmienna_tymczasowa and (mw.language.isKnownLanguageTag(kod_jezyka_zmienna_tymczasowa) and kod_jezyka_zmienna_tymczasowa or nil) or nil;
return kod_jezyka,kod_projektu;
end;
local function JezykoweLubAngielskieProjekty(serwer_portalu)
local kod_jezyka,kod_projektu=SerwerWiki(serwer_portalu);
if(kod_jezyka and kod_projektu)then
kod_jezyka_do_projektu_linku=kod_jezyka;
kod_projektu_do_projektu_linku=kod_projektu;
klucz_projektu_do_projektu_linku=nil;
DaneStrony(nazwa_strony);
return true;
else
local pozajezykoweprojektysiostrzane=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane;
local techniczne_modul=require("Module:Techniczne");
for kod, url in pairs(pozajezykoweprojektysiostrzane)do
local adres=html_modul["UrlBezProtokołu"](url);
local serwer_portalu,nazwa_strony_portalu=html_modul["URLStrona"](adres);
if(serwer_portalu)then
if((serwer_portalu==serwer)and((mw.ustring.match(nazwa_strony_portalu,"%$1"))or(nazwa_strony==nazwa_strony_portalu)))then
kod_jezyka_do_projektu_linku=kod_jezyka or "en";
kod_projektu_do_projektu_linku=--[[kod_projektu or]] kod;
local nazwa_strony_spreparowana=nil;
if(not mw.ustring.match(adres,"/wiki/%$1$"))then
if(mw.ustring.match(url,"[:/]$1$"))then
local url_wzor=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](adres);
url_wzor=mw.ustring.gsub(url_wzor,"(%%$1)$","(.-)");
nazwa_strony_spreparowana=mw.ustring.match(nazwa_strony_bez_protokolu,"^"..url_wzor.."$");
if(not nazwa_strony_spreparowana)then
return false;
end;
end;
end;
DaneStrony(nazwa_strony_spreparowana or nazwa_strony,adres);
return true;
end;
end;
end;
end;
end;
local function __FUNKCJA()
if(mw.ustring.match(serwer,"^upload%.wikimedia%.org$"))then
DaneStrony(nazwa_strony);
nazwa_strony=nazwa_strony_linku;
nazwa_strony_linku="Media:"..mw.ustring.match(nazwa_strony,"([^/]*)$");
local kod_projektu_do_projektu_linku2,kod_jezyka_do_projektu_linku2=mw.ustring.match(nazwa_strony,"^([^/]*)/([^/]*)/.*$");
kod_jezyka_do_projektu_linku=kod_jezyka_do_projektu_linku or kod_jezyka_do_projektu_linku2;
kod_projektu_do_projektu_linku=kod_projektu_do_projektu_linku or kod_projektu_do_projektu_linku2;
czy_url=false;
else
local juz_tak=JezykoweLubAngielskieProjekty(serwer);
if(not juz_tak)then
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or (args["nagłówek"] or args["g"]);
local biezaca=args["bieżąca"] or args["b"];
local czy_biezaca=parametry_modul.CzyTak(biezaca);
nazwa=nazwa or (czy_biezaca and naglowek_strony or nil);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or (args["parametry"] or args["c"]);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
end;
end;
end;
__FUNKCJA();
end;
local czy_wewnetrzny_z_fullurl;
if(not parametry_modul.CzyTak(parametry_strony))then
if(wersja_linku=="")then
if((klucz_projektu_do_projektu_linku)or(kod_jezyka_do_projektu_linku)or(kod_projektu_do_projektu_linku))then
czy_wewnetrzny_z_fullurl=false;
elseif(not czy_url)then
czy_wewnetrzny_z_fullurl=false;
else
czy_wewnetrzny_z_fullurl=true;
end;
else
czy_wewnetrzny_z_fullurl=true;
end;
else
czy_wewnetrzny_z_fullurl=true;
end;
return klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url;
end;
p["Link wewnętrzny"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local klucz_projektu_do_projektu_linku=args["klucz projektu"] or args["k"];
local kod_jezyka_do_projektu_linku=args["kod języka"] or args["kj"];
local kod_projektu_do_projektu_linku=args["kod projektu"] or args["kp"];
local nazwa_strony_linku=args["strona"] or args["s"] or "_";
local nazwa=args["nazwa"] or args["n"];
local czy_nazwa=parametry_modul.CzyTak(nazwa);
nazwa=czy_nazwa and nazwa or nil;
local po=args["po"] or args["p"];
local za=args["za"] or args["z"];
local naglowek_strony=args["nagłówek"] or args["g"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"] or args["bz"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"] or args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]or args["bk"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"] or args["u"]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"] or args["a"]);
local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
if(not czy_analiza)then
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,{},function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
return nowa_nazwa_strony_linku;
end);
nazwa=czy_nazwa and nazwa or (hash and ("#"..hash) or nil);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((not czy_naglowek)and(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$")))) or nil);
if(not bez_przetwarzania)then
return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_naglowek and naglowek_strony or hash,nazwa,za,po,nil,nil,nil,nil,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
else
local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),czy_naglowek and naglowek_strony or hash,nazwa,za,po,z_kodowaniem);
if(not bez_znacznikow)then
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,nil,czy_naglowek_strony or hash or mw.ustring.match(nazwa_strony_linku,"#"),nil,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
p["LinkURL"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local linki_modul=require("Module:Linki");
local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]) or parametry_modul.CzyTak(args["a"]);
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]) or parametry_modul.CzyTak(args["bz"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or parametry_modul.CzyTak(args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]) or parametry_modul.CzyTak(args["bk"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"]) or parametry_modul.CzyTak(args["u"]);
local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
if((not czy_analiza)and(not czy_url))then
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,{},function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
return nowa_nazwa_strony_linku;
end);
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or (hash and ("#"..hash) or nil);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$"))) or nil);
local function Bez_przetwarzania_lub_bez_znaczkow()
if(parametry_modul.CzyTak(bez_przetwarzania))then
local bez_znacznikow=parametry_modul.CzyTak(bez_znacznikow);
local czy_parametry=parametry_modul.CzyTak(parametry_strony);
local wartosc=((not czy_url)and((parametry_modul.CzyTak(klucz_projektu_do_projektu_linku)and (klucz_projektu_do_projektu_linku..":")
or ((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku)and (kod_jezyka_do_projektu_linku..":") or "")..(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)and (kod_projektu_do_projektu_linku..":") or "")))..nowa_nazwa_strony_linku) or nil);
local link;
local po_linku=parametry_modul.CzyTak(po) and po or "";
if((not czy_url)and((czy_parametry)or(parametry_modul.CzyTak(wersja_linku))))then
local adres=tostring(mw.uri.fullUrl(wartosc,""));
adres=((not parametry_modul.CzyTak(wersja_linku))or(wersja_linku=="wiki")) and adres or mw.ustring.gsub(adres,"/wiki/","/w/index.php?title=",1);
local html_modul=require("Module:Html");
local parametry_i_naglowek=((czy_parametry)and ((((wersja_linku=="w")) and "&" or "?")..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
adres=adres..parametry_i_naglowek;
link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
elseif(czy_url)then
local html_modul=require("Module:Html");
local parametry_i_naglowek=((czy_parametry)and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
local adres=nowa_nazwa_strony_linku..parametry_i_naglowek;
link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
else
local naglowek=(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "");
local adres=wartosc..naglowek;
link="[[:"..adres..((parametry_modul.CzyTak(nazwa)) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..po_linku;
end;
if not bez_znacznikow then
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_parametry_strony,czy_naglowek_strony,czy_url,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
local wynik=Bez_przetwarzania_lub_bez_znaczkow();if(wynik)then return wynik;end;
return linki_modul.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
end;
function p.UzyskajKodWikiLinku(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local linki_modul=require("Module:Linki");
local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local pudelko_modul=require("Module:Pudełko");
kod_jezyka_koncowy=parametry_modul.CzyTak(kod_jezyka_koncowy) and kod_jezyka_koncowy or pudelko_modul["Kod języka tego projektu"]();
kod_projektu_koncowy=parametry_modul.CzyTak(kod_projektu_koncowy) and kod_projektu_koncowy or pudelko_modul["Kod projektu tego projektu"]();
local aktywny;
local czy_nazwa=parametry_modul.CzyTak(nazwa_strony_linku);
if(not czy_nazwa or not mw.ustring.match(nazwa_strony_linku,"_+"))then
if((not czy_nazwa)and((not kod_jezyka_koncowy)or(kod_jezyka_koncowy==pudelko_modul["Kod języka tego projektu"]()))and((not kod_projektu_koncowy)or(kod_projektu_koncowy==pudelko_modul["Kod projektu tego projektu"]())))then
if((parametry_modul.CzyTak(naglowek_strony)) or (not args["strona"] or args["strona"]=="") or ((args["strona"])and(mw.ustring.match(args["strona"],"^[_%s]*#[_%s]*$"))or(nil)))then
aktywny=false;
local nazwy_modul=require("Module:Nazwy");
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]();
end;
else
aktywny=true;
end;
else
aktywny=true;
local pudelko_modul=require("Module:Pudełko");
nazwa_strony_linku=pudelko_modul["Strona główna tego projektu"]();
end;
local nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy);
---
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_pusta_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
if(not czy_pusta_nazwa_strony_linku)then
local linki_modul=require("Module:Linki");
nazwa_strony_linku,_=linki_modul["PrzetłumaczZnakZastępczyNaStronę"]("","",kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
end;
----
local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=nil,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["strona"]=nazwa_strony_linku,["nagłówek"]=czy_naglowek_strony,["url"]=czy_url,["parametry"]=czy_parametry_strony,["aktywny"]=aktywny,};
return klasa;
end;
p["LinkOgólne"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"] or args["f"];
local czy_dyskusja=parametry_modul.CzyTak(args["dyskusja"] or args["d"]);
local klucz_projektu_do_projektu_linku=args["klucz projektu"] or args["k"];
local kod_jezyka_do_projektu_linku=args["kod języka"] or args["kj"];
local kod_projektu_do_projektu_linku=args["kod projektu"] or args["kp"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]) or parametry_modul.CzyTak(args["bz"]);
local wyswietl_miano_przestrzeni_nazw=args["wyświetl miano przestrzeni nazw"] or args["wyświetl"] or args["w"];
local nazwa_strony_linku=args[1] or "_";
local czy_nazwa=parametry_modul.CzyTak(args[2]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]) or parametry_modul.CzyTak(args["a"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"]) or parametry_modul.CzyTak(args["u"]);
local nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
local czy_niepusta_nazwa_przestrzeni_nazw;
local nazwy_modul=require("Module:Nazwy");
local czy_aktualna_wiki;
if(not czy_analiza)then
local tabela_nazw={};
miano_przestrzeni_nazw=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or "";
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,nil,nil,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,tabela_nazw,function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
if(czy_dyskusja)then
local tabela_nazw_temp={};tabela_nazw_temp.czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;
nowa_nazwa_strony_linku=nazwy_modul["NAZWASTRONYDYSKUSJI"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["bez zmiany adresu"]="tak",},tabela_nazw_temp);
end;
return nowa_nazwa_strony_linku;
end);
czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
local tabela_nazw={};tabela_nazw.czy_aktualna_wiki=czy_aktualna_wiki;
local czy_biezaca;
local czy_nazwa_strony_pusta;
local wiki_modul=require("Module:Wiki");
if((czy_dyskusja)or(czy_analiza))then
czy_nazwa_strony_pusta=mw.ustring.match(nazwa_strony_linku,"^[%s_:]*$");
if((not czy_nazwa_strony_pusta)or((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~="")))then
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
local nazwy_modul=require("Module:Nazwy");
if(czy_biezaca)then
miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"](nowa_nazwa_strony_linku,tabela_nazw);
else
miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
end;
czy_niepusta_nazwa_przestrzeni_nazw=parametry_modul.CzyTak(miano_przestrzeni_nazw);
end;
elseif(hash or czy_kreska_dolna)then
czy_niepusta_nazwa_przestrzeni_nazw=true;
elseif(not prze_nie_main)then
miano_przestrzeni_nazw="";
czy_niepusta_nazwa_przestrzeni_nazw=false;
else
miano_przestrzeni_nazw=prze_nie_main;
czy_niepusta_nazwa_przestrzeni_nazw=true;
end;
local techniczne_modul=require("Module:Techniczne");
local czy_wyswietl_miano_przestrzeni_nazw=parametry_modul.CzyTak(wyswietl_miano_przestrzeni_nazw);
local function NazwaLinkuDoStrony()
local function CzyPrzestrzen(miano_przestrzeni_nazw)
local czy_biezaca;
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
local miano_przestrzeni_nazw;
if(czy_biezaca)then
miano_przestrzeni_nazw=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
miano_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or miano_przestrzeni_nazw;
end;
return miano_przestrzeni_nazw;
end;
local function Nazwa2(nazwa,czy_wyswietl_miano_przestrzeni_nazw)
if(czy_wyswietl_miano_przestrzeni_nazw)then
return nazwa;
else
nazwa=nazwy_modul["NAZWASTRONY"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
if(tabela_nazw.m)then
nazwa=mw.getContentLanguage():lcfirst(nazwa);
end;
return nazwa;
end;
end;
local function Nazwa(nazwa)
local ile;local ile2=0;
if((czy_analiza) and (not bez_przetwarzania))then
nazwa=techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa) or nazwa;
nazwa,ile=mw.ustring.gsub(nazwa,"^[%s_:]*(.+)[%s_:]*:[%s_]*$",function(nazwaprzestrzeni)
local nazwa_przestrzeni=CzyPrzestrzen(nazwaprzestrzeni)
if(nazwa_przestrzeni)then
return nazwa_przestrzeni..":".."%s";
end;
ile2=ile+1;
end);
else
nazwa,ile=mw.ustring.gsub(nazwa,"^[%s_:]*(.+)[%s_:]*:[%s_]*$",function(nazwaprzestrzeni)
local nazwa_przestrzeni=CzyPrzestrzen(nazwaprzestrzeni)
if(nazwa_przestrzeni)then
return nowa_nazwa_strony_linku;
end;
ile2=ile2+1;
end);
end;
if(ile-ile2==0)then
return Nazwa2(nazwa,czy_wyswietl_miano_przestrzeni_nazw);
else
return nazwa;
end;
end;
local function NazwaFormat(wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta)
if((not czy_analiza)or(bez_przetwarzania))then return nil;end;
if(czy_wyswietl_miano_przestrzeni_nazw)then
if(czy_nazwa_strony_pusta)then
if(not miano_przestrzeni_nazw)then
return "%s:%s";
else
return miano_przestrzeni_nazw..((miano_przestrzeni_nazw~="") and ":" or "").."%s";
end;
end;
else
if(czy_nazwa_strony_pusta)then
return "%s";
end;
end;
end;
if(czy_niepusta_nazwa_przestrzeni_nazw)then
if(czy_wyswietl_miano_przestrzeni_nazw)then
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
nazwa_strony_linku=((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa_strony_linku) or nazwa_strony_linku;
if((czy_nazwa_strony_pusta)and(czy_analiza)and(not bez_przetwarzania))then nazwa_strony_linku="%s";end;
----
local aliases;
local alias=args["alias miana przestrzeni nazw"] or args["alias"] or args["i"];
local czy_alias=parametry_modul.CzyTak(alias);
if(czy_alias)then
if((not czy_dyskusja)and(not czy_analiza))then
local wiki_modul=require("Module:Wiki");
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
end;
if(czy_biezaca)then
local uchwyt=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak"}
if(uchwyt)then
aliases=uchwyt.aliases;
--miano_przestrzeni_nazw=uchwyt.name;
end;
else
local uchwyt=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(uchwyt)then
if(parametry_modul.TypeTable(uchwyt))then
aliases=uchwyt.aliasy;
--miano_przestrzeni_nazw=uchwyt[1];
else
--miano_przestrzeni_nazw=uchwyt;
aliases={};
end;
end;
end;
end;
----
if((czy_alias)and(parametry_modul.CzyTak(aliases)))then
if(parametry_modul["CzySąElementyNumerowaneTablicy"](aliases))then
alias=mw.getContentLanguage():uc(alias);
for _,value in pairs(aliases)do
if((mw.getContentLanguage():uc(value))==alias)then
return alias..":"..nazwa_strony_linku;
end;
end;
end;
end;
if(not miano_przestrzeni_nazw)then return nil;end;
local miano_przestrzeni_nazw_zmienna_tymczasowa;
if(czy_biezaca)then
miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
nazwa_strony_linku=((miano_przestrzeni_nazw_zmienna_tymczasowa)and(not czy_nazwa_strony_pusta)and(not prze_nie_main)) and nazwy_modul["NAZWASTRONY"](nowa_nazwa_strony_linku,tabela_nazw) or nazwa_strony_linku;
else
miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or miano_przestrzeni_nazw;
nazwa_strony_linku=((miano_przestrzeni_nazw_zmienna_tymczasowa)and(not czy_nazwa_strony_pusta)and(not prze_nie_main)) and nazwy_modul["NAZWASTRONY"]{nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,tabela_nazw} or nazwa_strony_linku;
end;
if(not miano_przestrzeni_nazw_zmienna_tymczasowa)then return nil;end;
return ((miano_przestrzeni_nazw_zmienna_tymczasowa~="") and (miano_przestrzeni_nazw_zmienna_tymczasowa..":") or "")..((((czy_analiza)and(not bez_przetwarzania))and(nazwa_strony_linku=="")) and "%s" or nazwa_strony_linku);
else
local nazwa=hash and("#"..hash) or nowa_nazwa_strony_linku;
nazwa=((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa) or nazwa;
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
else
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
if((czy_nazwa_strony_pusta)and((czy_analiza)and(not bez_przetwarzania)))then
return "%s";
end;
local nazwa=nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
else
if((czy_nazwa_strony_pusta)and((czy_analiza)and(not bez_przetwarzania)))then
return "%s";
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa=hash and ("#"..hash) or nazwy_modul["NAZWASTRONY"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
end;
else
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
local wynik_nazwa=NazwaFormat(czy_wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta);
if(wynik_nazwa)then return wynik_nazwa;end;
local nazwa=nowa_nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
else
if(czy_nazwa_strony_pusta)then
local wynik_nazwa=NazwaFormat(czy_wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta);
if(wynik_nazwa)then return wynik_nazwa;end;
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa=hash and("#"..hash) or nowa_nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
end;
end;
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or parametry_modul.CzyTak(args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]) or parametry_modul.CzyTak(args["bk"]);
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~=""))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$"))))) or nil);
local nazwa=czy_nazwa and (args[2] and (((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](args[2]) or args[2]) or nil) or NazwaLinkuDoStrony();
local po=args["po"] or args["p"];
local za=args["za"] or args["z"];
if(not bez_przetwarzania)then
return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,hash,nazwa,za,po,false,nil,nil,nil,true,wyswietl_miano_przestrzeni_nazw,czy_dyskusja,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
else
local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),hash,nazwa,za,po,z_kodowaniem);
if(not bez_znacznikow)then
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,nil,hash or ((not czy_kreska_dolna) and mw.ustring.match(nazwa_strony_linku,"#") or nil),nil,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
function p.ZamianaKategoriiNaLinki(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local tekst=PobierzParametr("tekst") or PobierzParametr(1);
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=wm.loadData("Module:Nazwy/Np");
local kategoria_polska=nazwy_np_modul.Category;
local wzor_kategorii_polskiej=techniczne_modul["WzórDanejPrzestrzeniNazw"](kategoria_polska)
tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
return tekst;
end;
return p;
esoo5u4wllckoskur1w0vqa516mbhfq
546587
546586
2026-06-13T15:23:54Z
Persino
2851
546587
Scribunto
text/plain
local p={};
p["PrzetłumaczZnakZastępczyNaStronę"]=function(nazwa_przestrzeni_nazw,nazwa_strony,kod_jezyka,kod_projektu,hash)
local czy_pusta_nazwa_przestrzeni_nazw=mw.ustring.match(nazwa_przestrzeni_nazw,"^([%s_:]*)$");
local czy_pusta_nazwa_strony=mw.ustring.match(nazwa_strony,"^([%s_:]*)#.*$") or mw.ustring.match(nazwa_strony,"^([%s_:]*)$");
if(not czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony)then
local tabglownestronyprojektu=mw.loadData("Module:Nazwy/przestrzenie").tabnp;
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"](nazwa_przestrzeni_nazw);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(not czy_biezaca)then
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["przedmiotowa"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
local nazwa_bazowa_strony=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
if(nazwa_bazowa_strony)then
local nazwa_strony_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
["nazwa strony"]=nazwa_bazowa_strony,
["kod języka"]=kod_jezyka,
["kod projektu"]=kod_projektu,
["kod języka bazy"]="pl",
["kod projektu bazy"]=(nazwa_kanoniczna_nazwy_przestrzeni_nazw~="Project")and "w" or "b",
}
if(nazwa_strony_na_innym_projekcie)then
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({["nazwa"]=nazwa_strony_na_innym_projekcie,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu});
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
else
return nazwa_bazowa_strony,false;
end;
end;
else
local nazwy_modul=require("Module:Nazwy");
if(hash)then
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};
local prze_bierzacej_strony=nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazw);
local nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,};
if(nazwa_przestrzeni_nazw==prze_bierzacej_strony)then
return nazwy_modul["PEŁNANAZWASTRONY"](nil,tabela_nazw),true;
end;
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.Np{["nazwa"]=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["przedmiotowa"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak"}
local nazwa_strony_glownych_stron_projektu=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
if(nazwa_strony_glownych_stron_projektu)then
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({["nazwa"]=nazwa_strony_glownych_stron_projektu});
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
end;
end;
elseif czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
if((czy_biezaca)and(hash))then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"](),true;
end;
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local tablokalnesiostrzane=wiki_interwiki_modul.tablica_lokalne_siostrzane;
if(tablokalnesiostrzane[kod_projektu])then
local wiki_modul=require("Module:Wiki");
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_tego_projektu=pudelko_modul["Strona główna tego projektu"]();
if(not czy_biezaca)then
local nazwa_strony_glownej_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
["nazwa strony"]=strona_glowna_tego_projektu,
["kod języka"]=kod_jezyka,
["kod projektu"]=kod_projektu,
}
if(nazwa_strony_glownej_na_innym_projekcie)then
return nazwa_strony_glownej_na_innym_projekcie,false;
end;
else
return strona_glowna_tego_projektu,false;
end;
end;
end;
return ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
end;
p["PoprawLinki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr(1);
local z_kodowaniem=PobierzParametr("uri") or PobierzParametr(2);
z_kodowaniem=parametry_modul.CzyTak(z_kodowaniem);
local function pojedynczy_link(link)
local strona=mw.ustring.match(link,"^%[%[:?([^%[%]|]*)");
local nazwa=mw.ustring.match(link,"^%[%[[^|]*|([^%[%]]*)%]%]$") or strona;
local z_kodowaniem_temp=(mw.ustring.match(strona,"%%%x%x")and true or false) or z_kodowaniem;
link=p.TworzenieWikiLinku(nil,nil,nil,strona,nil,nazwa,nil,nil,false,nil,nil,nil,nil,nil,nil,nil,z_kodowaniem_temp);
return link;
end;
return mw.ustring.gsub(argument_pierwszy,"(%[%[[^%[%]]*%]%])",function(s)return pojedynczy_link(s);end);
end;
p["WydobądźLinki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local wartosc,_=PobierzParametr(1);
local z_kodowaniem=PobierzParametr("uri") or PobierzParametr(2);
local specjalne_modul=require("Module:Specjalne");
wartosc=specjalne_modul["UsuńKomentarze"](wartosc);
wartosc=specjalne_modul["UsuńSzablonyStylów"](wartosc);
wartosc=specjalne_modul["UsuńZnaczniki"](wartosc);
wartosc=specjalne_modul["UsuńKategorie"](wartosc);
wartosc=specjalne_modul["UsuńWywołaniaPlików"](wartosc);
wartosc=specjalne_modul["UsuńInterwiki"](wartosc);
local linki_modul=require("Module:Linki");
wartosc=linki_modul["PoprawLinki"]{wartosc,z_kodowaniem};
return wartosc;
end;
function p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,z_kodowaniem)
if(not czy_url)then
local parametry_modul=require("Module:Parametry");
local czy_klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(klucz_projektu_do_projektu_linku);
local czy_kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(kod_jezyka_do_projektu_linku);
local czy_kod_projektu_do_projektu_linku=parametry_modul.CzyTak(kod_projektu_do_projektu_linku);
local czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
local czy_po=parametry_modul.CzyTak(po);
if(not czy_naglowek_strony)then
if(czy_nazwa_strony_linku)then
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local strona_zmienna_tymczasowa=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu)
local naglowek_zmienna_tymczasowa=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
if(strona_zmienna_tymczasowa and naglowek_zmienna_tymczasowa)then
nazwa_strony_linku=strona_zmienna_tymczasowa;
naglowek_zmienna_tymczasowa=parametry_modul["Odstępy"]{[1]=naglowek_zmienna_tymczasowa,[2]="tak",[3]="tak",};
if(parametry_modul.CzyTak(naglowek_zmienna_tymczasowa))then
naglowek_strony=naglowek_zmienna_tymczasowa;
czy_naglowek_strony=true;
end;
end;
end;
else
naglowek_strony=parametry_modul["Odstępy"]{[1]=naglowek_strony,[2]="tak",[3]="tak",};
if(not parametry_modul.CzyTak(naglowek_strony))then
czy_naglowek_strony=false;
naglowek_strony=nil;
end;
end;
---
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local interwikimap=wiki_interwiki_modul.interwikimap;
local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;
local wiki_modul=require("Module:Wiki");
local kod_jezyka_uzyskany_poczatkowy,kod_projektu_uzyskany_poczatkowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(not kod_jezyka_uzyskany_poczatkowy or not kod_projektu_uzyskany_poczatkowy)then
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_uzyskany_poczatkowy or kod_jezyka_tego_projektu;
kod_projektu_uzyskany_poczatkowy=kod_projektu_uzyskany_poczatkowy or kod_projektu_tego_projektu;
end;
local czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
local tablica_kodow={};
local kod_jezyka_koncowy;local kod_projektu_koncowy;
---------------------------------------------------------------------
kod_jezyka_koncowy=kod_jezyka_uzyskany_poczatkowy;
kod_projektu_koncowy=kod_projektu_uzyskany_poczatkowy;
---------------------------------------------------------------------
local kod_jezyka_poczatkowy,kod_projektu_poczatkowy;
if(czy_pelna_nazwa_strony_prawidlowa)then
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,kod_jezyka_poczatkowy,kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,bez_przetwarzania_kodow and tablica_kodow or nil);
czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
end;
----
if(not nazwa)then
nazwa=nazwa_strony_linku..(czy_naglowek_strony and ("#"..naglowek_strony) or "");
nazwa=mw.ustring.gsub(nazwa,"[%s_]+"," ");
czy_nazwa=parametry_modul.CzyTak(nazwa);
end
local ciag_tablica_kodow="";
if(bez_przetwarzania_kodow)then
if(kod_jezyka_poczatkowy)then
if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_poczatkowy;
else
ciag_tablica_kodow=kod_jezyka_poczatkowy;
end;
elseif(kod_projektu_poczatkowy)then
if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
kod_projektu_uzyskany_poczatkowy=kod_projektu_poczatkowy;
else
ciag_tablica_kodow=kod_projektu_poczatkowy;
end;
end;
local ciag_tablica_kodow_zmienna_tymczasowa=table.concat(tablica_kodow,":");
ciag_tablica_kodow=ciag_tablica_kodow..(((ciag_tablica_kodow~="")and(ciag_tablica_kodow_zmienna_tymczasowa~=""))and ":" or "")..ciag_tablica_kodow_zmienna_tymczasowa;
else
kod_jezyka_uzyskany_poczatkowy=kod_jezyka_koncowy;
kod_projektu_uzyskany_poczatkowy=kod_projektu_koncowy;
end;
local nazwy_modul=require("Module:Nazwy");
local czy_dyskusja=parametry_modul.CzyTak(dyskusja);
local pierwsza_litera=((czy_pelna_nazwa_strony_prawidlowa)and(not czy_dyskusja)) and mw.ustring.match(nazwa_strony_linku,"^(%a)") or nil;
local tabela_nazw={};
local nazwaprzestrzeni=czy_pelna_nazwa_strony_prawidlowa and ((not czy_dyskusja)and nazwy_modul["NAZWAPRZESTRZENI"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy},tabela_nazw)
or nazwy_modul["PRZESTRZEŃDYSKUSJI"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw)) or "";
local nazwastrony=czy_pelna_nazwa_strony_prawidlowa and nazwy_modul["NAZWASTRONY"]({[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw) or "";
local linki_modul=require("Module:Linki");
local strona_inna_zmienna_tymczasowa,czy_strona_lokalna=linki_modul["PrzetłumaczZnakZastępczyNaStronę"](nazwaprzestrzeni,nazwastrony,kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
local czy_pelna_nazwa_strony_prawidlowa=((czy_pelna_nazwa_strony_prawidlowa)and(parametry_modul["CzyTakCiąg"](strona_inna_zmienna_tymczasowa) and not mw.ustring.match(strona_inna_zmienna_tymczasowa,"^[%s_:]+$")) or strona_inna_zmienna_tymczasowa);
local function TabelaNazw()tabela_nazw_temp={};tabela_nazw_temp.czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;return tabela_nazw_temp;end;
if(nazwastrony=="")then
local tabela_nazw=TabelaNazw();
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw)
local techniczne_modul=require("Module:Techniczne");
local nowa_nazwa_strony=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](nazwa_strony);
if(nazwa)then
local f,ile=mw.ustring.gsub(nazwa,"%%s",function()return nil;end);
if(ile==1)then
nazwa=mw.ustring.format(nazwa,nowa_nazwa_strony) or nil;
elseif(ile==2)then
local nowa_nazwa_przestrzeni=nazwy_modul[(czy_dyskusja) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw);
if(tabela_nazw.czy_aktualna_wiki)then
nowa_nazwa_przestrzeni=nazwy_modul.Np{nazwa=nowa_nazwa_przestrzeni,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nowa_nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=nowa_nazwa_przestrzeni,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or nowa_nazwa_przestrzeni;
end;
nazwa=mw.ustring.format(nazwa,nowa_nazwa_przestrzeni,nowa_nazwa_strony) or nil;
end;
end;
end;
strona_inna_zmienna_tymczasowa=strona_inna_zmienna_tymczasowa or nazwa_strony_linku;
local function NazwaStronyDyskusji(strona)
if(czy_dyskusja and czy_pelna_nazwa_strony_prawidlowa)then
return nazwy_modul["NAZWASTRONYDYSKUSJI"]({[1]=strona,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw());
end;
return strona;
end;
local strona_zmienna_tymczasowa=NazwaStronyDyskusji(strona_inna_zmienna_tymczasowa);
nazwa_strony_linku=((not czy_strona_lokalna or ((czy_dyskusja)and(nazwy_modul["NAZWAPRZESTRZENI"]({[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw())~=nazwy_modul["NAZWAPRZESTRZENI"]({[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},TabelaNazw()))))and strona_zmienna_tymczasowa or "");
nazwa_strony_linku=pierwsza_litera and mw.ustring.gsub(nazwa_strony_linku,"^["..mw.getContentLanguage():ucfirst(pierwsza_litera)..mw.getContentLanguage():lcfirst(pierwsza_litera).."]",pierwsza_litera) or nazwa_strony_linku;
czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
local function BiezacaWikiDwukropek()
local czy_biezace_wiki=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
local czy_wstawiac_dwukropek;
if(czy_biezace_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwaprzestrzeni==nazwy_np_modul.Category)or(nazwaprzestrzeni==nazwy_np_modul.File))then
czy_wstawiac_dwukropek=true;
end;
end;
return czy_wstawiac_dwukropek;
end;
local pudelko_modul=require("Module:Pudełko");
local jezykowe_projekty=wiki_interwiki_modul.tablica_lokalne_lingwistyczne_siostrzane;
local projekty_nie_en=jezykowe_projekty[kod_projektu_uzyskany_poczatkowy];
local czy_kod_jezyka_uzyskany_poczatkowy=(kod_jezyka_uzyskany_poczatkowy~=kod_jezyka_tego_projektu);
local czy_kod_projektu_uzyskany_poczatkowy=(kod_projektu_uzyskany_poczatkowy~=kod_projektu_tego_projektu);
local html_modul=require("Module:Html");
local function AdresLinku()
local kody_poczatkowe=(not projekty_nie_en and (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or(czy_kod_jezyka_uzyskany_poczatkowy and kod_jezyka_uzyskany_poczatkowy..":"..(czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "")));
local tablica_kodow=kody_poczatkowe..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "");
local czy_wstawiac_dwukropek=((tablica_kodow~="")and (projekty_nie_en and (czy_kod_jezyka_uzyskany_poczatkowy and ":" or "") or "") or (BiezacaWikiDwukropek() and ":" or ""));
local strona;local parametry;local naglowek;
if(czy_nazwa_strony_linku)then
strona=html_modul.EncodeElementyAdresuStrony(nazwa_strony_linku,nil,z_kodowaniem);
end;
if(czy_parametry_strony)then
parametry=html_modul.EncodeElementyAdresuStrony(parametry_strony,true,z_kodowaniem);
parametry="?"..parametry;
end;
if(czy_naglowek_strony)then
naglowek=html_modul.EncodeElementyAdresuStrony(naglowek_strony,nil,z_kodowaniem);
naglowek="#"..naglowek;
end;
local zmienna_linkowa=tablica_kodow..(strona or "") ..(parametry or "")..(naglowek or "");
return zmienna_linkowa, czy_wstawiac_dwukropek;
end;
nazwa=nazwa and mw.ustring.gsub(nazwa,"^[%s_]*","") or nil;
nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]*$","") or nil;
--nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]+"," ") or nil;
if(czy_ogolne and not czy_nazwa)then
if(parametry_modul.CzyTak(wyswietl))then
nazwa=strona_zmienna_tymczasowa;
czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
else
if((czy_pelna_nazwa_strony_prawidlowa)and(nazwastrony~=""))then
nazwa=nazwastrony;
else
nazwa=nazwy_modul["NAZWASTRONY"]{[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_uzyskany_poczatkowy,["kod projektu"]=kod_projektu_uzyskany_poczatkowy,};
end;
czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
end
end;
local zmienna_linkowa;
local aktywny;
if(not czy_wewnetrzny_z_fullurl)then
local czy_wstawiac_dwukropek;
zmienna_linkowa,czy_wstawiac_dwukropek=AdresLinku();
zmienna_linkowa=mw.ustring.gsub(zmienna_linkowa,"[%s_]+"," ");
local czy_za=parametry_modul.CzyTak(za);
if(czy_za or(nazwa and (nazwa~=zmienna_linkowa)))then
zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa..(czy_nazwa and "|"..nazwa..(czy_za and za or "") or (czy_za and ("|"..zmienna_linkowa..za) or "")).."]]"..(czy_po and po or "");
else
zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa.."]]"..(czy_po and po or "");
end
aktywny=false;
else
aktywny=true;
local serwer;
local projekt;
if(projekty_nie_en)then
for kod_specjalny_projektu,kod_projektu_interwiki in pairs(wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie)do
if(kod_projektu_uzyskany_poczatkowy==kod_projektu_interwiki)then
projekt=kod_specjalny_projektu;
end;
end;
end;
local function Protocol(kod_projektu)
local interwikimap=wiki_interwiki_modul.interwikimap;
local url=interwikimap[kod_projektu];
if(not url)then return "";end;
return mw.ustring.match(url,"^([^/]*)//");
end;
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local nazwy_np_modul=require("Module:Nazwy/Np");
local nazwy_modul=require("Module:Nazwy");
local czy_specjalna=(nazwaprzestrzeni==nazwy_np_modul.Special);
local ciag_tablica_kodow_zmienna_tymczasowa=mw.ustring.gsub(strona_zmienna_tymczasowa,"[%s_]+","_");
if(((projekt)and(czy_parametry_strony)and(czy_specjalna))or((projekt)and(wersja_linku=="w")))then
local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((not projekty_nie_en)and(czy_parametry_strony)and(czy_specjalna))or((not projekty_nie_en)and(wersja_linku=="w")))then
local techniczne_modul=require("Module:Techniczne");
local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
local serwer=mw.ustring.match(wiki_nie_jezykowe,"^([^/]*//[^/]*)")
local adres=serwer.."/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((projekt)and(czy_parametry_strony))or((projekt)and(wersja_linku=="wiki")))then
local strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"[_%s]+","_");
local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/wiki/"..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and " "..nazwa..(parametry_modul.CzyTak(za) and za or "") or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
elseif(((not projekty_nie_en)and(czy_parametry_strony))or((not projekty_nie_en)and(wersja_linku=="wiki")))then
local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
local strona_zmienna_tymczasowa,_=mw.ustring.gsub(ciag_tablica_kodow_zmienna_tymczasowa,"[_%s]+","_");
strona_zmienna_tymczasowa=((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
strona_zmienna_tymczasowa=html_modul.EncodeHtml(strona_zmienna_tymczasowa);
strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"([%%])(%d+)","%%%%%2");
strona_zmienna_tymczasowa,_=mw.ustring.gsub(wiki_nie_jezykowe,"$1",strona_zmienna_tymczasowa);
local adres=strona_zmienna_tymczasowa..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
else
local pudelko_modul=require("Module:Pudełko");
zmienna_linkowa=(parametry_modul.CzyTak(klucz_projektu)and ((not(klucz_projektu==pudelko_modul["Klucz projektu tego projektu"]()))and (klucz_projektu..":")or "" )
or ((parametry_modul.CzyTak(kod_jezyka_uzyskany_poczatkowy)and ((not(kod_jezyka_uzyskany_poczatkowy==pudelko_modul["Kod języka tego projektu"]()))and(kod_jezyka_uzyskany_poczatkowy..":")or "") or "")..(parametry_modul.CzyTak(kod_projektu_uzyskany_poczatkowy)and ((not(kod_projektu_uzyskany_poczatkowy==pudelko_modul["Kod projektu tego projektu"]()))and(kod_projektu_uzyskany_poczatkowy..":")or "") or "")))
..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
local strona=(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
local adres=tostring(mw.uri.fullUrl(zmienna_linkowa))..strona;
zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
end;
end;
return zmienna_linkowa,kod_jezyka_koncowy,kod_projektu_koncowy,strona_zmienna_tymczasowa,czy_naglowek_strony,aktywny;
else
local parametry_modul=require("Module:Parametry");
local html_modul=require("Module:Html");
local czy_nazwa;
if(not nazwa)then
nazwa=mw.ustring.match(nazwa_strony_linku,"//[^/]*/(.*)$");
nazwa=html_modul.DecodeHtml(nazwa);
czy_nazwa=parametry_modul.CzyTak(nazwa);
else
czy_nazwa=parametry_modul.CzyTak(nazwa);
end;
local czy_po=parametry_modul.CzyTak(po);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
nazwa_strony_linku=mw.ustring.gsub(nazwa_strony_linku,"[%s_]+","_");
nazwa_strony_linku=mw.ustring.gsub(nazwa_strony_linku,"//([^/]*)/(.*)$", function(s1,s2)return "//"..s1.."/"..html_modul.EncodeHtml(s2);end)
local adres=nazwa_strony_linku..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")
..(czy_naglowek_strony and "#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony)) or "");
local zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
return zmienna_linkowa,nil,nil,nazwa_strony_linku,czy_naglowek_strony,false;
end;
end;
function p.TworzLinkBezPrzetwarzania(klucz_projektu,kod_jezyka,kod_projektu,strona,naglowek,nazwa,za,po,z_kodowaniem)
local parametry_modul=require("Module:Parametry");
local adres=(parametry_modul.CzyTak(klucz_projektu)and (klucz_projektu..":")
or ((parametry_modul.CzyTak(kod_jezyka)and (kod_jezyka..":") or "")..(parametry_modul.CzyTak(kod_projektu)and (kod_projektu..":") or "")))
..strona..(parametry_modul.CzyTak(naglowek) and ("#"..naglowek) or "");
local html_modul=require("Module:Html");
adres=html_modul.AdresProjektuEncodeHtml(adres,z_kodowaniem);
local wartosc="[[:"..adres..(parametry_modul.CzyTak(nazwa) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..(po and po or "");
return wartosc;
end;
function p.LinkOgromne(spanramka,link)
local max_len_link=0;
local iter=mw.ustring.gmatch(link,"([%a%d_]+)");
for value in iter do max_len_link=math.max(max_len_link,#value);end;
if(max_len_link>=20)then spanramka:addClass("link-ogromne");end;
end;
function p.LinkWikidane(link,klucz_projektu,kod_jezyka,kod_projektu,strona,czy_parametry,czy_naglowek,czy_url,aktywny,__FUNKCJA_KLASY_DODATKOWE)
local wiki_modul=require("Module:Wiki");
local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["strona"]=strona,["nagłówek"]=czy_naglowek,["url"]=czy_url,["parametry"]=czy_parametry,["aktywny"]=aktywny,};
local spanramka=mw.html.create('span');
spanramka:addClass("link");
spanramka:addClass(klasa);
----
if(__FUNKCJA_KLASY_DODATKOWE)then __FUNKCJA_KLASY_DODATKOWE(spanramka,link);end;
----
spanramka:wikitext(link);
return tostring(spanramka:allDone());
end;
function p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem)
local parametry_modul=require("Module:Parametry");
parametry_strony=czy_wewnetrzny_z_fullurl and parametry_strony or nil;
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local html_modul=require("Module:Html");
nazwa_strony_linku=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_strony_linku);
local wartosc_parent,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_naglowek_strony,aktywny=p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,z_kodowaniem);
if(parametry_modul.CzyTak(bez_znacznikow))then return wartosc_parent;end;
return p.LinkWikidane(wartosc_parent,nil,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_parametry_strony,czy_naglowek_strony,czy_url,aktywny,p.LinkOgromne);
end;
function p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,naglowek,czy_link_url,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,tabela_nazw,__FUNKCJA)
local nowa_nazwa_strony_linku;
local czy_kreska_dolna;local hash;local prze_nie_main;
local czy_strona_lokalna;
if(not czy_analiza)then
czy_kreska_dolna=mw.ustring.match(nazwa_strony_linku,"^[%s_:]*$") or mw.ustring.match(nazwa_strony_linku,":[%s_]*$");
hash=(not czy_kreska_dolna)and ((not czy_link_url) and mw.ustring.match(nazwa_strony_linku,"^[_%s]*#(.*)$") or nil) or (((czy_kreska_dolna)and(czy_link_url) and require("Module:Parametry").CzyTak(naglowek)) and naglowek or nil);
if((czy_kreska_dolna)or(hash))then
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local miano_przestrzeni_nazw_maly=((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~=""))and mw.ustring.lower(miano_przestrzeni_nazw) or miano_przestrzeni_nazw;
if((not miano_przestrzeni_nazw_maly)or((miano_przestrzeni_nazw_maly=="")or(miano_przestrzeni_nazw_maly=="(main)")or(miano_przestrzeni_nazw_maly=="(główna)")))then
miano_przestrzeni_nazw=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_strony_linku,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,},tabela_nazw);
end;
local nazwa_strony=nazwy_modul["NAZWASTRONY"]({nazwa=nazwa_strony_linku,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,},tabela_nazw);
if(nazwa_strony=="")then
nowa_nazwa_strony_linku,czy_strona_lokalna=p["PrzetłumaczZnakZastępczyNaStronę"](miano_przestrzeni_nazw or "","",kod_jezyka,kod_projektu,hash);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
nowa_nazwa_strony_linku=__FUNKCJA(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main);
return nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
end;
p["GanerujSkładoweURL"] = function(args)
local klucz_projektu_do_projektu_linku;
local kod_jezyka_do_projektu_linku;
local kod_projektu_do_projektu_linku;
local miano_przestrzeni_nazw;
local nazwa_strony_linku=args["strona"] or args["s"] or "_";
local html_modul=require("Module:Html");
nazwa_strony_linku=nazwa_strony_linku and html_modul.DecodeHtml(nazwa_strony_linku) or nil;
local parametry_modul=require("Module:Parametry");
local w=args["wersja linku"] or args["w"];
local tab_w={
["w"]=true,
["wiki"]=true,
};
local wersja_linku=parametry_modul.CzyTak(w) and (tab_w[w] and w or nil) or "";
local _;
local strony_modul=require("Module:Strony");
local czy_url=strony_modul.SprawdzanieURL(nazwa_strony_linku);
local parametry_strony;local naglowek_strony;local nazwa;local po;local po;local za;
nazwa=args["nazwa"] or args["n"];
po=args["po"] or args["p"];
za=args["za"] or args["z"];
local function DaneStrony(nazwa_strony_linku_parametr,adres)
if(parametry_modul.CzyTak(nazwa_strony_linku_parametr))then
if(mw.ustring.match(nazwa_strony_linku_parametr,"^/wiki/"))then
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/wiki/","");
local tabela_nazw_adresu={};
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
elseif(mw.ustring.match(nazwa_strony_linku_parametr,"^/w/"))then
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/w/","");
local tabela_nazw_adresu={};
local html_modul=require("Module:Html");
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
local nazwa_strony_jednostki,parametry_strony_jednostki=html_modul["NazwaStronyZParametrówStronyAdresu"](parametry_strony,true);
parametry_strony=parametry_strony_jednostki or parametry_strony;
nazwa_strony_linku_parametr=nazwa_strony_jednostki or nazwa_strony_linku_parametr;
else
nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/(.*)$","%1");
local tabela_nazw_adresu={};
local html_modul=require("Module:Html");
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true,tabela_nazw_adresu);
end;
else
if((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku))or(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)))then
if((not adres)or(mw.ustring.match(adres,"/$1$")))then
local pudelko_modul=require("Module:Pudełko");
nazwa_strony_linku_parametr=pudelko_modul["Nazwa strony głównej projektu 2"]{[1]=kod_jezyka_do_projektu_linku,[2]=kod_projektu_do_projektu_linku,} or "";
end;
end;
end;
parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or (args["parametry"] or args["c"]);
naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or (args["nagłówek"] or args["g"]);
local biezaca=args["bieżąca"] or args["b"];
local czy_biezaca=parametry_modul.CzyTak(biezaca);
nazwa=nazwa or (czy_biezaca and naglowek_strony or nil);
--nazwa=args["nazwa"] or args["n"];
local klucz_projektu_do_projektu_linku_temp=args["klucz projektu"] or args["k"];
klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(klucz_projektu_do_projektu_linku_temp) and (klucz_projektu_do_projektu_linku_temp) or klucz_projektu_do_projektu_linku;
local kod_jezyka_do_projektu_linku_temp=args["kod języka"] or args["kj"];
kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(kod_jezyka_do_projektu_linku_temp) and (kod_jezyka_do_projektu_linku_temp) or kod_jezyka_do_projektu_linku;
local kod_projektu_do_projektu_linku_temp=args["kod projektu"] or args["kp"];
kod_projektu_do_projektu_linku=parametry_modul.CzyTak(kod_projektu_do_projektu_linku_temp) and (kod_projektu_do_projektu_linku_temp) or kod_projektu_do_projektu_linku;
nazwa_strony_linku=nazwa_strony_linku_parametr;
czy_url=false;
end;
if(not czy_url)then
local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"] or args["f"];
nazwa_strony_linku=parametry_modul["CzyTakCiąg"](miano_przestrzeni_nazw) and miano_przestrzeni_nazw..":"..nazwa_strony_linku or nazwa_strony_linku;
DaneStrony(nazwa_strony_linku);
else
local html_modul=require("Module:Html");
local nazwa_strony_bez_protokolu=html_modul["UrlBezProtokołu"](nazwa_strony_linku);
local serwer,nazwa_strony=html_modul["URLStrona"](nazwa_strony_bez_protokolu);
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local function SerwerWiki(serwer)
local kod_jezyka_zmienna_tymczasowa,kod_specjalny_projektu=mw.ustring.match(serwer,"^(%w+)%.(%w+)%.org");
if((not kod_jezyka_zmienna_tymczasowa)or(not kod_specjalny_projektu))then
kod_jezyka_zmienna_tymczasowa,kod_specjalny_projektu=mw.ustring.match(serwer,"^(%w+)%.[mM]%.(%w+)%.org");
end;
local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;
local kod_projektu=interwikisiostrzaneangielskie[kod_specjalny_projektu];
local kod_jezyka=kod_jezyka_zmienna_tymczasowa and (mw.language.isKnownLanguageTag(kod_jezyka_zmienna_tymczasowa) and kod_jezyka_zmienna_tymczasowa or nil) or nil;
return kod_jezyka,kod_projektu;
end;
local function JezykoweLubAngielskieProjekty(serwer_portalu)
local kod_jezyka,kod_projektu=SerwerWiki(serwer_portalu);
if(kod_jezyka and kod_projektu)then
kod_jezyka_do_projektu_linku=kod_jezyka;
kod_projektu_do_projektu_linku=kod_projektu;
klucz_projektu_do_projektu_linku=nil;
DaneStrony(nazwa_strony);
return true;
else
local pozajezykoweprojektysiostrzane=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane;
local techniczne_modul=require("Module:Techniczne");
for kod, url in pairs(pozajezykoweprojektysiostrzane)do
local adres=html_modul["UrlBezProtokołu"](url);
local serwer_portalu,nazwa_strony_portalu=html_modul["URLStrona"](adres);
if(serwer_portalu)then
if((serwer_portalu==serwer)and((mw.ustring.match(nazwa_strony_portalu,"%$1"))or(nazwa_strony==nazwa_strony_portalu)))then
kod_jezyka_do_projektu_linku=kod_jezyka or "en";
kod_projektu_do_projektu_linku=--[[kod_projektu or]] kod;
local nazwa_strony_spreparowana=nil;
if(not mw.ustring.match(adres,"/wiki/%$1$"))then
if(mw.ustring.match(url,"[:/]$1$"))then
local url_wzor=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](adres);
url_wzor=mw.ustring.gsub(url_wzor,"(%%$1)$","(.-)");
nazwa_strony_spreparowana=mw.ustring.match(nazwa_strony_bez_protokolu,"^"..url_wzor.."$");
if(not nazwa_strony_spreparowana)then
return false;
end;
end;
end;
DaneStrony(nazwa_strony_spreparowana or nazwa_strony,adres);
return true;
end;
end;
end;
end;
end;
local function __FUNKCJA()
if(mw.ustring.match(serwer,"^upload%.wikimedia%.org$"))then
DaneStrony(nazwa_strony);
nazwa_strony=nazwa_strony_linku;
nazwa_strony_linku="Media:"..mw.ustring.match(nazwa_strony,"([^/]*)$");
local kod_projektu_do_projektu_linku2,kod_jezyka_do_projektu_linku2=mw.ustring.match(nazwa_strony,"^([^/]*)/([^/]*)/.*$");
kod_jezyka_do_projektu_linku=kod_jezyka_do_projektu_linku or kod_jezyka_do_projektu_linku2;
kod_projektu_do_projektu_linku=kod_projektu_do_projektu_linku or kod_projektu_do_projektu_linku2;
czy_url=false;
else
local juz_tak=JezykoweLubAngielskieProjekty(serwer);
if(not juz_tak)then
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or (args["nagłówek"] or args["g"]);
local biezaca=args["bieżąca"] or args["b"];
local czy_biezaca=parametry_modul.CzyTak(biezaca);
nazwa=nazwa or (czy_biezaca and naglowek_strony or nil);
parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or (args["parametry"] or args["c"]);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
end;
end;
end;
__FUNKCJA();
end;
local czy_wewnetrzny_z_fullurl;
if(not parametry_modul.CzyTak(parametry_strony))then
if(wersja_linku=="")then
if((klucz_projektu_do_projektu_linku)or(kod_jezyka_do_projektu_linku)or(kod_projektu_do_projektu_linku))then
czy_wewnetrzny_z_fullurl=false;
elseif(not czy_url)then
czy_wewnetrzny_z_fullurl=false;
else
czy_wewnetrzny_z_fullurl=true;
end;
else
czy_wewnetrzny_z_fullurl=true;
end;
else
czy_wewnetrzny_z_fullurl=true;
end;
return klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url;
end;
p["Link wewnętrzny"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local klucz_projektu_do_projektu_linku=args["klucz projektu"] or args["k"];
local kod_jezyka_do_projektu_linku=args["kod języka"] or args["kj"];
local kod_projektu_do_projektu_linku=args["kod projektu"] or args["kp"];
local nazwa_strony_linku=args["strona"] or args["s"] or "_";
local nazwa=args["nazwa"] or args["n"];
local czy_nazwa=parametry_modul.CzyTak(nazwa);
nazwa=czy_nazwa and nazwa or nil;
local po=args["po"] or args["p"];
local za=args["za"] or args["z"];
local naglowek_strony=args["nagłówek"] or args["g"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"] or args["bz"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"] or args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]or args["bk"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"] or args["u"]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"] or args["a"]);
local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
if(not czy_analiza)then
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,{},function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
return nowa_nazwa_strony_linku;
end);
nazwa=czy_nazwa and nazwa or (hash and ("#"..hash) or nil);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((not czy_naglowek)and(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$")))) or nil);
if(not bez_przetwarzania)then
return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_naglowek and naglowek_strony or hash,nazwa,za,po,nil,nil,nil,nil,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
else
local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),czy_naglowek and naglowek_strony or hash,nazwa,za,po,z_kodowaniem);
if(not bez_znacznikow)then
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,nil,czy_naglowek_strony or hash or mw.ustring.match(nazwa_strony_linku,"#"),nil,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
p["LinkURL"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local linki_modul=require("Module:Linki");
local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]) or parametry_modul.CzyTak(args["a"]);
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]) or parametry_modul.CzyTak(args["bz"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or parametry_modul.CzyTak(args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]) or parametry_modul.CzyTak(args["bk"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"]) or parametry_modul.CzyTak(args["u"]);
local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
if((not czy_analiza)and(not czy_url))then
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,{},function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
return nowa_nazwa_strony_linku;
end);
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or (hash and ("#"..hash) or nil);
else
nowa_nazwa_strony_linku=nazwa_strony_linku;
end;
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$"))) or nil);
local function Bez_przetwarzania_lub_bez_znaczkow()
if(parametry_modul.CzyTak(bez_przetwarzania))then
local bez_znacznikow=parametry_modul.CzyTak(bez_znacznikow);
local czy_parametry=parametry_modul.CzyTak(parametry_strony);
local wartosc=((not czy_url)and((parametry_modul.CzyTak(klucz_projektu_do_projektu_linku)and (klucz_projektu_do_projektu_linku..":")
or ((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku)and (kod_jezyka_do_projektu_linku..":") or "")..(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)and (kod_projektu_do_projektu_linku..":") or "")))..nowa_nazwa_strony_linku) or nil);
local link;
local po_linku=parametry_modul.CzyTak(po) and po or "";
if((not czy_url)and((czy_parametry)or(parametry_modul.CzyTak(wersja_linku))))then
local adres=tostring(mw.uri.fullUrl(wartosc,""));
adres=((not parametry_modul.CzyTak(wersja_linku))or(wersja_linku=="wiki")) and adres or mw.ustring.gsub(adres,"/wiki/","/w/index.php?title=",1);
local html_modul=require("Module:Html");
local parametry_i_naglowek=((czy_parametry)and ((((wersja_linku=="w")) and "&" or "?")..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
adres=adres..parametry_i_naglowek;
link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
elseif(czy_url)then
local html_modul=require("Module:Html");
local parametry_i_naglowek=((czy_parametry)and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
local adres=nowa_nazwa_strony_linku..parametry_i_naglowek;
link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
else
local naglowek=(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "");
local adres=wartosc..naglowek;
link="[[:"..adres..((parametry_modul.CzyTak(nazwa)) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..po_linku;
end;
if not bez_znacznikow then
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_parametry_strony,czy_naglowek_strony,czy_url,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
local wynik=Bez_przetwarzania_lub_bez_znaczkow();if(wynik)then return wynik;end;
return linki_modul.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
end;
function p.UzyskajKodWikiLinku(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local linki_modul=require("Module:Linki");
local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local pudelko_modul=require("Module:Pudełko");
kod_jezyka_koncowy=parametry_modul.CzyTak(kod_jezyka_koncowy) and kod_jezyka_koncowy or pudelko_modul["Kod języka tego projektu"]();
kod_projektu_koncowy=parametry_modul.CzyTak(kod_projektu_koncowy) and kod_projektu_koncowy or pudelko_modul["Kod projektu tego projektu"]();
local aktywny;
local czy_nazwa=parametry_modul.CzyTak(nazwa_strony_linku);
if(not czy_nazwa or not mw.ustring.match(nazwa_strony_linku,"_+"))then
if((not czy_nazwa)and((not kod_jezyka_koncowy)or(kod_jezyka_koncowy==pudelko_modul["Kod języka tego projektu"]()))and((not kod_projektu_koncowy)or(kod_projektu_koncowy==pudelko_modul["Kod projektu tego projektu"]())))then
if((parametry_modul.CzyTak(naglowek_strony)) or (not args["strona"] or args["strona"]=="") or ((args["strona"])and(mw.ustring.match(args["strona"],"^[_%s]*#[_%s]*$"))or(nil)))then
aktywny=false;
local nazwy_modul=require("Module:Nazwy");
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]();
end;
else
aktywny=true;
end;
else
aktywny=true;
local pudelko_modul=require("Module:Pudełko");
nazwa_strony_linku=pudelko_modul["Strona główna tego projektu"]();
end;
local nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy);
---
local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_pusta_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
if(not czy_pusta_nazwa_strony_linku)then
local linki_modul=require("Module:Linki");
nazwa_strony_linku,_=linki_modul["PrzetłumaczZnakZastępczyNaStronę"]("","",kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
end;
----
local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=nil,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["strona"]=nazwa_strony_linku,["nagłówek"]=czy_naglowek_strony,["url"]=czy_url,["parametry"]=czy_parametry_strony,["aktywny"]=aktywny,};
return klasa;
end;
p["LinkOgólne"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"] or args["f"];
local czy_dyskusja=parametry_modul.CzyTak(args["dyskusja"] or args["d"]);
local klucz_projektu_do_projektu_linku=args["klucz projektu"] or args["k"];
local kod_jezyka_do_projektu_linku=args["kod języka"] or args["kj"];
local kod_projektu_do_projektu_linku=args["kod projektu"] or args["kp"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]) or parametry_modul.CzyTak(args["bz"]);
local wyswietl_miano_przestrzeni_nazw=args["wyświetl miano przestrzeni nazw"] or args["wyświetl"] or args["w"];
local nazwa_strony_linku=args[1] or "_";
local czy_nazwa=parametry_modul.CzyTak(args[2]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]) or parametry_modul.CzyTak(args["a"]);
local z_kodowaniem=parametry_modul.CzyTak(args["uri"]) or parametry_modul.CzyTak(args["u"]);
local nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
local czy_niepusta_nazwa_przestrzeni_nazw;
local nazwy_modul=require("Module:Nazwy");
local czy_aktualna_wiki;
if(not czy_analiza)then
local tabela_nazw={};
miano_przestrzeni_nazw=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or "";
nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,nil,nil,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,tabela_nazw,function(nowa_nazwa_strony_linku,czy_dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
if(czy_dyskusja)then
local tabela_nazw_temp={};tabela_nazw_temp.czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;
nowa_nazwa_strony_linku=nazwy_modul["NAZWASTRONYDYSKUSJI"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["bez zmiany adresu"]="tak",},tabela_nazw_temp);
end;
return nowa_nazwa_strony_linku;
end);
czy_aktualna_wiki=tabela_nazw.czy_aktualna_wiki;
else
prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
end;
local tabela_nazw={};tabela_nazw.czy_aktualna_wiki=czy_aktualna_wiki;
local czy_biezaca;
local czy_nazwa_strony_pusta;
local wiki_modul=require("Module:Wiki");
if((czy_dyskusja)or(czy_analiza))then
czy_nazwa_strony_pusta=mw.ustring.match(nazwa_strony_linku,"^[%s_:]*$");
if((not czy_nazwa_strony_pusta)or((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~="")))then
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
local nazwy_modul=require("Module:Nazwy");
if(czy_biezaca)then
miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"](nowa_nazwa_strony_linku,tabela_nazw);
else
miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
end;
czy_niepusta_nazwa_przestrzeni_nazw=parametry_modul.CzyTak(miano_przestrzeni_nazw);
end;
elseif(hash or czy_kreska_dolna)then
czy_niepusta_nazwa_przestrzeni_nazw=true;
elseif(not prze_nie_main)then
miano_przestrzeni_nazw="";
czy_niepusta_nazwa_przestrzeni_nazw=false;
else
miano_przestrzeni_nazw=prze_nie_main;
czy_niepusta_nazwa_przestrzeni_nazw=true;
end;
local techniczne_modul=require("Module:Techniczne");
local czy_wyswietl_miano_przestrzeni_nazw=parametry_modul.CzyTak(wyswietl_miano_przestrzeni_nazw);
local function NazwaLinkuDoStrony()
local function CzyPrzestrzen(miano_przestrzeni_nazw)
local czy_biezaca;
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
local miano_przestrzeni_nazw;
if(czy_biezaca)then
miano_przestrzeni_nazw=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
miano_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or miano_przestrzeni_nazw;
end;
return miano_przestrzeni_nazw;
end;
local function Nazwa2(nazwa,czy_wyswietl_miano_przestrzeni_nazw)
if(czy_wyswietl_miano_przestrzeni_nazw)then
return nazwa;
else
nazwa=nazwy_modul["NAZWASTRONY"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
if(tabela_nazw.m)then
nazwa=mw.getContentLanguage():lcfirst(nazwa);
end;
return nazwa;
end;
end;
local function Nazwa(nazwa)
local ile;local ile2=0;
if((czy_analiza) and (not bez_przetwarzania))then
nazwa=techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa) or nazwa;
nazwa,ile=mw.ustring.gsub(nazwa,"^[%s_:]*(.+)[%s_:]*:[%s_]*$",function(nazwaprzestrzeni)
local nazwa_przestrzeni=CzyPrzestrzen(nazwaprzestrzeni)
if(nazwa_przestrzeni)then
return nazwa_przestrzeni..":".."%s";
end;
ile2=ile+1;
end);
else
nazwa,ile=mw.ustring.gsub(nazwa,"^[%s_:]*(.+)[%s_:]*:[%s_]*$",function(nazwaprzestrzeni)
local nazwa_przestrzeni=CzyPrzestrzen(nazwaprzestrzeni)
if(nazwa_przestrzeni)then
return nowa_nazwa_strony_linku;
end;
ile2=ile2+1;
end);
end;
if(ile-ile2==0)then
return Nazwa2(nazwa,czy_wyswietl_miano_przestrzeni_nazw);
else
return nazwa;
end;
end;
local function NazwaFormat(wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta)
if((not czy_analiza)or(bez_przetwarzania))then return nil;end;
if(czy_wyswietl_miano_przestrzeni_nazw)then
if(czy_nazwa_strony_pusta)then
if(not miano_przestrzeni_nazw)then
return "%s:%s";
else
return miano_przestrzeni_nazw..((miano_przestrzeni_nazw~="") and ":" or "").."%s";
end;
end;
else
if(czy_nazwa_strony_pusta)then
return "%s";
end;
end;
end;
if(czy_niepusta_nazwa_przestrzeni_nazw)then
if(czy_wyswietl_miano_przestrzeni_nazw)then
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
nazwa_strony_linku=((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa_strony_linku) or nazwa_strony_linku;
if((czy_nazwa_strony_pusta)and(czy_analiza)and(not bez_przetwarzania))then nazwa_strony_linku="%s";end;
----
local aliases;
local alias=args["alias miana przestrzeni nazw"] or args["alias"] or args["i"];
local czy_alias=parametry_modul.CzyTak(alias);
if(czy_alias)then
if((not czy_dyskusja)and(not czy_analiza))then
local wiki_modul=require("Module:Wiki");
if(tabela_nazw.czy_aktualna_wiki==nil)then
czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
else
czy_biezaca=tabela_nazw.czy_aktualna_wiki;
end;
end;
if(czy_biezaca)then
local uchwyt=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak"}
if(uchwyt)then
aliases=uchwyt.aliases;
--miano_przestrzeni_nazw=uchwyt.name;
end;
else
local uchwyt=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(uchwyt)then
if(parametry_modul.TypeTable(uchwyt))then
aliases=uchwyt.aliasy;
--miano_przestrzeni_nazw=uchwyt[1];
else
--miano_przestrzeni_nazw=uchwyt;
aliases={};
end;
end;
end;
end;
----
if((czy_alias)and(parametry_modul.CzyTak(aliases)))then
if(parametry_modul["CzySąElementyNumerowaneTablicy"](aliases))then
alias=mw.getContentLanguage():uc(alias);
for _,value in pairs(aliases)do
if((mw.getContentLanguage():uc(value))==alias)then
return alias..":"..nazwa_strony_linku;
end;
end;
end;
end;
if(not miano_przestrzeni_nazw)then return nil;end;
local miano_przestrzeni_nazw_zmienna_tymczasowa;
if(czy_biezaca)then
miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
nazwa_strony_linku=((miano_przestrzeni_nazw_zmienna_tymczasowa)and(not czy_nazwa_strony_pusta)and(not prze_nie_main)) and nazwy_modul["NAZWASTRONY"](nowa_nazwa_strony_linku,tabela_nazw) or nazwa_strony_linku;
else
miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or miano_przestrzeni_nazw;
nazwa_strony_linku=((miano_przestrzeni_nazw_zmienna_tymczasowa)and(not czy_nazwa_strony_pusta)and(not prze_nie_main)) and nazwy_modul["NAZWASTRONY"]{nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,tabela_nazw} or nazwa_strony_linku;
end;
if(not miano_przestrzeni_nazw_zmienna_tymczasowa)then return nil;end;
return ((miano_przestrzeni_nazw_zmienna_tymczasowa~="") and (miano_przestrzeni_nazw_zmienna_tymczasowa..":") or "")..((((czy_analiza)and(not bez_przetwarzania))and(nazwa_strony_linku=="")) and "%s" or nazwa_strony_linku);
else
local nazwa=hash and("#"..hash) or nowa_nazwa_strony_linku;
nazwa=((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](nazwa) or nazwa;
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
else
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
if((czy_nazwa_strony_pusta)and((czy_analiza)and(not bez_przetwarzania)))then
return "%s";
end;
local nazwa=nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
else
if((czy_nazwa_strony_pusta)and((czy_analiza)and(not bez_przetwarzania)))then
return "%s";
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa=hash and ("#"..hash) or nazwy_modul["NAZWASTRONY"]({nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,},tabela_nazw);
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
end;
else
if(not czy_nazwa)then
if((not czy_kreska_dolna)and(not hash))then
local wynik_nazwa=NazwaFormat(czy_wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta);
if(wynik_nazwa)then return wynik_nazwa;end;
local nazwa=nowa_nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
else
if(czy_nazwa_strony_pusta)then
local wynik_nazwa=NazwaFormat(czy_wyswietl_miano_przestrzeni_nazw,miano_przestrzeni_nazw,czy_nazwa_strony_pusta);
if(wynik_nazwa)then return wynik_nazwa;end;
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa=hash and("#"..hash) or nowa_nazwa_strony_linku;
nazwa=Nazwa(nazwa);
return nazwa;
end;
end;
end;
end;
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or parametry_modul.CzyTak(args["bp"]);
local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]) or parametry_modul.CzyTak(args["bk"]);
local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~=""))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$"))))) or nil);
local nazwa=czy_nazwa and (args[2] and (((czy_analiza) and (not bez_przetwarzania)) and techniczne_modul["TekstBezOdwołańDoPodstawieńElementówWFunkcjiFormat"](args[2]) or args[2]) or nil) or NazwaLinkuDoStrony();
local po=args["po"] or args["p"];
local za=args["za"] or args["z"];
if(not bez_przetwarzania)then
return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,hash,nazwa,za,po,false,nil,nil,nil,true,wyswietl_miano_przestrzeni_nazw,czy_dyskusja,bez_przetwarzania_kodow,bez_znacznikow,z_kodowaniem);
else
local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),hash,nazwa,za,po,z_kodowaniem);
if(not bez_znacznikow)then
return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,nil,hash or ((not czy_kreska_dolna) and mw.ustring.match(nazwa_strony_linku,"#") or nil),nil,nil,p.LinkOgromne);
else
return link;
end;
end;
end;
function p.ZamianaKategoriiNaLinki(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local tekst=PobierzParametr("tekst") or PobierzParametr(1);
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=wm.loadData("Module:Nazwy/Np");
local kategoria_polska=nazwy_np_modul.Category;
local wzor_kategorii_polskiej=techniczne_modul["WzórDanejPrzestrzeniNazw"](kategoria_polska)
tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
return tekst;
end;
return p;
qir1rqgeim57ine5qws1wmnf3caw996
Moduł:StronicowyParser/Potrzebne
828
58155
546611
546482
2026-06-13T17:51:44Z
Persino
2851
546611
Scribunto
text/plain
local p={};
function p.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw_spisu_rzeczy_szablon,kod_num)
local numer_parametru;
if(not tabela_nazw_spisu_rzeczy_szablon.numer_parametru)then
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_spisu_rzeczy;
if(not kod_num)then
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
else
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_linkowe_spisu_rzeczy;
end;
numer_parametru=tab_spisu_rzeczy[nazwa_szablonu];
if(not numer_parametru)then return nil;end;
tabela_nazw_spisu_rzeczy_szablon.numer_parametru=numer_parametru;
else
numer_parametru=tabela_nazw_spisu_rzeczy_szablon.numer_parametru;
end;
local indeks=numer_parametru[numer];
for p,_ in ipairs(indeks) do
local parametr=tabela_parametrow_szablonu[indeks[p]];
if(parametr)then
return parametr;
end;
end;
return nil;
end;
function p.LiczonyHNumer()
local tab={};
local h_numer_zapamietane=nil;
--local ostatnie_poprz=nil;
return function(h_numer,h_numer_nowe)
if(h_numer==0)then
if(#tab>0)then
local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
return ostatnie_poprz;
end;
return nil;
elseif(h_numer<0)then
h_numer=math.abs(h_numer);
end;
local ostatnie;---=tab[h_numer];
local max_h_numer=nil;local min_h_numer=nil;
local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true;
for i=#tab,1,-1 do
----
local h_numer_pos,ostatnie_pos=unpack(tab[i]);
if(ostatnie_ost_prawda)then
if(h_numer_pos==h_numer)then
ostatnie_ost=ostatnie_pos;
break;
end;
ostatnie_ost_prawda=nil;
end;
----
if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then
if((h_numer_pos or 0)<=(max_h_numer or h_numer))then
ostatnie_max=ostatnie_pos;
max_h_numer=h_numer_pos;
end;
end;
end;
if(ostatnie_ost)then
ostatnie=ostatnie_ost;
else
ostatnie=(ostatnie_max or 0)+1;
end;
local h_numer_poprz,ostatnie_poprz=nil,nil;
if(#tab>0)then
h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
end;
if(ostatnie>(ostatnie_poprz or 0)+1)then
ostatnie=(ostatnie_poprz or 0)+1;
end;
table.insert(tab,{h_numer,ostatnie,});
if(h_numer_nowe)then
local roznica=h_numer_nowe-ostatnie;
if(roznica==0)then
return ostatnie;
end;
local tab2={};
for i,tabs in pairs(tab)do
local name,value=unpack(tabs);
tab2[i]={name,value+roznica,};
end;
tab=tab2;
return h_numer_nowe;
end;
return ostatnie;
end;
end;
function p.PoziomAdresu(adres)
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
end;
return i;
end;
function p.NazwaNadStrony(adres,numer)
if((numer)and(numer==0))then return nil;end;
if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end;
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
if(i==numer)then
return mw.ustring.sub(adres,1,p-1);
end;
end;
return adres;
end;
function p.SubNazwaNadStrony(adres,numer,krok)
if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end;
krok=krok or 1;
if((krok<1)or(krok~=math.floor(krok)))then return adres;end;
local lens=#adres;
local i=1;
local a=nil;local b=nil;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
if(i==numer)then
if(not a)then a=p+1;end;
end;
if(i==numer+krok)then
if(not b)then b=p-1;break;end;
end;
end;
end;
if(not a)then a=1;end;
if(not b)then b=lens;end;
return mw.ustring.sub(adres,a,b);
end;
function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"];
local nazwa_jednostki=self.args["nazwa jednostki"];
if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
local tabela_nazw_adresu={};
self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]());
local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]());
local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true);
pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki);
---
local techniczne_modul=require("Module:Techniczne");
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,};
pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki);
local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki);
if(strona)then pelna_nazwa_jednostki=strona;end;
local nazwy_modul=require("Module:Nazwy");
self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki);
self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki);
self.parametry_woluminu=false;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu];
if(not tab_lista_artykulow_w_ksiazce)then
return;
end;
local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy;
if(oryginalna_ksiazka)then
self.nazwa_przestrzeni=oryginalna_ksiazka[1];
self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2];
self.nazwa_woluminu=oryginalna_ksiazka[3];
end;
else
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self.parametry_woluminu=true;
end;
end;
function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local self_tab;
if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then
if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
if(not tabela_listy_danych_analizy_ksiazki)then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki;
local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki;
local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
end;
end;
if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then
return nil,nil,nil,nil,nil;
end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]]
end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)];
if(not tab_lista_artykulow_w_ksiazce)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil;
end;
local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
function p.AnalizujArgumentySzablonu(self,frame)
local parametry_modul=require("Module:Parametry");
self.args=parametry_modul.PobierzArgsParametry(frame,true);
end;
function p.Args(self)
return self.args;
end;
function p.Self(self,tabela_listy_danych_analizy_ksiazki)
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local self_tab={};
self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu_podana=self.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu;
return self_tab,tabela_listy_danych_analizy_ksiazki;
end;
function p.KompletnaNazwaWoluminu(self,frame)
return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu
end;
function p.NazwaPodStronyWoluminu(self,frame)
return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or "");
end;
function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana)
local stronicowyparser_modul=require("Module:StronicowyParser");
local nazwy_modul=require("Module:Nazwy");
local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie;
local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil;
local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul;
return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~=""))
and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul)
or artykul;
end;
function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)
p:AnalizujArgumentySzablonu(frame);
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local tab_naglowkow={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1];
local czy_centrowany=tab_lista[1][2][4];
if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then
table.insert(tab_naglowkow,rozdzial);
end;
end;
self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow;
return tab_naglowkow;
end;
function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu-2);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2];
return artykul;
end;
function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1];
return artykul;
end;
function p.PierwszyNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[1];
end;
function p.OstatniNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)];
end;
function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
return self.len_pomiedzy_napisu_wprowadzenia_tekstu;
end;
function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)
local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame);
local parametry_modul=require("Module:Parametry");
return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow);
end;
function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)
p:AnalizujArgumentySzablonu(frame);
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
if(not tab_lista_artykulow_w_ksiazce_spis)then
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu;
inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy;
dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu;
end;
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local args=p:Args();
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykulow=(not czy_naglowek) and {} or nil;
local tab_listy_artykulow={};
local tab_listy_artykulow_spis={};
local czy_inne_spisy=false;
local html_modul=require("Module:Html");
local nazwa_tabeli_danego_spisu_tresci=args["spis"];
if(nazwa_tabeli_danego_spisu_tresci)then
local techniczne_modul=require("Module:Techniczne");
nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true);
nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci);
nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",};
nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,"");
local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame)
local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci;
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu);
if(strona)then
local nazwy_modul=require("Module:Nazwy");
nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona);
end;
end;
local czy_dany_spis=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local poziom_rozdzialu=tab_lista[1][2][1];
local nazwa_spisu=nil;
if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then
local spis=tab_lista[1]["spis"];
nazwa_spisu=spis and spis[1] or nil;
----
if(not nazwa_tabeli_danego_spisu_tresci)then
if(nazwa_spisu)then
if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end;
local spis_artykulow=tab_listy_artykulow["spis"];
spis_artykulow[nazwa_spisu]={};
tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu];
czy_inne_spisy=true;
else
local dodatkowe=tab_lista[1]["dodatkowe"];
if(dodatkowe)then
tab_listy_artykulow["dodatkowe"]={};
tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"];
czy_inne_spisy=true;
end;
end;
else
if(nazwa_spisu)then
if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then
czy_dany_spis=true;
else
if(czy_dany_spis)then
czy_dany_spis=nil;
break;
else
czy_dany_spis=nil;
end;
end;
end;
end;
end;
if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then
local pomin_pozycje=true;
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if((not pomin_pozycje)or(not nazwa_spisu))then
local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
----
artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek);
----
if(czy_naglowek or (not tab_artykulow[artykul]))then
if(not czy_naglowek)then tab_artykulow[artykul]=true;end;
local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil;
local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil;
local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil;
table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
else
pomin_pozycje=false;
end;
end;
end;
end;
local stronicowyparser_modul=require("Module:StronicowyParser");
local parametry_modul=require("Module:Parametry");
--local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly;
if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy)))
and((not dodatkowe_artykuly)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly)))
))then
local tablica_spisu_glownego;
if(not nazwa_tabeli_danego_spisu_tresci)then
if(czy_inne_spisy)then
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {};
tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci];
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego);
return function()
local wartosc=iter_glowny();
if(not wartosc)then return nil;end;
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil);
local nazwa=czy_table_wartosc and wartosc[2] or nil;
local przekierowanie=czy_table_wartosc and wartosc[3] or nil;
local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
local wykorzystane_spisy={};
local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {});
local czy_dodatkowe_zaanalizowane=false;
local function IteratorMain(wartosc,numer)
----
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[wartosc];
if(tabela_spisu)then
if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then
tabela_spisu=nil;
else
wykorzystane_spisy[wartosc]=true;
end;
end;
local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
----
local tak=nil;
local iter2=nil;
local function Iterator()
local function IterMain()
local wartosc=iter();
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
if(not wartosc)then
if(numer~=0)then
return nil;
else
local function InneSpisy()
--if(aa<10)then return nil;end;
local spis=iter_innych_spisow();
if(not spis)then
if(czy_dodatkowe_zaanalizowane)then return nil;end;
local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"];
if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end;
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {});
czy_dodatkowe_zaanalizowane=true;
wartosc=iter();
return true;
end;
local czy_table_spis=parametry_modul.TypeTable(spis);
local spis_artykul=czy_table_spis and spis[1] or spis;
if(not wykorzystane_spisy[spis_artykul])then
wykorzystane_spisy[spis_artykul]=true;
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[spis_artykul];
if(tabela_spisu)then
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
wartosc=iter();
if(not wartosc)then
return InneSpisy();
end;
else
return InneSpisy();
end;
else
return InneSpisy();
end;
return true;
end;
local koniec=InneSpisy();
if(not koniec)then return nil;end;
end;
end;
----
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc);
nazwa=czy_table_wartosc and wartosc[2] or nil;
przekierowanie=czy_table_wartosc and wartosc[3] or nil;
pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
----
artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul);
----
tak=true;
iter2=IteratorMain(artykul,numer+1);
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
if(not tak)then
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2();
if(not artykul)then
tak=nil;
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
end;
return Iterator;
end;
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0);
end;
function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)
local frame=mw.getCurrentFrame();
local nazwy_modul=require("Module:Nazwy");
local techniczne_modul=require("Module:Techniczne");
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly);
for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do
if(pelna_nazwa_ksiazki)then
if(co_ma_wykrywac)then
if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then
local czy_przekierowanie=pelna_nazwa_ksiazki[6];
if(czy_przekierowanie)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(pelna_nazwa_ksiazki[5])then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
end;
else
if((nazwa_artykulu==przekierowanie))then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,2;
end;
end;
else
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,};
if(ile>0)then
return nazwa_artykulu,3;
else
return nazwa_artykulu,4;
end;
end;
end;
end;
else
if(not co_ma_wykrywac)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(przekierowanie)then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return przekierowanie,2;
end;
end;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return nazwa_artykulu,3;
end;
end;
end;
end;
end;
end;
function p.ObliczeniaInformacje(self,frame)
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return nil;end;
----
self.tab_artykul={};
----
for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do
table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
self.len_tab_artykul=#self.tab_artykul;
return true;
end;
function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer)
if(numer==0)then return tablica,0;end;
local s=0;
for i=#tablica,1,-1 do
local artykul=tablica[i][1];
local numer_artykulu_w_bazie=p.PoziomAdresu(artykul);
if(numer~=numer_artykulu_w_bazie)then
table.remove(tablica,i);
s=s+1;
end;
end;
return tablica,s;
end;
function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2);
local artykul=tab_artykul[reszta_pomiedzy_artykul+2];
return artykul;
end;
function p.LosowaStronaWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul);
local artykul=tab_artykul[reszta_pomiedzy_artykul+1];
return artykul;
end;
function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local szablonowe_modul=require("Module:Szablonowe");
local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow))
or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow))
)then
return nil,false;
end;
local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true);
if(not czy_powodzenie)then
return nil,false;
end;
nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu;
return nazwa_szablonu,true;
end;
nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu;
return nazwa_szablonu;
end;
function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow)
if(lista_elementow_spisu_tresci==nil)then return nil;end;
local twor_listy="";
local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2];
local poziom=1;
local num={};
local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or "";
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do
local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}");
local adres=element_w_tablicy[1][1];
local naglowek=element_w_tablicy[1][2];
local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil);
if(czy_w_tym_szablony)then
local specjalne_modul=require("Module:Specjalne");
adres=specjalne_modul["PrzetwórzNagłówek"](adres,true);
naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false);
end;
adres=nazwa_strony_z_naglowkami.."#"..adres;
----
if(licznik==1)then
num[#num+1]=1;
twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
else
if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then
num[#num]=num[#num]+1;
twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then
num[#num+1]=1;
poziom=poziom+1;
twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then
local num_length=#num;
for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do
table.remove(num);
end;
num[#num]=num[#num]+1;
local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2];
poziom=poziom-roznica_poziomow;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'
.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
end;
end;
end;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0);
return twor_listy;
end;
function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij)
local frame=frame or mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
local bez_przypisow=PobierzParametr("bez przypisów");
bez_przypisow=parametry_modul.CzyTak(bez_przypisow);
local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow);
local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka);
if(not toc_czy_tocramka)then
local czy_ukryte=twor_listy;
local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu";
local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem";
local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%";
local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści";
local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x);
local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu);
local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego);
local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki);
local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami);
local maxwidth=PobierzParametr("max-width");
local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil;
local klasa=PobierzParametr("klasa");
twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>";
local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|tytuł=<div class="tytuł_spisu_treści" style="text-align:left;font-size:1em;background-color:white;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;">'..spis_tresci..'</div>|spis='..twor_listy..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}';
local rozwiniety_wikikod=frame:preprocess(wikikod_menu);
return rozwiniety_wikikod;
else
return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or "");
end;
end;
function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2)
if(obiekt~="SZABLON")then return;end;
--uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+","");
--local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu];
----
local szablonowe_modul=require("Module:Szablonowe");
----
local function GlownaFunkcja(wywolanie,obiekt,kod)
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
__Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie,obiekt,kod,tab_numer);
if(__Funkcja2)then
__Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu);
end;
end);
end;
GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod);
end;
function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then
if(not czy_naglowek)then
return artykul[1];
else
return artykul;
end;
end;
return artykul;
end;
function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul)
local parametry_modul=require("Module:Parametry");
local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul);
if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end;
return czy_table_baza_artykulu;
end;
function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end;
return tab_artykulu;
end;
function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end;
return tab_artykulu;
end;
function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony)
local parametry_modul=require("Module:Parametry");
parametry=parametry_modul.CzyTak(parametry) and parametry or nil;
naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil;
return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony;
end;
function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tab_artykul))then
if(pomin_link or tab_artykul["LINK"])then
local nazwa_artykulu_strony=tab_artykul[1];
if(naglowek)then
local parametry=tab_artykul[2];
local naglowek=tab_artykul[3];
return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or "");
else
return nazwa_artykulu_strony;
end;
else
return tab_artykul;
end;
else
return tab_artykul;
end;
end;
function p.DekodowanieTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,czy_nie_odstepy)
if(not tekst)then return tekst;end;
local szablonowe_modul=require("Module:Szablonowe");
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local html_modul=require("Module:Html");
tekst=html_modul.DecodeHtml(tekst,true,nil,nil,czy_nie_odstepy);
return tekst;
end;
function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory)
----
local szablonowe_modul=require("Module:Szablonowe");
local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu());
if(not czy_kodowanie)then return nil,true;end;
if(not czy_uwzgledniac_modyfikatory)then
local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:");
if(czy_modyfikatory)then return nil,false;end;
end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
--local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
--local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
---
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza
----
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local czy_szablon_wszystko=false;
local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if(obiekt=="SZABLON")then
local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if((tab_szablony[nazwa_szablonu])
---or(tab_naglowki[nazwa_szablonu])
--or(tab_tekst[nazwa_szablonu]
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
or(tab_szablony_strona_zbiorcza[nazwa_szablonu])
or(tab_szablony_strona_start[nazwa_szablonu])
or(mw.ustring.match(nazwa_szablonu,"^Link%u"))
)then return nil,false;end;
for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do
if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua)
or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/"))
)then
return nil,false;
end;
end;
return true,true;
end);
czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik);
return wynik;
end;
return true;
end);
if(czy_szablon_wszystko)then
local frame=mw.getCurrentFrame();
nazwa_szablonu=frame:preprocess(nazwa_szablonu);
end;
return nazwa_szablonu,true;
end;
function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja;
if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end;
local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu];
if(nazwa_linku)then return nazwa_linku,true;end;
local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja;
local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(przez_literowa)then
local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa;
return nazwa,true;
end;
if(ustep=="")then
if(prze=="u")then return "LinkUstęp"..dwa,true;end;
if(prze=="o")then return "LinkOgólne"..dwa,true;end;
end;
else
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze];
if(projektowe_literowe)then
ustep=litery_przestrzeni_kolidacja[ustep] or ustep;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..dwa,true;
end;
end;
end;
return nazwa_szablonu,false;
else
local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt];
if(projektowe_literowe)then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true;
end;
end;
end;
end;
return nazwa_szablonu,false;
end;
end;
function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku;
end;
end;
end;
nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa;
local function AnalizaSzablonowaLinku()
local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$");
if(not nazwa)then return;end;
if(dwa=="")then dwa=nil;else dwa=true;end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
----
local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne;
local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu;
local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe;
----
local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$")
nazwa=nazwa_nowa or nazwa;
local czy_ustep=ustep_nowa and true or false;
local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$");
if(przestrzen)then
local przestrzenne=tab_przestrzen[przestrzen];
if(przestrzenne)then
return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
----
local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$");
if(jezyk and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen];
if(jezykowe and przestrzenne)then
return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,};
end;
----
local projektowe=tab_projektowe[jezyk];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,};
end;
end;
-----
local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$");
if(jezyk and projekt and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen]
if(jezykowe and projektowe and przestrzenne)then
return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,}
end;
local projektowe=tab_projektowe[jezyk..projekt];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
return nil;
end;
local wynik=AnalizaSzablonowaLinku();
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik;
end;
return wynik;
end;
function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
--local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
--local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne;
local nazwa_zamiast_linku;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="Sekcja referencyjna")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2];
if(nazwa)then return nazwa;end;
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1];
local parametry_modul=require("Module:Parametry");
local czy_strona=parametry_modul.CzyTak(strona) and true or false;
if(not czy_strona)then
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"]();
end;
local ustep=tabela_parametrow_szablonu["ustęp"];
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
local czy_ustep=parametry_modul.CzyTak(ustep);
if(not czy_strona)then czy_ustep=not czy_ustep;end;
nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
elseif(nazwa_szablonu=="Link wewnętrzny")then
nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "")
elseif(nazwa_szablonu=="LinkOgólne")then
nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1];
elseif(nazwa_szablonu=="SpisTreści")then
local nazwa=(tabela_parametrow_szablonu["nazwa"]
or tabela_parametrow_szablonu[3]
or tabela_parametrow_szablonu["artykuł"]
or tabela_parametrow_szablonu[1]);
if(nazwa)then
local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4];
if(dodatek)then dodatek=" "..dodatek;else dodatek="";end;
nazwa_zamiast_linku=nazwa..dodatek;
end;
elseif(nazwa_szablonu=="LinkURL")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"];
if(nazwa)then
nazwa_zamiast_linku=nazwa;
else
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"];
nazwa_zamiast_linku=strona;
end;
end;
if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku;
end;
end;
return nazwa_zamiast_linku;
end;
function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy;
local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu];
if(tab_spis)then
local czy_true=tab_spis[1];
local parametr;local numer;
if(czy_true)then
parametr=tabela_parametrow_szablonu[tab_spis.numer_link];
else
parametr=tabela_parametrow_szablonu[tab_spis.link];
local numer=tabela_parametrow_szablonu[tab_spis.numer];
parametr=(parametr and numer)and (numer.." "..parametr) or (parametr);
end;
if((parametr)and(parametr~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr;
end;
end;
return parametr;
end;
return nil;
end;
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
local numer;
if((obiekt)and(kod))then
if(obiekt=="SZABLON")then
numer=-2;
elseif(obiekt=="LINKW")then
numer=-3;
elseif(obiekt=="LINKZ")then
numer=-4;
end;
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5];
end;
end;
end;
end;
local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych);
if((obiekt)and(kod))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,};
end;
end;
return local1,local2,local3,local4,local5;
end;
function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
----
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local pozycja_artykulu=nil;local nazwa=nil;
local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci);
if(not czy_tabela_do_parsowania_artykulu)then
pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$");
if(not((pozycja_artykulu)and(nazwa)))then
pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$");
end;
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy")
local techniczne_modul=require("Module:Techniczne");
local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci);
local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]])
----
--local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true);
--local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true);
----
strona=html_modul["NazwaStronyAdresu"](strona,true);
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,};
----
local tabela_nazw_strona={};
local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona);
local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona);
--if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and
--[[else]]
if(tab_nazwa_spisow_przekierowaniowych)then
local techniczne_modul=require("Module:Techniczne");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona);
local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie)
local tabela_nazw_przekierowanie={};
----
local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony));
----
local tabela_nazw_adresu_przekierowania={};
local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
----
if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then
local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki))));
if(czy_inne_ksiazka)then
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true;
end;
end;
return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,};
else
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,};
else
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
end;
end;
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,nil,true);
else
if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])
and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},};
end;
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,"");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki);
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,true,false);
end;
end;
end;
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry,naglowek,};
end
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
---
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then
if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then
----
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil)
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local tabela_nazw_adresu_artykulu={};
parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
----
local czy_pozycja_artykulu=pozycja_artykulu;
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local nazwy_modul=require("Module:Nazwy");
--local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,};
strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwa_przestrzeni_strony==nazwy_np_modul.Main)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni_strony==nazwy_np_modul.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
elseif(
czy_link
or parametry_modul.CzyTak(klucz_projektu)
or parametry_modul.CzyTak(kod_jezyka)
or parametry_modul.CzyTak(kod_projektu)
or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File))
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
else
local pozycja_artykulu_stara=pozycja_artykulu;
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"]();
local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"]();
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local nazwa_strony_linku;
local uzyskana_nazwa_strony_linku;
if(czy_nie_dwukropek)then
nazwa_strony_linku=pozycja_artykulu;
else
local kod_jezyka_poczatkowy, kod_projektu_poczatkowy;
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy);
uzyskana_nazwa_strony_linku=nazwa_strony_linku;
end;
----
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local nazwy_modul=require("Module:Nazwy");
----
local tabela_nazw_artykul={};
local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
local nazwa_kanoniczna_przestrzeni;
local biezaca_wiki;
if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then
biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
else
biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki;
end;
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(biezaca_wiki)then
local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false;
if(nazwa_przestrzeni)then
if((nazwa_przestrzeni==nazwy_np_modul.Main)
or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni==nazwy_np_modul.User)
)then
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
elseif(
czy_link
or (nazwa_strony_linku~=pozycja_artykulu)
or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File))
)then
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul)
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_kanoniczna_przestrzeni)then
if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
---
local czy_pozycja_artykulu=nil;
if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then
local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$");
if(link_szablon)then
local szablonowe_modul=require("Module:Szablonowe");
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="SpisTreści")then
local tabela_nazw_spis_rzeczy={};
pozycja_artykulu=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
------
local nazwa_ksiazki=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not nazwa_ksiazki)then
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
local nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
------
return {pozycja_artykulu,nazwa,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {pozycja_artykulu,nil,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
local adres=nazwa_spisu_tresci..((pozycja_artykulu~="")and ("/"..pozycja_artykulu)or "");
adres=p.DekodowanieNazwySzablonu(adres,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(adres);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(adres,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Sekcja referencyjna")then
local tabela_nazw_sekcja_referencyjna={};
local strona=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local podstrona=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
-----
strona=strona and p.DekodowanieTekstu(strona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or strona;
podstrona=podstrona and p.DekodowanieTekstu(podstrona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or podstrona;
-----
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
if(nazwa)then
local html_modul=require("Module:Html");
nazwa=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(nazwa);
nazwa=parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",[4]="tak",};
end;
----
local ustep=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_malej=p.SpisRzeczySzablon(nazwa_szablonu,5,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_duzej=p.SpisRzeczySzablon(nazwa_szablonu,6,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local nazwa_przestrzeni_nazw=p.SpisRzeczySzablon(nazwa_szablonu,7,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local nazwa_jednostki=p.SpisRzeczySzablon(nazwa_szablonu,8,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
----
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,nil,true);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_ref=html_modul["ParametryStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
local naglowek_ref=html_modul["NagłówekStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
----
local strona_ref=html_modul["NazwaStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
-----
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona_ref,parametry_ref,naglowek_ref),nazwa_artykulu,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_jednostki=pudelko_modul["Pełna nazwa jednostki"](
{
args={
["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw,
["nazwa jednostki"]=nazwa_jednostki,
}
},0);
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki);
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(strona_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(strona_artykulu,nil,nil,nazwa_artykulu,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Link wewnętrzny")then
local pozycja_artykulu=tabela_parametrow_szablonu["strona"];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa=tabela_parametrow_szablonu["nazwa"];
local naglowek=tabela_parametrow_szablonu["nagłówek"];
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$");
if(nazwa_szablonu_nowa)then
local pozycja_artykul;
local strona=tabela_parametrow_szablonu[1];
if(not strona)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local czy_dwa=(dwa~="")and true or false;
local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil;
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"]
or tabela_parametrow_szablonu["przestrzeń"]
or tabela_parametrow_szablonu["f"];
if(miano_przestrzeni_nazw)then
pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona;
else
pozycja_artykulu=strona;
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true);
if(dane_szablonu_linku)then
local pozycja_artykulu=tabela_parametrow_szablonu[1];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa_przestrzeni=dane_szablonu_linku[1];
local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1];
local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil;
local klucz_projektu;local kod_jezyka;local kod_projektu;
if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then
klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
else
kod_jezyka=dane_szablonu_linku[3];
kod_projektu=dane_szablonu_linku[2];
end;
local czy_nie_dwukropek;
if(nazwa_przestrzeni=="")then
czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then
czy_nie_dwukropek=true;
else
czy_nie_dwukropek=false;
end;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true;
end;
end;
end;
end);
else
local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$");
if(nazwa_strony)then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false;
else
local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$");
if((nazwa_strony)and(nazwa_linku))then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false;
end;
end;
end;
elseif(not czy_tabela_do_parsowania_artykulu)then
local specjalne_modul=require("Module:Specjalne");
if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then
return nil,nil,false,nil,true;
end;
local parametry_modul=require("Module:Parametry");
--pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",});
local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$");
if(czy_pozycja_artykulu)then
if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then
czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil);
else
pozycja_artykulu=nil;
return {pozycja_artykulu,nazwa},1,false,nil,false;
end;
else
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil);
end;
else
local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1];
local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil);
end;
end;
return p;
4x63oh4vadfbcgifvt5nvdyryxvy0qs
546612
546611
2026-06-13T18:04:50Z
Persino
2851
546612
Scribunto
text/plain
local p={};
function p.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw_spisu_rzeczy_szablon,kod_num)
local numer_parametru;
if(not tabela_nazw_spisu_rzeczy_szablon.numer_parametru)then
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_spisu_rzeczy;
if(not kod_num)then
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
else
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_linkowe_spisu_rzeczy;
end;
numer_parametru=tab_spisu_rzeczy[nazwa_szablonu];
if(not numer_parametru)then return nil;end;
tabela_nazw_spisu_rzeczy_szablon.numer_parametru=numer_parametru;
else
numer_parametru=tabela_nazw_spisu_rzeczy_szablon.numer_parametru;
end;
local indeks=numer_parametru[numer];
for p,_ in ipairs(indeks) do
local parametr=tabela_parametrow_szablonu[indeks[p]];
if(parametr)then
return parametr;
end;
end;
return nil;
end;
function p.LiczonyHNumer()
local tab={};
local h_numer_zapamietane=nil;
--local ostatnie_poprz=nil;
return function(h_numer,h_numer_nowe)
if(h_numer==0)then
if(#tab>0)then
local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
return ostatnie_poprz;
end;
return nil;
elseif(h_numer<0)then
h_numer=math.abs(h_numer);
end;
local ostatnie;---=tab[h_numer];
local max_h_numer=nil;local min_h_numer=nil;
local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true;
for i=#tab,1,-1 do
----
local h_numer_pos,ostatnie_pos=unpack(tab[i]);
if(ostatnie_ost_prawda)then
if(h_numer_pos==h_numer)then
ostatnie_ost=ostatnie_pos;
break;
end;
ostatnie_ost_prawda=nil;
end;
----
if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then
if((h_numer_pos or 0)<=(max_h_numer or h_numer))then
ostatnie_max=ostatnie_pos;
max_h_numer=h_numer_pos;
end;
end;
end;
if(ostatnie_ost)then
ostatnie=ostatnie_ost;
else
ostatnie=(ostatnie_max or 0)+1;
end;
local h_numer_poprz,ostatnie_poprz=nil,nil;
if(#tab>0)then
h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
end;
if(ostatnie>(ostatnie_poprz or 0)+1)then
ostatnie=(ostatnie_poprz or 0)+1;
end;
table.insert(tab,{h_numer,ostatnie,});
if(h_numer_nowe)then
local roznica=h_numer_nowe-ostatnie;
if(roznica==0)then
return ostatnie;
end;
local tab2={};
for i,tabs in pairs(tab)do
local name,value=unpack(tabs);
tab2[i]={name,value+roznica,};
end;
tab=tab2;
return h_numer_nowe;
end;
return ostatnie;
end;
end;
function p.PoziomAdresu(adres)
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
end;
return i;
end;
function p.NazwaNadStrony(adres,numer)
if((numer)and(numer==0))then return nil;end;
if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end;
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
if(i==numer)then
return mw.ustring.sub(adres,1,p-1);
end;
end;
return adres;
end;
function p.SubNazwaNadStrony(adres,numer,krok)
if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end;
krok=krok or 1;
if((krok<1)or(krok~=math.floor(krok)))then return adres;end;
local lens=#adres;
local i=1;
local a=nil;local b=nil;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
if(i==numer)then
if(not a)then a=p+1;end;
end;
if(i==numer+krok)then
if(not b)then b=p-1;break;end;
end;
end;
end;
if(not a)then a=1;end;
if(not b)then b=lens;end;
return mw.ustring.sub(adres,a,b);
end;
function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"];
local nazwa_jednostki=self.args["nazwa jednostki"];
if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
local tabela_nazw_adresu={};
self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]());
local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]());
local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true);
pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki);
---
local techniczne_modul=require("Module:Techniczne");
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,};
pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki);
local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki);
if(strona)then pelna_nazwa_jednostki=strona;end;
local nazwy_modul=require("Module:Nazwy");
self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki);
self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki);
self.parametry_woluminu=false;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu];
if(not tab_lista_artykulow_w_ksiazce)then
return;
end;
local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy;
if(oryginalna_ksiazka)then
self.nazwa_przestrzeni=oryginalna_ksiazka[1];
self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2];
self.nazwa_woluminu=oryginalna_ksiazka[3];
end;
else
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self.parametry_woluminu=true;
end;
end;
function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local self_tab;
if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then
if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
if(not tabela_listy_danych_analizy_ksiazki)then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki;
local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki;
local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
end;
end;
if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then
return nil,nil,nil,nil,nil;
end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]]
end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)];
if(not tab_lista_artykulow_w_ksiazce)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil;
end;
local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
function p.AnalizujArgumentySzablonu(self,frame)
local parametry_modul=require("Module:Parametry");
self.args=parametry_modul.PobierzArgsParametry(frame,true);
end;
function p.Args(self)
return self.args;
end;
function p.Self(self,tabela_listy_danych_analizy_ksiazki)
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local self_tab={};
self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu_podana=self.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu;
return self_tab,tabela_listy_danych_analizy_ksiazki;
end;
function p.KompletnaNazwaWoluminu(self,frame)
return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu
end;
function p.NazwaPodStronyWoluminu(self,frame)
return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or "");
end;
function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana)
local stronicowyparser_modul=require("Module:StronicowyParser");
local nazwy_modul=require("Module:Nazwy");
local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie;
local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil;
local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul;
return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~=""))
and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul)
or artykul;
end;
function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)
p:AnalizujArgumentySzablonu(frame);
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local tab_naglowkow={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1];
local czy_centrowany=tab_lista[1][2][4];
if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then
table.insert(tab_naglowkow,rozdzial);
end;
end;
self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow;
return tab_naglowkow;
end;
function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu-2);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2];
return artykul;
end;
function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1];
return artykul;
end;
function p.PierwszyNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[1];
end;
function p.OstatniNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)];
end;
function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
return self.len_pomiedzy_napisu_wprowadzenia_tekstu;
end;
function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)
local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame);
local parametry_modul=require("Module:Parametry");
return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow);
end;
function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)
p:AnalizujArgumentySzablonu(frame);
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
if(not tab_lista_artykulow_w_ksiazce_spis)then
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu;
inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy;
dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu;
end;
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local args=p:Args();
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykulow=(not czy_naglowek) and {} or nil;
local tab_listy_artykulow={};
local tab_listy_artykulow_spis={};
local czy_inne_spisy=false;
local html_modul=require("Module:Html");
local nazwa_tabeli_danego_spisu_tresci=args["spis"];
if(nazwa_tabeli_danego_spisu_tresci)then
local techniczne_modul=require("Module:Techniczne");
nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true);
nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci);
nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",};
nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,"");
local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame)
local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci;
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu);
if(strona)then
local nazwy_modul=require("Module:Nazwy");
nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona);
end;
end;
local czy_dany_spis=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local poziom_rozdzialu=tab_lista[1][2][1];
local nazwa_spisu=nil;
if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then
local spis=tab_lista[1]["spis"];
nazwa_spisu=spis and spis[1] or nil;
----
if(not nazwa_tabeli_danego_spisu_tresci)then
if(nazwa_spisu)then
if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end;
local spis_artykulow=tab_listy_artykulow["spis"];
spis_artykulow[nazwa_spisu]={};
tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu];
czy_inne_spisy=true;
else
local dodatkowe=tab_lista[1]["dodatkowe"];
if(dodatkowe)then
tab_listy_artykulow["dodatkowe"]={};
tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"];
czy_inne_spisy=true;
end;
end;
else
if(nazwa_spisu)then
if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then
czy_dany_spis=true;
else
if(czy_dany_spis)then
czy_dany_spis=nil;
break;
else
czy_dany_spis=nil;
end;
end;
end;
end;
end;
if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then
local pomin_pozycje=true;
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if((not pomin_pozycje)or(not nazwa_spisu))then
local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
----
artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek);
----
if(czy_naglowek or (not tab_artykulow[artykul]))then
if(not czy_naglowek)then tab_artykulow[artykul]=true;end;
local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil;
local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil;
local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil;
table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
else
pomin_pozycje=false;
end;
end;
end;
end;
local stronicowyparser_modul=require("Module:StronicowyParser");
local parametry_modul=require("Module:Parametry");
--local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly;
if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy)))
and((not dodatkowe_artykuly)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly)))
))then
local tablica_spisu_glownego;
if(not nazwa_tabeli_danego_spisu_tresci)then
if(czy_inne_spisy)then
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {};
tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci];
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego);
return function()
local wartosc=iter_glowny();
if(not wartosc)then return nil;end;
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil);
local nazwa=czy_table_wartosc and wartosc[2] or nil;
local przekierowanie=czy_table_wartosc and wartosc[3] or nil;
local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
local wykorzystane_spisy={};
local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {});
local czy_dodatkowe_zaanalizowane=false;
local function IteratorMain(wartosc,numer)
----
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[wartosc];
if(tabela_spisu)then
if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then
tabela_spisu=nil;
else
wykorzystane_spisy[wartosc]=true;
end;
end;
local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
----
local tak=nil;
local iter2=nil;
local function Iterator()
local function IterMain()
local wartosc=iter();
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
if(not wartosc)then
if(numer~=0)then
return nil;
else
local function InneSpisy()
--if(aa<10)then return nil;end;
local spis=iter_innych_spisow();
if(not spis)then
if(czy_dodatkowe_zaanalizowane)then return nil;end;
local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"];
if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end;
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {});
czy_dodatkowe_zaanalizowane=true;
wartosc=iter();
return true;
end;
local czy_table_spis=parametry_modul.TypeTable(spis);
local spis_artykul=czy_table_spis and spis[1] or spis;
if(not wykorzystane_spisy[spis_artykul])then
wykorzystane_spisy[spis_artykul]=true;
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[spis_artykul];
if(tabela_spisu)then
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
wartosc=iter();
if(not wartosc)then
return InneSpisy();
end;
else
return InneSpisy();
end;
else
return InneSpisy();
end;
return true;
end;
local koniec=InneSpisy();
if(not koniec)then return nil;end;
end;
end;
----
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc);
nazwa=czy_table_wartosc and wartosc[2] or nil;
przekierowanie=czy_table_wartosc and wartosc[3] or nil;
pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
----
artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul);
----
tak=true;
iter2=IteratorMain(artykul,numer+1);
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
if(not tak)then
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2();
if(not artykul)then
tak=nil;
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
end;
return Iterator;
end;
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0);
end;
function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)
local frame=mw.getCurrentFrame();
local nazwy_modul=require("Module:Nazwy");
local techniczne_modul=require("Module:Techniczne");
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly);
for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do
if(pelna_nazwa_ksiazki)then
if(co_ma_wykrywac)then
if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then
local czy_przekierowanie=pelna_nazwa_ksiazki[6];
if(czy_przekierowanie)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(pelna_nazwa_ksiazki[5])then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
end;
else
if((nazwa_artykulu==przekierowanie))then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,2;
end;
end;
else
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,};
if(ile>0)then
return nazwa_artykulu,3;
else
return nazwa_artykulu,4;
end;
end;
end;
end;
else
if(not co_ma_wykrywac)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(przekierowanie)then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return przekierowanie,2;
end;
end;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return nazwa_artykulu,3;
end;
end;
end;
end;
end;
end;
function p.ObliczeniaInformacje(self,frame)
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return nil;end;
----
self.tab_artykul={};
----
for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do
table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
self.len_tab_artykul=#self.tab_artykul;
return true;
end;
function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer)
if(numer==0)then return tablica,0;end;
local s=0;
for i=#tablica,1,-1 do
local artykul=tablica[i][1];
local numer_artykulu_w_bazie=p.PoziomAdresu(artykul);
if(numer~=numer_artykulu_w_bazie)then
table.remove(tablica,i);
s=s+1;
end;
end;
return tablica,s;
end;
function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2);
local artykul=tab_artykul[reszta_pomiedzy_artykul+2];
return artykul;
end;
function p.LosowaStronaWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul);
local artykul=tab_artykul[reszta_pomiedzy_artykul+1];
return artykul;
end;
function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local szablonowe_modul=require("Module:Szablonowe");
local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow))
or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow))
)then
return nil,false;
end;
local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true);
if(not czy_powodzenie)then
return nil,false;
end;
nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu;
return nazwa_szablonu,true;
end;
nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu;
return nazwa_szablonu;
end;
function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow)
if(lista_elementow_spisu_tresci==nil)then return nil;end;
local twor_listy="";
local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2];
local poziom=1;
local num={};
local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or "";
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do
local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}");
local adres=element_w_tablicy[1][1];
local naglowek=element_w_tablicy[1][2];
local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil);
if(czy_w_tym_szablony)then
local specjalne_modul=require("Module:Specjalne");
adres=specjalne_modul["PrzetwórzNagłówek"](adres,true);
naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false);
end;
adres=nazwa_strony_z_naglowkami.."#"..adres;
----
if(licznik==1)then
num[#num+1]=1;
twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
else
if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then
num[#num]=num[#num]+1;
twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then
num[#num+1]=1;
poziom=poziom+1;
twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then
local num_length=#num;
for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do
table.remove(num);
end;
num[#num]=num[#num]+1;
local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2];
poziom=poziom-roznica_poziomow;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'
.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
end;
end;
end;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0);
return twor_listy;
end;
function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij)
local frame=frame or mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
local bez_przypisow=PobierzParametr("bez przypisów");
bez_przypisow=parametry_modul.CzyTak(bez_przypisow);
local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow);
local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka);
if(not toc_czy_tocramka)then
local czy_ukryte=twor_listy;
local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu";
local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem";
local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%";
local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści";
local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x);
local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu);
local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego);
local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki);
local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami);
local maxwidth=PobierzParametr("max-width");
local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil;
local klasa=PobierzParametr("klasa");
twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>";
local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|tytuł=<div class="tytuł_spisu_treści" style="text-align:left;font-size:1em;background-color:white;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;">'..spis_tresci..'</div>|spis='..twor_listy..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}';
local rozwiniety_wikikod=frame:preprocess(wikikod_menu);
return rozwiniety_wikikod;
else
return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or "");
end;
end;
function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2)
if(obiekt~="SZABLON")then return;end;
--uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+","");
--local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu];
----
local szablonowe_modul=require("Module:Szablonowe");
----
local function GlownaFunkcja(wywolanie,obiekt,kod)
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
__Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie,obiekt,kod,tab_numer);
if(__Funkcja2)then
__Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu);
end;
end);
end;
GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod);
end;
function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then
if(not czy_naglowek)then
return artykul[1];
else
return artykul;
end;
end;
return artykul;
end;
function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul)
local parametry_modul=require("Module:Parametry");
local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul);
if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end;
return czy_table_baza_artykulu;
end;
function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end;
return tab_artykulu;
end;
function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end;
return tab_artykulu;
end;
function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony)
local parametry_modul=require("Module:Parametry");
parametry=parametry_modul.CzyTak(parametry) and parametry or nil;
naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil;
return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony;
end;
function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tab_artykul))then
if(pomin_link or tab_artykul["LINK"])then
local nazwa_artykulu_strony=tab_artykul[1];
if(naglowek)then
local parametry=tab_artykul[2];
local naglowek=tab_artykul[3];
return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or "");
else
return nazwa_artykulu_strony;
end;
else
return tab_artykul;
end;
else
return tab_artykul;
end;
end;
function p.DekodowanieTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,czy_nie_odstepy)
if(not tekst)then return tekst;end;
local szablonowe_modul=require("Module:Szablonowe");
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local html_modul=require("Module:Html");
tekst=html_modul.DecodeHtml(tekst,true,nil,nil,czy_nie_odstepy);
return tekst;
end;
function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory)
----
local szablonowe_modul=require("Module:Szablonowe");
local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu());
if(not czy_kodowanie)then return nil,true;end;
if(not czy_uwzgledniac_modyfikatory)then
local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:");
if(czy_modyfikatory)then return nil,false;end;
end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
--local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
--local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
---
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza
----
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local czy_szablon_wszystko=false;
local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if(obiekt=="SZABLON")then
local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if((tab_szablony[nazwa_szablonu])
---or(tab_naglowki[nazwa_szablonu])
--or(tab_tekst[nazwa_szablonu]
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
or(tab_szablony_strona_zbiorcza[nazwa_szablonu])
or(tab_szablony_strona_start[nazwa_szablonu])
or(p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
)then return nil,false;end;
for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do
if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua)
or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/"))
)then
return nil,false;
end;
end;
return true,true;
end);
czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik);
return wynik;
end;
return true;
end);
if(czy_szablon_wszystko)then
local frame=mw.getCurrentFrame();
nazwa_szablonu=frame:preprocess(nazwa_szablonu);
end;
return nazwa_szablonu,true;
end;
function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja;
if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end;
local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu];
if(nazwa_linku)then return nazwa_linku,true;end;
local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja;
local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(przez_literowa)then
local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa;
return nazwa,true;
end;
if(ustep=="")then
if(prze=="u")then return "LinkUstęp"..dwa,true;end;
if(prze=="o")then return "LinkOgólne"..dwa,true;end;
end;
else
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze];
if(projektowe_literowe)then
ustep=litery_przestrzeni_kolidacja[ustep] or ustep;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..dwa,true;
end;
end;
end;
return nazwa_szablonu,false;
else
local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt];
if(projektowe_literowe)then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true;
end;
end;
end;
end;
return nazwa_szablonu,false;
end;
end;
function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku;
end;
end;
end;
nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa;
local function AnalizaSzablonowaLinku()
local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$");
if(not nazwa)then return;end;
if(dwa=="")then dwa=nil;else dwa=true;end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
----
local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne;
local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu;
local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe;
----
local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$")
nazwa=nazwa_nowa or nazwa;
local czy_ustep=ustep_nowa and true or false;
local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$");
if(przestrzen)then
local przestrzenne=tab_przestrzen[przestrzen];
if(przestrzenne)then
return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
----
local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$");
if(jezyk and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen];
if(jezykowe and przestrzenne)then
return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,};
end;
----
local projektowe=tab_projektowe[jezyk];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,};
end;
end;
-----
local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$");
if(jezyk and projekt and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen]
if(jezykowe and projektowe and przestrzenne)then
return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,}
end;
local projektowe=tab_projektowe[jezyk..projekt];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
return nil;
end;
local wynik=AnalizaSzablonowaLinku();
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik;
end;
return wynik;
end;
function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
--local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
--local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne;
local nazwa_zamiast_linku;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="Sekcja referencyjna")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2];
if(nazwa)then return nazwa;end;
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1];
local parametry_modul=require("Module:Parametry");
local czy_strona=parametry_modul.CzyTak(strona) and true or false;
if(not czy_strona)then
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"]();
end;
local ustep=tabela_parametrow_szablonu["ustęp"];
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
local czy_ustep=parametry_modul.CzyTak(ustep);
if(not czy_strona)then czy_ustep=not czy_ustep;end;
nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
elseif(nazwa_szablonu=="Link wewnętrzny")then
nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "")
elseif(nazwa_szablonu=="LinkOgólne")then
nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1];
elseif(nazwa_szablonu=="SpisTreści")then
local nazwa=(tabela_parametrow_szablonu["nazwa"]
or tabela_parametrow_szablonu[3]
or tabela_parametrow_szablonu["artykuł"]
or tabela_parametrow_szablonu[1]);
if(nazwa)then
local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4];
if(dodatek)then dodatek=" "..dodatek;else dodatek="";end;
nazwa_zamiast_linku=nazwa..dodatek;
end;
elseif(nazwa_szablonu=="LinkURL")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"];
if(nazwa)then
nazwa_zamiast_linku=nazwa;
else
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"];
nazwa_zamiast_linku=strona;
end;
end;
if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku;
end;
end;
return nazwa_zamiast_linku;
end;
function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy;
local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu];
if(tab_spis)then
local czy_true=tab_spis[1];
local parametr;local numer;
if(czy_true)then
parametr=tabela_parametrow_szablonu[tab_spis.numer_link];
else
parametr=tabela_parametrow_szablonu[tab_spis.link];
local numer=tabela_parametrow_szablonu[tab_spis.numer];
parametr=(parametr and numer)and (numer.." "..parametr) or (parametr);
end;
if((parametr)and(parametr~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr;
end;
end;
return parametr;
end;
return nil;
end;
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
local numer;
if((obiekt)and(kod))then
if(obiekt=="SZABLON")then
numer=-2;
elseif(obiekt=="LINKW")then
numer=-3;
elseif(obiekt=="LINKZ")then
numer=-4;
end;
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5];
end;
end;
end;
end;
local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych);
if((obiekt)and(kod))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,};
end;
end;
return local1,local2,local3,local4,local5;
end;
function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
----
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local pozycja_artykulu=nil;local nazwa=nil;
local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci);
if(not czy_tabela_do_parsowania_artykulu)then
pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$");
if(not((pozycja_artykulu)and(nazwa)))then
pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$");
end;
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy")
local techniczne_modul=require("Module:Techniczne");
local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci);
local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]])
----
--local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true);
--local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true);
----
strona=html_modul["NazwaStronyAdresu"](strona,true);
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,};
----
local tabela_nazw_strona={};
local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona);
local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona);
--if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and
--[[else]]
if(tab_nazwa_spisow_przekierowaniowych)then
local techniczne_modul=require("Module:Techniczne");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona);
local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie)
local tabela_nazw_przekierowanie={};
----
local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony));
----
local tabela_nazw_adresu_przekierowania={};
local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
----
if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then
local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki))));
if(czy_inne_ksiazka)then
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true;
end;
end;
return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,};
else
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,};
else
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
end;
end;
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,nil,true);
else
if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])
and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},};
end;
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,"");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki);
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,true,false);
end;
end;
end;
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry,naglowek,};
end
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
---
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then
if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then
----
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil)
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local tabela_nazw_adresu_artykulu={};
parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
----
local czy_pozycja_artykulu=pozycja_artykulu;
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local nazwy_modul=require("Module:Nazwy");
--local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,};
strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwa_przestrzeni_strony==nazwy_np_modul.Main)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni_strony==nazwy_np_modul.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
elseif(
czy_link
or parametry_modul.CzyTak(klucz_projektu)
or parametry_modul.CzyTak(kod_jezyka)
or parametry_modul.CzyTak(kod_projektu)
or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File))
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
else
local pozycja_artykulu_stara=pozycja_artykulu;
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"]();
local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"]();
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local nazwa_strony_linku;
local uzyskana_nazwa_strony_linku;
if(czy_nie_dwukropek)then
nazwa_strony_linku=pozycja_artykulu;
else
local kod_jezyka_poczatkowy, kod_projektu_poczatkowy;
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy);
uzyskana_nazwa_strony_linku=nazwa_strony_linku;
end;
----
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local nazwy_modul=require("Module:Nazwy");
----
local tabela_nazw_artykul={};
local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
local nazwa_kanoniczna_przestrzeni;
local biezaca_wiki;
if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then
biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
else
biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki;
end;
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(biezaca_wiki)then
local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false;
if(nazwa_przestrzeni)then
if((nazwa_przestrzeni==nazwy_np_modul.Main)
or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni==nazwy_np_modul.User)
)then
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
elseif(
czy_link
or (nazwa_strony_linku~=pozycja_artykulu)
or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File))
)then
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul)
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_kanoniczna_przestrzeni)then
if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
---
local czy_pozycja_artykulu=nil;
if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then
local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$");
if(link_szablon)then
local szablonowe_modul=require("Module:Szablonowe");
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="SpisTreści")then
local tabela_nazw_spis_rzeczy={};
pozycja_artykulu=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
------
local nazwa_ksiazki=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not nazwa_ksiazki)then
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
local nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
------
return {pozycja_artykulu,nazwa,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {pozycja_artykulu,nil,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
local adres=nazwa_spisu_tresci..((pozycja_artykulu~="")and ("/"..pozycja_artykulu)or "");
adres=p.DekodowanieNazwySzablonu(adres,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(adres);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(adres,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Sekcja referencyjna")then
local tabela_nazw_sekcja_referencyjna={};
local strona=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local podstrona=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
-----
strona=strona and p.DekodowanieTekstu(strona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or strona;
podstrona=podstrona and p.DekodowanieTekstu(podstrona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or podstrona;
-----
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
if(nazwa)then
local html_modul=require("Module:Html");
nazwa=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(nazwa);
nazwa=parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",[4]="tak",};
end;
----
local ustep=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_malej=p.SpisRzeczySzablon(nazwa_szablonu,5,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_duzej=p.SpisRzeczySzablon(nazwa_szablonu,6,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local nazwa_przestrzeni_nazw=p.SpisRzeczySzablon(nazwa_szablonu,7,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local nazwa_jednostki=p.SpisRzeczySzablon(nazwa_szablonu,8,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
----
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,nil,true);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_ref=html_modul["ParametryStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
local naglowek_ref=html_modul["NagłówekStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
----
local strona_ref=html_modul["NazwaStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
-----
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona_ref,parametry_ref,naglowek_ref),nazwa_artykulu,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_jednostki=pudelko_modul["Pełna nazwa jednostki"](
{
args={
["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw,
["nazwa jednostki"]=nazwa_jednostki,
}
},0);
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki);
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(strona_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(strona_artykulu,nil,nil,nazwa_artykulu,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Link wewnętrzny")then
local pozycja_artykulu=tabela_parametrow_szablonu["strona"];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa=tabela_parametrow_szablonu["nazwa"];
local naglowek=tabela_parametrow_szablonu["nagłówek"];
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$");
if(nazwa_szablonu_nowa)then
local pozycja_artykul;
local strona=tabela_parametrow_szablonu[1];
if(not strona)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local czy_dwa=(dwa~="")and true or false;
local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil;
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"]
or tabela_parametrow_szablonu["przestrzeń"]
or tabela_parametrow_szablonu["f"];
if(miano_przestrzeni_nazw)then
pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona;
else
pozycja_artykulu=strona;
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true);
if(dane_szablonu_linku)then
local pozycja_artykulu=tabela_parametrow_szablonu[1];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa_przestrzeni=dane_szablonu_linku[1];
local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1];
local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil;
local klucz_projektu;local kod_jezyka;local kod_projektu;
if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then
klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
else
kod_jezyka=dane_szablonu_linku[3];
kod_projektu=dane_szablonu_linku[2];
end;
local czy_nie_dwukropek;
if(nazwa_przestrzeni=="")then
czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then
czy_nie_dwukropek=true;
else
czy_nie_dwukropek=false;
end;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true;
end;
end;
end;
end);
else
local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$");
if(nazwa_strony)then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false;
else
local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$");
if((nazwa_strony)and(nazwa_linku))then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false;
end;
end;
end;
elseif(not czy_tabela_do_parsowania_artykulu)then
local specjalne_modul=require("Module:Specjalne");
if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then
return nil,nil,false,nil,true;
end;
local parametry_modul=require("Module:Parametry");
--pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",});
local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$");
if(czy_pozycja_artykulu)then
if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then
czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil);
else
pozycja_artykulu=nil;
return {pozycja_artykulu,nazwa},1,false,nil,false;
end;
else
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil);
end;
else
local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1];
local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil);
end;
end;
return p;
gj0sqsa05fbok2340nzawxz0vglqkik
546618
546612
2026-06-13T18:38:20Z
Persino
2851
546618
Scribunto
text/plain
local p={};
function p.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw_spisu_rzeczy_szablon,kod_num)
local numer_parametru;
if(not tabela_nazw_spisu_rzeczy_szablon.numer_parametru)then
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_spisu_rzeczy;
if(not kod_num)then
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
else
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_linkowe_spisu_rzeczy;
end;
numer_parametru=tab_spisu_rzeczy[nazwa_szablonu];
if(not numer_parametru)then return nil;end;
tabela_nazw_spisu_rzeczy_szablon.numer_parametru=numer_parametru;
else
numer_parametru=tabela_nazw_spisu_rzeczy_szablon.numer_parametru;
end;
local indeks=numer_parametru[numer];
for p,_ in ipairs(indeks) do
local parametr=tabela_parametrow_szablonu[indeks[p]];
if(parametr)then
return parametr;
end;
end;
return nil;
end;
function p.LiczonyHNumer()
local tab={};
local h_numer_zapamietane=nil;
--local ostatnie_poprz=nil;
return function(h_numer,h_numer_nowe)
if(h_numer==0)then
if(#tab>0)then
local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
return ostatnie_poprz;
end;
return nil;
elseif(h_numer<0)then
h_numer=math.abs(h_numer);
end;
local ostatnie;---=tab[h_numer];
local max_h_numer=nil;local min_h_numer=nil;
local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true;
for i=#tab,1,-1 do
----
local h_numer_pos,ostatnie_pos=unpack(tab[i]);
if(ostatnie_ost_prawda)then
if(h_numer_pos==h_numer)then
ostatnie_ost=ostatnie_pos;
break;
end;
ostatnie_ost_prawda=nil;
end;
----
if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then
if((h_numer_pos or 0)<=(max_h_numer or h_numer))then
ostatnie_max=ostatnie_pos;
max_h_numer=h_numer_pos;
end;
end;
end;
if(ostatnie_ost)then
ostatnie=ostatnie_ost;
else
ostatnie=(ostatnie_max or 0)+1;
end;
local h_numer_poprz,ostatnie_poprz=nil,nil;
if(#tab>0)then
h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
end;
if(ostatnie>(ostatnie_poprz or 0)+1)then
ostatnie=(ostatnie_poprz or 0)+1;
end;
table.insert(tab,{h_numer,ostatnie,});
if(h_numer_nowe)then
local roznica=h_numer_nowe-ostatnie;
if(roznica==0)then
return ostatnie;
end;
local tab2={};
for i,tabs in pairs(tab)do
local name,value=unpack(tabs);
tab2[i]={name,value+roznica,};
end;
tab=tab2;
return h_numer_nowe;
end;
return ostatnie;
end;
end;
function p.PoziomAdresu(adres)
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
end;
return i;
end;
function p.NazwaNadStrony(adres,numer)
if((numer)and(numer==0))then return nil;end;
if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end;
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
if(i==numer)then
return mw.ustring.sub(adres,1,p-1);
end;
end;
return adres;
end;
function p.SubNazwaNadStrony(adres,numer,krok)
if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end;
krok=krok or 1;
if((krok<1)or(krok~=math.floor(krok)))then return adres;end;
local lens=#adres;
local i=1;
local a=nil;local b=nil;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
if(i==numer)then
if(not a)then a=p+1;end;
end;
if(i==numer+krok)then
if(not b)then b=p-1;break;end;
end;
end;
end;
if(not a)then a=1;end;
if(not b)then b=lens;end;
return mw.ustring.sub(adres,a,b);
end;
function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"];
local nazwa_jednostki=self.args["nazwa jednostki"];
if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
local tabela_nazw_adresu={};
self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]());
local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]());
local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true);
pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki);
---
local techniczne_modul=require("Module:Techniczne");
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,};
pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki);
local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki);
if(strona)then pelna_nazwa_jednostki=strona;end;
local nazwy_modul=require("Module:Nazwy");
self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki);
self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki);
self.parametry_woluminu=false;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu];
if(not tab_lista_artykulow_w_ksiazce)then
return;
end;
local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy;
if(oryginalna_ksiazka)then
self.nazwa_przestrzeni=oryginalna_ksiazka[1];
self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2];
self.nazwa_woluminu=oryginalna_ksiazka[3];
end;
else
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self.parametry_woluminu=true;
end;
end;
function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local self_tab;
if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then
if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
if(not tabela_listy_danych_analizy_ksiazki)then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki;
local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki;
local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
end;
end;
if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then
return nil,nil,nil,nil,nil;
end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]]
end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)];
if(not tab_lista_artykulow_w_ksiazce)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil;
end;
local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
function p.AnalizujArgumentySzablonu(self,frame)
local parametry_modul=require("Module:Parametry");
self.args=parametry_modul.PobierzArgsParametry(frame,true);
end;
function p.Args(self)
return self.args;
end;
function p.Self(self,tabela_listy_danych_analizy_ksiazki)
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local self_tab={};
self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu_podana=self.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu;
return self_tab,tabela_listy_danych_analizy_ksiazki;
end;
function p.KompletnaNazwaWoluminu(self,frame)
return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu
end;
function p.NazwaPodStronyWoluminu(self,frame)
return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or "");
end;
function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana)
local stronicowyparser_modul=require("Module:StronicowyParser");
local nazwy_modul=require("Module:Nazwy");
local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie;
local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil;
local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul;
return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~=""))
and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul)
or artykul;
end;
function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)
p:AnalizujArgumentySzablonu(frame);
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local tab_naglowkow={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1];
local czy_centrowany=tab_lista[1][2][4];
if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then
table.insert(tab_naglowkow,rozdzial);
end;
end;
self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow;
return tab_naglowkow;
end;
function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu-2);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2];
return artykul;
end;
function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1];
return artykul;
end;
function p.PierwszyNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[1];
end;
function p.OstatniNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)];
end;
function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
return self.len_pomiedzy_napisu_wprowadzenia_tekstu;
end;
function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)
local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame);
local parametry_modul=require("Module:Parametry");
return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow);
end;
function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)
p:AnalizujArgumentySzablonu(frame);
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
if(not tab_lista_artykulow_w_ksiazce_spis)then
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu;
inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy;
dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu;
end;
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local args=p:Args();
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykulow=(not czy_naglowek) and {} or nil;
local tab_listy_artykulow={};
local tab_listy_artykulow_spis={};
local czy_inne_spisy=false;
local html_modul=require("Module:Html");
local nazwa_tabeli_danego_spisu_tresci=args["spis"];
if(nazwa_tabeli_danego_spisu_tresci)then
local techniczne_modul=require("Module:Techniczne");
nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true);
nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci);
nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",};
nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,"");
local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame)
local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci;
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu);
if(strona)then
local nazwy_modul=require("Module:Nazwy");
nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona);
end;
end;
local czy_dany_spis=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local poziom_rozdzialu=tab_lista[1][2][1];
local nazwa_spisu=nil;
if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then
local spis=tab_lista[1]["spis"];
nazwa_spisu=spis and spis[1] or nil;
----
if(not nazwa_tabeli_danego_spisu_tresci)then
if(nazwa_spisu)then
if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end;
local spis_artykulow=tab_listy_artykulow["spis"];
spis_artykulow[nazwa_spisu]={};
tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu];
czy_inne_spisy=true;
else
local dodatkowe=tab_lista[1]["dodatkowe"];
if(dodatkowe)then
tab_listy_artykulow["dodatkowe"]={};
tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"];
czy_inne_spisy=true;
end;
end;
else
if(nazwa_spisu)then
if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then
czy_dany_spis=true;
else
if(czy_dany_spis)then
czy_dany_spis=nil;
break;
else
czy_dany_spis=nil;
end;
end;
end;
end;
end;
if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then
local pomin_pozycje=true;
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if((not pomin_pozycje)or(not nazwa_spisu))then
local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
----
artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek);
----
if(czy_naglowek or (not tab_artykulow[artykul]))then
if(not czy_naglowek)then tab_artykulow[artykul]=true;end;
local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil;
local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil;
local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil;
table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
else
pomin_pozycje=false;
end;
end;
end;
end;
local stronicowyparser_modul=require("Module:StronicowyParser");
local parametry_modul=require("Module:Parametry");
--local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly;
if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy)))
and((not dodatkowe_artykuly)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly)))
))then
local tablica_spisu_glownego;
if(not nazwa_tabeli_danego_spisu_tresci)then
if(czy_inne_spisy)then
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {};
tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci];
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego);
return function()
local wartosc=iter_glowny();
if(not wartosc)then return nil;end;
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil);
local nazwa=czy_table_wartosc and wartosc[2] or nil;
local przekierowanie=czy_table_wartosc and wartosc[3] or nil;
local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
local wykorzystane_spisy={};
local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {});
local czy_dodatkowe_zaanalizowane=false;
local function IteratorMain(wartosc,numer)
----
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[wartosc];
if(tabela_spisu)then
if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then
tabela_spisu=nil;
else
wykorzystane_spisy[wartosc]=true;
end;
end;
local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
----
local tak=nil;
local iter2=nil;
local function Iterator()
local function IterMain()
local wartosc=iter();
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
if(not wartosc)then
if(numer~=0)then
return nil;
else
local function InneSpisy()
--if(aa<10)then return nil;end;
local spis=iter_innych_spisow();
if(not spis)then
if(czy_dodatkowe_zaanalizowane)then return nil;end;
local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"];
if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end;
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {});
czy_dodatkowe_zaanalizowane=true;
wartosc=iter();
return true;
end;
local czy_table_spis=parametry_modul.TypeTable(spis);
local spis_artykul=czy_table_spis and spis[1] or spis;
if(not wykorzystane_spisy[spis_artykul])then
wykorzystane_spisy[spis_artykul]=true;
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[spis_artykul];
if(tabela_spisu)then
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
wartosc=iter();
if(not wartosc)then
return InneSpisy();
end;
else
return InneSpisy();
end;
else
return InneSpisy();
end;
return true;
end;
local koniec=InneSpisy();
if(not koniec)then return nil;end;
end;
end;
----
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc);
nazwa=czy_table_wartosc and wartosc[2] or nil;
przekierowanie=czy_table_wartosc and wartosc[3] or nil;
pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
----
artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul);
----
tak=true;
iter2=IteratorMain(artykul,numer+1);
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
if(not tak)then
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2();
if(not artykul)then
tak=nil;
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
end;
return Iterator;
end;
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0);
end;
function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)
local frame=mw.getCurrentFrame();
local nazwy_modul=require("Module:Nazwy");
local techniczne_modul=require("Module:Techniczne");
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly);
for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do
if(pelna_nazwa_ksiazki)then
if(co_ma_wykrywac)then
if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then
local czy_przekierowanie=pelna_nazwa_ksiazki[6];
if(czy_przekierowanie)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(pelna_nazwa_ksiazki[5])then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
end;
else
if((nazwa_artykulu==przekierowanie))then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,2;
end;
end;
else
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,};
if(ile>0)then
return nazwa_artykulu,3;
else
return nazwa_artykulu,4;
end;
end;
end;
end;
else
if(not co_ma_wykrywac)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(przekierowanie)then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return przekierowanie,2;
end;
end;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return nazwa_artykulu,3;
end;
end;
end;
end;
end;
end;
function p.ObliczeniaInformacje(self,frame)
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return nil;end;
----
self.tab_artykul={};
----
for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do
table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
self.len_tab_artykul=#self.tab_artykul;
return true;
end;
function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer)
if(numer==0)then return tablica,0;end;
local s=0;
for i=#tablica,1,-1 do
local artykul=tablica[i][1];
local numer_artykulu_w_bazie=p.PoziomAdresu(artykul);
if(numer~=numer_artykulu_w_bazie)then
table.remove(tablica,i);
s=s+1;
end;
end;
return tablica,s;
end;
function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2);
local artykul=tab_artykul[reszta_pomiedzy_artykul+2];
return artykul;
end;
function p.LosowaStronaWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul);
local artykul=tab_artykul[reszta_pomiedzy_artykul+1];
return artykul;
end;
function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local szablonowe_modul=require("Module:Szablonowe");
local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow))
or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow))
)then
return nil,false;
end;
local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true);
if(not czy_powodzenie)then
return nil,false;
end;
nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu;
return nazwa_szablonu,true;
end;
nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu;
return nazwa_szablonu;
end;
function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow)
if(lista_elementow_spisu_tresci==nil)then return nil;end;
local twor_listy="";
local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2];
local poziom=1;
local num={};
local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or "";
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do
local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}");
local adres=element_w_tablicy[1][1];
local naglowek=element_w_tablicy[1][2];
local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil);
if(czy_w_tym_szablony)then
local specjalne_modul=require("Module:Specjalne");
adres=specjalne_modul["PrzetwórzNagłówek"](adres,true);
naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false);
end;
adres=nazwa_strony_z_naglowkami.."#"..adres;
----
if(licznik==1)then
num[#num+1]=1;
twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
else
if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then
num[#num]=num[#num]+1;
twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then
num[#num+1]=1;
poziom=poziom+1;
twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then
local num_length=#num;
for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do
table.remove(num);
end;
num[#num]=num[#num]+1;
local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2];
poziom=poziom-roznica_poziomow;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'
.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
end;
end;
end;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0);
return twor_listy;
end;
function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij)
local frame=frame or mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
local bez_przypisow=PobierzParametr("bez przypisów");
bez_przypisow=parametry_modul.CzyTak(bez_przypisow);
local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow);
local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka);
if(not toc_czy_tocramka)then
local czy_ukryte=twor_listy;
local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu";
local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem";
local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%";
local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści";
local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x);
local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu);
local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego);
local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki);
local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami);
local maxwidth=PobierzParametr("max-width");
local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil;
local klasa=PobierzParametr("klasa");
twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>";
local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|tytuł=<div class="tytuł_spisu_treści" style="text-align:left;font-size:1em;background-color:white;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;">'..spis_tresci..'</div>|spis='..twor_listy..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}';
local rozwiniety_wikikod=frame:preprocess(wikikod_menu);
return rozwiniety_wikikod;
else
return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or "");
end;
end;
function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2)
if(obiekt~="SZABLON")then return;end;
--uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+","");
--local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu];
----
local szablonowe_modul=require("Module:Szablonowe");
----
local function GlownaFunkcja(wywolanie,obiekt,kod)
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
__Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie,obiekt,kod,tab_numer);
if(__Funkcja2)then
__Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu);
end;
end);
end;
GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod);
end;
function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then
if(not czy_naglowek)then
return artykul[1];
else
return artykul;
end;
end;
return artykul;
end;
function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul)
local parametry_modul=require("Module:Parametry");
local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul);
if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end;
return czy_table_baza_artykulu;
end;
function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end;
return tab_artykulu;
end;
function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end;
return tab_artykulu;
end;
function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony)
local parametry_modul=require("Module:Parametry");
parametry=parametry_modul.CzyTak(parametry) and parametry or nil;
naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil;
return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony;
end;
function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tab_artykul))then
if(pomin_link or tab_artykul["LINK"])then
local nazwa_artykulu_strony=tab_artykul[1];
if(naglowek)then
local parametry=tab_artykul[2];
local naglowek=tab_artykul[3];
return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or "");
else
return nazwa_artykulu_strony;
end;
else
return tab_artykul;
end;
else
return tab_artykul;
end;
end;
function p.DekodowanieTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,czy_nie_odstepy)
if(not tekst)then return tekst;end;
local szablonowe_modul=require("Module:Szablonowe");
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local html_modul=require("Module:Html");
tekst=html_modul.DecodeHtml(tekst,true,nil,nil,czy_nie_odstepy);
return tekst;
end;
function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory)
----
local szablonowe_modul=require("Module:Szablonowe");
local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu());
if(not czy_kodowanie)then return nil,true;end;
if(not czy_uwzgledniac_modyfikatory)then
local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:");
if(czy_modyfikatory)then return nil,false;end;
end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
--local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
--local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
local tab_linki_generalne_szablony_linkowe=stronicowyparser_obiekty_modul.linki_generalne_szablony_linkowe;
---
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza
----
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local czy_szablon_wszystko=false;
local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if(obiekt=="SZABLON")then
local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if((tab_szablony[nazwa_szablonu])
---or(tab_naglowki[nazwa_szablonu])
--or(tab_tekst[nazwa_szablonu]
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
or(tab_szablony_strona_zbiorcza[nazwa_szablonu])
or(tab_szablony_strona_start[nazwa_szablonu])
or(tab_linki_generalne_szablony_linkowe[nazwa_szablonu])
or(p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
)then return nil,false;end;
for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do
if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua)
or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/"))
)then
return nil,false;
end;
end;
return true,true;
end);
czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik);
return wynik;
end;
return true;
end);
if(czy_szablon_wszystko)then
local frame=mw.getCurrentFrame();
nazwa_szablonu=frame:preprocess(nazwa_szablonu);
end;
return nazwa_szablonu,true;
end;
function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja;
if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end;
local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu];
if(nazwa_linku)then return nazwa_linku,true;end;
local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja;
local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(przez_literowa)then
local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa;
return nazwa,true;
end;
if(ustep=="")then
if(prze=="u")then return "LinkUstęp"..dwa,true;end;
if(prze=="o")then return "LinkOgólne"..dwa,true;end;
end;
else
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze];
if(projektowe_literowe)then
ustep=litery_przestrzeni_kolidacja[ustep] or ustep;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..dwa,true;
end;
end;
end;
return nazwa_szablonu,false;
else
local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt];
if(projektowe_literowe)then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true;
end;
end;
end;
end;
return nazwa_szablonu,false;
end;
end;
function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku;
end;
end;
end;
nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa;
local function AnalizaSzablonowaLinku()
local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$");
if(not nazwa)then return;end;
if(dwa=="")then dwa=nil;else dwa=true;end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
----
local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne;
local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu;
local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe;
----
local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$")
nazwa=nazwa_nowa or nazwa;
local czy_ustep=ustep_nowa and true or false;
local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$");
if(przestrzen)then
local przestrzenne=tab_przestrzen[przestrzen];
if(przestrzenne)then
return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
----
local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$");
if(jezyk and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen];
if(jezykowe and przestrzenne)then
return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,};
end;
----
local projektowe=tab_projektowe[jezyk];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,};
end;
end;
-----
local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$");
if(jezyk and projekt and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen]
if(jezykowe and projektowe and przestrzenne)then
return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,}
end;
local projektowe=tab_projektowe[jezyk..projekt];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
return nil;
end;
local wynik=AnalizaSzablonowaLinku();
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik;
end;
return wynik;
end;
function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
--local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
--local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne;
local nazwa_zamiast_linku;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="Sekcja referencyjna")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2];
if(nazwa)then return nazwa;end;
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1];
local parametry_modul=require("Module:Parametry");
local czy_strona=parametry_modul.CzyTak(strona) and true or false;
if(not czy_strona)then
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"]();
end;
local ustep=tabela_parametrow_szablonu["ustęp"];
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
local czy_ustep=parametry_modul.CzyTak(ustep);
if(not czy_strona)then czy_ustep=not czy_ustep;end;
nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
elseif(nazwa_szablonu=="Link wewnętrzny")then
nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "")
elseif(nazwa_szablonu=="LinkOgólne")then
nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1];
elseif(nazwa_szablonu=="SpisTreści")then
local nazwa=(tabela_parametrow_szablonu["nazwa"]
or tabela_parametrow_szablonu[3]
or tabela_parametrow_szablonu["artykuł"]
or tabela_parametrow_szablonu[1]);
if(nazwa)then
local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4];
if(dodatek)then dodatek=" "..dodatek;else dodatek="";end;
nazwa_zamiast_linku=nazwa..dodatek;
end;
elseif(nazwa_szablonu=="LinkURL")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"];
if(nazwa)then
nazwa_zamiast_linku=nazwa;
else
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"];
nazwa_zamiast_linku=strona;
end;
end;
if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku;
end;
end;
return nazwa_zamiast_linku;
end;
function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy;
local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu];
if(tab_spis)then
local czy_true=tab_spis[1];
local parametr;local numer;
if(czy_true)then
parametr=tabela_parametrow_szablonu[tab_spis.numer_link];
else
parametr=tabela_parametrow_szablonu[tab_spis.link];
local numer=tabela_parametrow_szablonu[tab_spis.numer];
parametr=(parametr and numer)and (numer.." "..parametr) or (parametr);
end;
if((parametr)and(parametr~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr;
end;
end;
return parametr;
end;
return nil;
end;
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
local numer;
if((obiekt)and(kod))then
if(obiekt=="SZABLON")then
numer=-2;
elseif(obiekt=="LINKW")then
numer=-3;
elseif(obiekt=="LINKZ")then
numer=-4;
end;
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5];
end;
end;
end;
end;
local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych);
if((obiekt)and(kod))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,};
end;
end;
return local1,local2,local3,local4,local5;
end;
function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
----
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local pozycja_artykulu=nil;local nazwa=nil;
local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci);
if(not czy_tabela_do_parsowania_artykulu)then
pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$");
if(not((pozycja_artykulu)and(nazwa)))then
pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$");
end;
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy")
local techniczne_modul=require("Module:Techniczne");
local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci);
local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]])
----
--local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true);
--local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true);
----
strona=html_modul["NazwaStronyAdresu"](strona,true);
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,};
----
local tabela_nazw_strona={};
local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona);
local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona);
--if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and
--[[else]]
if(tab_nazwa_spisow_przekierowaniowych)then
local techniczne_modul=require("Module:Techniczne");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona);
local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie)
local tabela_nazw_przekierowanie={};
----
local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony));
----
local tabela_nazw_adresu_przekierowania={};
local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
----
if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then
local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki))));
if(czy_inne_ksiazka)then
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true;
end;
end;
return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,};
else
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,};
else
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
end;
end;
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,nil,true);
else
if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])
and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},};
end;
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,"");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki);
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,true,false);
end;
end;
end;
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry,naglowek,};
end
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
---
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then
if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then
----
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil)
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local tabela_nazw_adresu_artykulu={};
parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
----
local czy_pozycja_artykulu=pozycja_artykulu;
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local nazwy_modul=require("Module:Nazwy");
--local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,};
strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwa_przestrzeni_strony==nazwy_np_modul.Main)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni_strony==nazwy_np_modul.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
elseif(
czy_link
or parametry_modul.CzyTak(klucz_projektu)
or parametry_modul.CzyTak(kod_jezyka)
or parametry_modul.CzyTak(kod_projektu)
or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File))
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
else
local pozycja_artykulu_stara=pozycja_artykulu;
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"]();
local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"]();
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local nazwa_strony_linku;
local uzyskana_nazwa_strony_linku;
if(czy_nie_dwukropek)then
nazwa_strony_linku=pozycja_artykulu;
else
local kod_jezyka_poczatkowy, kod_projektu_poczatkowy;
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy);
uzyskana_nazwa_strony_linku=nazwa_strony_linku;
end;
----
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local nazwy_modul=require("Module:Nazwy");
----
local tabela_nazw_artykul={};
local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
local nazwa_kanoniczna_przestrzeni;
local biezaca_wiki;
if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then
biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
else
biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki;
end;
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(biezaca_wiki)then
local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false;
if(nazwa_przestrzeni)then
if((nazwa_przestrzeni==nazwy_np_modul.Main)
or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni==nazwy_np_modul.User)
)then
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
elseif(
czy_link
or (nazwa_strony_linku~=pozycja_artykulu)
or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File))
)then
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul)
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_kanoniczna_przestrzeni)then
if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
---
local czy_pozycja_artykulu=nil;
if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then
local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$");
if(link_szablon)then
local szablonowe_modul=require("Module:Szablonowe");
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="SpisTreści")then
local tabela_nazw_spis_rzeczy={};
pozycja_artykulu=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
------
local nazwa_ksiazki=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not nazwa_ksiazki)then
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
local nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
------
return {pozycja_artykulu,nazwa,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {pozycja_artykulu,nil,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
local adres=nazwa_spisu_tresci..((pozycja_artykulu~="")and ("/"..pozycja_artykulu)or "");
adres=p.DekodowanieNazwySzablonu(adres,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(adres);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(adres,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Sekcja referencyjna")then
local tabela_nazw_sekcja_referencyjna={};
local strona=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local podstrona=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
-----
strona=strona and p.DekodowanieTekstu(strona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or strona;
podstrona=podstrona and p.DekodowanieTekstu(podstrona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or podstrona;
-----
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
if(nazwa)then
local html_modul=require("Module:Html");
nazwa=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(nazwa);
nazwa=parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",[4]="tak",};
end;
----
local ustep=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_malej=p.SpisRzeczySzablon(nazwa_szablonu,5,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_duzej=p.SpisRzeczySzablon(nazwa_szablonu,6,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local nazwa_przestrzeni_nazw=p.SpisRzeczySzablon(nazwa_szablonu,7,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local nazwa_jednostki=p.SpisRzeczySzablon(nazwa_szablonu,8,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
----
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,nil,true);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_ref=html_modul["ParametryStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
local naglowek_ref=html_modul["NagłówekStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
----
local strona_ref=html_modul["NazwaStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
-----
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona_ref,parametry_ref,naglowek_ref),nazwa_artykulu,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_jednostki=pudelko_modul["Pełna nazwa jednostki"](
{
args={
["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw,
["nazwa jednostki"]=nazwa_jednostki,
}
},0);
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki);
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(strona_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(strona_artykulu,nil,nil,nazwa_artykulu,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Link wewnętrzny")then
local pozycja_artykulu=tabela_parametrow_szablonu["strona"];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa=tabela_parametrow_szablonu["nazwa"];
local naglowek=tabela_parametrow_szablonu["nagłówek"];
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$");
if(nazwa_szablonu_nowa)then
local pozycja_artykul;
local strona=tabela_parametrow_szablonu[1];
if(not strona)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local czy_dwa=(dwa~="")and true or false;
local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil;
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"]
or tabela_parametrow_szablonu["przestrzeń"]
or tabela_parametrow_szablonu["f"];
if(miano_przestrzeni_nazw)then
pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona;
else
pozycja_artykulu=strona;
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true);
if(dane_szablonu_linku)then
local pozycja_artykulu=tabela_parametrow_szablonu[1];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa_przestrzeni=dane_szablonu_linku[1];
local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1];
local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil;
local klucz_projektu;local kod_jezyka;local kod_projektu;
if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then
klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
else
kod_jezyka=dane_szablonu_linku[3];
kod_projektu=dane_szablonu_linku[2];
end;
local czy_nie_dwukropek;
if(nazwa_przestrzeni=="")then
czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then
czy_nie_dwukropek=true;
else
czy_nie_dwukropek=false;
end;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true;
end;
end;
end;
end);
else
local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$");
if(nazwa_strony)then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false;
else
local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$");
if((nazwa_strony)and(nazwa_linku))then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false;
end;
end;
end;
elseif(not czy_tabela_do_parsowania_artykulu)then
local specjalne_modul=require("Module:Specjalne");
if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then
return nil,nil,false,nil,true;
end;
local parametry_modul=require("Module:Parametry");
--pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",});
local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$");
if(czy_pozycja_artykulu)then
if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then
czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil);
else
pozycja_artykulu=nil;
return {pozycja_artykulu,nazwa},1,false,nil,false;
end;
else
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil);
end;
else
local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1];
local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil);
end;
end;
return p;
6u6jyu3n1g7thf64xuk202tckesl9pv
546629
546618
2026-06-13T19:27:45Z
Persino
2851
546629
Scribunto
text/plain
local p={};
function p.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw_spisu_rzeczy_szablon,kod_num)
local numer_parametru;
if(not tabela_nazw_spisu_rzeczy_szablon.numer_parametru)then
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_spisu_rzeczy;
if(not kod_num)then
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
else
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_linkowe_spisu_rzeczy;
end;
numer_parametru=tab_spisu_rzeczy[nazwa_szablonu];
if(not numer_parametru)then return nil;end;
tabela_nazw_spisu_rzeczy_szablon.numer_parametru=numer_parametru;
else
numer_parametru=tabela_nazw_spisu_rzeczy_szablon.numer_parametru;
end;
local indeks=numer_parametru[numer];
for p,_ in ipairs(indeks) do
local parametr=tabela_parametrow_szablonu[indeks[p]];
if(parametr)then
return parametr;
end;
end;
return nil;
end;
function p.LiczonyHNumer()
local tab={};
local h_numer_zapamietane=nil;
--local ostatnie_poprz=nil;
return function(h_numer,h_numer_nowe)
if(h_numer==0)then
if(#tab>0)then
local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
return ostatnie_poprz;
end;
return nil;
elseif(h_numer<0)then
h_numer=math.abs(h_numer);
end;
local ostatnie;---=tab[h_numer];
local max_h_numer=nil;local min_h_numer=nil;
local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true;
for i=#tab,1,-1 do
----
local h_numer_pos,ostatnie_pos=unpack(tab[i]);
if(ostatnie_ost_prawda)then
if(h_numer_pos==h_numer)then
ostatnie_ost=ostatnie_pos;
break;
end;
ostatnie_ost_prawda=nil;
end;
----
if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then
if((h_numer_pos or 0)<=(max_h_numer or h_numer))then
ostatnie_max=ostatnie_pos;
max_h_numer=h_numer_pos;
end;
end;
end;
if(ostatnie_ost)then
ostatnie=ostatnie_ost;
else
ostatnie=(ostatnie_max or 0)+1;
end;
local h_numer_poprz,ostatnie_poprz=nil,nil;
if(#tab>0)then
h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
end;
if(ostatnie>(ostatnie_poprz or 0)+1)then
ostatnie=(ostatnie_poprz or 0)+1;
end;
table.insert(tab,{h_numer,ostatnie,});
if(h_numer_nowe)then
local roznica=h_numer_nowe-ostatnie;
if(roznica==0)then
return ostatnie;
end;
local tab2={};
for i,tabs in pairs(tab)do
local name,value=unpack(tabs);
tab2[i]={name,value+roznica,};
end;
tab=tab2;
return h_numer_nowe;
end;
return ostatnie;
end;
end;
function p.PoziomAdresu(adres)
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
end;
return i;
end;
function p.NazwaNadStrony(adres,numer)
if((numer)and(numer==0))then return nil;end;
if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end;
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
if(i==numer)then
return mw.ustring.sub(adres,1,p-1);
end;
end;
return adres;
end;
function p.SubNazwaNadStrony(adres,numer,krok)
if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end;
krok=krok or 1;
if((krok<1)or(krok~=math.floor(krok)))then return adres;end;
local lens=#adres;
local i=1;
local a=nil;local b=nil;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
if(i==numer)then
if(not a)then a=p+1;end;
end;
if(i==numer+krok)then
if(not b)then b=p-1;break;end;
end;
end;
end;
if(not a)then a=1;end;
if(not b)then b=lens;end;
return mw.ustring.sub(adres,a,b);
end;
function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"];
local nazwa_jednostki=self.args["nazwa jednostki"];
if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
local tabela_nazw_adresu={};
self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]());
local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]());
local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true);
pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki);
---
local techniczne_modul=require("Module:Techniczne");
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,};
pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki);
local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki);
if(strona)then pelna_nazwa_jednostki=strona;end;
local nazwy_modul=require("Module:Nazwy");
self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki);
self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki);
self.parametry_woluminu=false;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu];
if(not tab_lista_artykulow_w_ksiazce)then
return;
end;
local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy;
if(oryginalna_ksiazka)then
self.nazwa_przestrzeni=oryginalna_ksiazka[1];
self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2];
self.nazwa_woluminu=oryginalna_ksiazka[3];
end;
else
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self.parametry_woluminu=true;
end;
end;
function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local self_tab;
if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then
if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
if(not tabela_listy_danych_analizy_ksiazki)then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki;
local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki;
local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
end;
end;
if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then
return nil,nil,nil,nil,nil;
end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]]
end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)];
if(not tab_lista_artykulow_w_ksiazce)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil;
end;
local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
function p.AnalizujArgumentySzablonu(self,frame)
local parametry_modul=require("Module:Parametry");
self.args=parametry_modul.PobierzArgsParametry(frame,true);
end;
function p.Args(self)
return self.args;
end;
function p.Self(self,tabela_listy_danych_analizy_ksiazki)
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local self_tab={};
self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu_podana=self.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu;
return self_tab,tabela_listy_danych_analizy_ksiazki;
end;
function p.KompletnaNazwaWoluminu(self,frame)
return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu
end;
function p.NazwaPodStronyWoluminu(self,frame)
return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or "");
end;
function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana)
local stronicowyparser_modul=require("Module:StronicowyParser");
local nazwy_modul=require("Module:Nazwy");
local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie;
local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil;
local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul;
return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~=""))
and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul)
or artykul;
end;
function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)
p:AnalizujArgumentySzablonu(frame);
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local tab_naglowkow={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1];
local czy_centrowany=tab_lista[1][2][4];
if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then
table.insert(tab_naglowkow,rozdzial);
end;
end;
self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow;
return tab_naglowkow;
end;
function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu-2);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2];
return artykul;
end;
function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1];
return artykul;
end;
function p.PierwszyNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[1];
end;
function p.OstatniNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)];
end;
function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
return self.len_pomiedzy_napisu_wprowadzenia_tekstu;
end;
function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)
local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame);
local parametry_modul=require("Module:Parametry");
return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow);
end;
function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)
p:AnalizujArgumentySzablonu(frame);
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
if(not tab_lista_artykulow_w_ksiazce_spis)then
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu;
inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy;
dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu;
end;
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local args=p:Args();
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykulow=(not czy_naglowek) and {} or nil;
local tab_listy_artykulow={};
local tab_listy_artykulow_spis={};
local czy_inne_spisy=false;
local html_modul=require("Module:Html");
local nazwa_tabeli_danego_spisu_tresci=args["spis"];
if(nazwa_tabeli_danego_spisu_tresci)then
local techniczne_modul=require("Module:Techniczne");
nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true);
nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci);
nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",};
nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,"");
local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame)
local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci;
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu);
if(strona)then
local nazwy_modul=require("Module:Nazwy");
nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona);
end;
end;
local czy_dany_spis=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local poziom_rozdzialu=tab_lista[1][2][1];
local nazwa_spisu=nil;
if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then
local spis=tab_lista[1]["spis"];
nazwa_spisu=spis and spis[1] or nil;
----
if(not nazwa_tabeli_danego_spisu_tresci)then
if(nazwa_spisu)then
if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end;
local spis_artykulow=tab_listy_artykulow["spis"];
spis_artykulow[nazwa_spisu]={};
tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu];
czy_inne_spisy=true;
else
local dodatkowe=tab_lista[1]["dodatkowe"];
if(dodatkowe)then
tab_listy_artykulow["dodatkowe"]={};
tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"];
czy_inne_spisy=true;
end;
end;
else
if(nazwa_spisu)then
if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then
czy_dany_spis=true;
else
if(czy_dany_spis)then
czy_dany_spis=nil;
break;
else
czy_dany_spis=nil;
end;
end;
end;
end;
end;
if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then
local pomin_pozycje=true;
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if((not pomin_pozycje)or(not nazwa_spisu))then
local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
----
artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek);
----
if(czy_naglowek or (not tab_artykulow[artykul]))then
if(not czy_naglowek)then tab_artykulow[artykul]=true;end;
local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil;
local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil;
local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil;
table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
else
pomin_pozycje=false;
end;
end;
end;
end;
local stronicowyparser_modul=require("Module:StronicowyParser");
local parametry_modul=require("Module:Parametry");
--local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly;
if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy)))
and((not dodatkowe_artykuly)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly)))
))then
local tablica_spisu_glownego;
if(not nazwa_tabeli_danego_spisu_tresci)then
if(czy_inne_spisy)then
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {};
tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci];
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego);
return function()
local wartosc=iter_glowny();
if(not wartosc)then return nil;end;
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil);
local nazwa=czy_table_wartosc and wartosc[2] or nil;
local przekierowanie=czy_table_wartosc and wartosc[3] or nil;
local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
local wykorzystane_spisy={};
local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {});
local czy_dodatkowe_zaanalizowane=false;
local function IteratorMain(wartosc,numer)
----
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[wartosc];
if(tabela_spisu)then
if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then
tabela_spisu=nil;
else
wykorzystane_spisy[wartosc]=true;
end;
end;
local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
----
local tak=nil;
local iter2=nil;
local function Iterator()
local function IterMain()
local wartosc=iter();
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
if(not wartosc)then
if(numer~=0)then
return nil;
else
local function InneSpisy()
--if(aa<10)then return nil;end;
local spis=iter_innych_spisow();
if(not spis)then
if(czy_dodatkowe_zaanalizowane)then return nil;end;
local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"];
if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end;
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {});
czy_dodatkowe_zaanalizowane=true;
wartosc=iter();
return true;
end;
local czy_table_spis=parametry_modul.TypeTable(spis);
local spis_artykul=czy_table_spis and spis[1] or spis;
if(not wykorzystane_spisy[spis_artykul])then
wykorzystane_spisy[spis_artykul]=true;
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[spis_artykul];
if(tabela_spisu)then
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
wartosc=iter();
if(not wartosc)then
return InneSpisy();
end;
else
return InneSpisy();
end;
else
return InneSpisy();
end;
return true;
end;
local koniec=InneSpisy();
if(not koniec)then return nil;end;
end;
end;
----
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc);
nazwa=czy_table_wartosc and wartosc[2] or nil;
przekierowanie=czy_table_wartosc and wartosc[3] or nil;
pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
----
artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul);
----
tak=true;
iter2=IteratorMain(artykul,numer+1);
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
if(not tak)then
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2();
if(not artykul)then
tak=nil;
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
end;
return Iterator;
end;
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0);
end;
function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)
local frame=mw.getCurrentFrame();
local nazwy_modul=require("Module:Nazwy");
local techniczne_modul=require("Module:Techniczne");
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly);
for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do
if(pelna_nazwa_ksiazki)then
if(co_ma_wykrywac)then
if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then
local czy_przekierowanie=pelna_nazwa_ksiazki[6];
if(czy_przekierowanie)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(pelna_nazwa_ksiazki[5])then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
end;
else
if((nazwa_artykulu==przekierowanie))then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,2;
end;
end;
else
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,};
if(ile>0)then
return nazwa_artykulu,3;
else
return nazwa_artykulu,4;
end;
end;
end;
end;
else
if(not co_ma_wykrywac)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(przekierowanie)then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return przekierowanie,2;
end;
end;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return nazwa_artykulu,3;
end;
end;
end;
end;
end;
end;
function p.ObliczeniaInformacje(self,frame)
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return nil;end;
----
self.tab_artykul={};
----
for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do
table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
self.len_tab_artykul=#self.tab_artykul;
return true;
end;
function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer)
if(numer==0)then return tablica,0;end;
local s=0;
for i=#tablica,1,-1 do
local artykul=tablica[i][1];
local numer_artykulu_w_bazie=p.PoziomAdresu(artykul);
if(numer~=numer_artykulu_w_bazie)then
table.remove(tablica,i);
s=s+1;
end;
end;
return tablica,s;
end;
function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2);
local artykul=tab_artykul[reszta_pomiedzy_artykul+2];
return artykul;
end;
function p.LosowaStronaWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul);
local artykul=tab_artykul[reszta_pomiedzy_artykul+1];
return artykul;
end;
function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local szablonowe_modul=require("Module:Szablonowe");
local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow))
or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow))
)then
return nil,false;
end;
local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true);
if(not czy_powodzenie)then
return nil,false;
end;
nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu;
return nazwa_szablonu,true;
end;
nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu;
return nazwa_szablonu;
end;
function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow)
if(lista_elementow_spisu_tresci==nil)then return nil;end;
local twor_listy="";
local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2];
local poziom=1;
local num={};
local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or "";
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do
local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}");
local adres=element_w_tablicy[1][1];
local naglowek=element_w_tablicy[1][2];
local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil);
if(czy_w_tym_szablony)then
local specjalne_modul=require("Module:Specjalne");
adres=specjalne_modul["PrzetwórzNagłówek"](adres,true);
naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false);
end;
adres=nazwa_strony_z_naglowkami.."#"..adres;
----
if(licznik==1)then
num[#num+1]=1;
twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
else
if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then
num[#num]=num[#num]+1;
twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then
num[#num+1]=1;
poziom=poziom+1;
twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then
local num_length=#num;
for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do
table.remove(num);
end;
num[#num]=num[#num]+1;
local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2];
poziom=poziom-roznica_poziomow;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'
.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
end;
end;
end;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0);
return twor_listy;
end;
function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij)
local frame=frame or mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
local bez_przypisow=PobierzParametr("bez przypisów");
bez_przypisow=parametry_modul.CzyTak(bez_przypisow);
local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow);
local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka);
if(not toc_czy_tocramka)then
local czy_ukryte=twor_listy;
local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu";
local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem";
local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%";
local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści";
local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x);
local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu);
local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego);
local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki);
local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami);
local maxwidth=PobierzParametr("max-width");
local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil;
local klasa=PobierzParametr("klasa");
twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>";
local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|tytuł=<div class="tytuł_spisu_treści" style="text-align:left;font-size:1em;background-color:white;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;">'..spis_tresci..'</div>|spis='..twor_listy..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}';
local rozwiniety_wikikod=frame:preprocess(wikikod_menu);
return rozwiniety_wikikod;
else
return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or "");
end;
end;
function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2)
if(obiekt~="SZABLON")then return;end;
--uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+","");
--local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu];
----
local szablonowe_modul=require("Module:Szablonowe");
----
local function GlownaFunkcja(wywolanie,obiekt,kod)
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
__Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie,obiekt,kod,tab_numer);
if(__Funkcja2)then
__Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu);
end;
end);
end;
GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod);
end;
function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then
if(not czy_naglowek)then
return artykul[1];
else
return artykul;
end;
end;
return artykul;
end;
function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul)
local parametry_modul=require("Module:Parametry");
local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul);
if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end;
return czy_table_baza_artykulu;
end;
function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end;
return tab_artykulu;
end;
function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end;
return tab_artykulu;
end;
function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony)
local parametry_modul=require("Module:Parametry");
parametry=parametry_modul.CzyTak(parametry) and parametry or nil;
naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil;
return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony;
end;
function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tab_artykul))then
if(pomin_link or tab_artykul["LINK"])then
local nazwa_artykulu_strony=tab_artykul[1];
if(naglowek)then
local parametry=tab_artykul[2];
local naglowek=tab_artykul[3];
return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or "");
else
return nazwa_artykulu_strony;
end;
else
return tab_artykul;
end;
else
return tab_artykul;
end;
end;
function p.DekodowanieTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,czy_nie_odstepy)
if(not tekst)then return tekst;end;
local szablonowe_modul=require("Module:Szablonowe");
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local html_modul=require("Module:Html");
tekst=html_modul.DecodeHtml(tekst,true,nil,nil,czy_nie_odstepy);
return tekst;
end;
function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory)
----
local szablonowe_modul=require("Module:Szablonowe");
local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu());
if(not czy_kodowanie)then return nil,true;end;
if(not czy_uwzgledniac_modyfikatory)then
local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:");
if(czy_modyfikatory)then return nil,false;end;
end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
--local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
--local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
--local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu;
--local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
--local tab_linki_generalne_szablony_linkowe=stronicowyparser_obiekty_modul.linki_generalne_szablony_linkowe;
---
--local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
--local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza
----
--local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local czy_szablon_wszystko=false;
local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if(obiekt=="SZABLON")then
local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
--if((tab_szablony[nazwa_szablonu])
---or(tab_naglowki[nazwa_szablonu])
--or(tab_tekst[nazwa_szablonu]
--or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
--or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
--or(tab_szablony_strona_zbiorcza[nazwa_szablonu])
--or(tab_szablony_strona_start[nazwa_szablonu])
--or(tab_linki_generalne_szablony_linkowe[nazwa_szablonu])
--or(p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
--)then return nil,false;end;
--for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do
--if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua)
-- or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/"))
--)then
--return nil,false;
--end;
--end;
--return true,true;
return nil,false;
end);
czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik);
return wynik;
end;
return true;
end);
if(czy_szablon_wszystko)then
local frame=mw.getCurrentFrame();
nazwa_szablonu=frame:preprocess(nazwa_szablonu);
end;
return nazwa_szablonu,true;
end;
function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja;
if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end;
local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu];
if(nazwa_linku)then return nazwa_linku,true;end;
local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja;
local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(przez_literowa)then
local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa;
return nazwa,true;
end;
if(ustep=="")then
if(prze=="u")then return "LinkUstęp"..dwa,true;end;
if(prze=="o")then return "LinkOgólne"..dwa,true;end;
end;
else
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze];
if(projektowe_literowe)then
ustep=litery_przestrzeni_kolidacja[ustep] or ustep;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..dwa,true;
end;
end;
end;
return nazwa_szablonu,false;
else
local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt];
if(projektowe_literowe)then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true;
end;
end;
end;
end;
return nazwa_szablonu,false;
end;
end;
function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku;
end;
end;
end;
nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa;
local function AnalizaSzablonowaLinku()
local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$");
if(not nazwa)then return;end;
if(dwa=="")then dwa=nil;else dwa=true;end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
----
local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne;
local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu;
local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe;
----
local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$")
nazwa=nazwa_nowa or nazwa;
local czy_ustep=ustep_nowa and true or false;
local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$");
if(przestrzen)then
local przestrzenne=tab_przestrzen[przestrzen];
if(przestrzenne)then
return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
----
local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$");
if(jezyk and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen];
if(jezykowe and przestrzenne)then
return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,};
end;
----
local projektowe=tab_projektowe[jezyk];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,};
end;
end;
-----
local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$");
if(jezyk and projekt and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen]
if(jezykowe and projektowe and przestrzenne)then
return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,}
end;
local projektowe=tab_projektowe[jezyk..projekt];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
return nil;
end;
local wynik=AnalizaSzablonowaLinku();
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik;
end;
return wynik;
end;
function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
--local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
--local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne;
local nazwa_zamiast_linku;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="Sekcja referencyjna")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2];
if(nazwa)then return nazwa;end;
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1];
local parametry_modul=require("Module:Parametry");
local czy_strona=parametry_modul.CzyTak(strona) and true or false;
if(not czy_strona)then
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"]();
end;
local ustep=tabela_parametrow_szablonu["ustęp"];
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
local czy_ustep=parametry_modul.CzyTak(ustep);
if(not czy_strona)then czy_ustep=not czy_ustep;end;
nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
elseif(nazwa_szablonu=="Link wewnętrzny")then
nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "")
elseif(nazwa_szablonu=="LinkOgólne")then
nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1];
elseif(nazwa_szablonu=="SpisTreści")then
local nazwa=(tabela_parametrow_szablonu["nazwa"]
or tabela_parametrow_szablonu[3]
or tabela_parametrow_szablonu["artykuł"]
or tabela_parametrow_szablonu[1]);
if(nazwa)then
local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4];
if(dodatek)then dodatek=" "..dodatek;else dodatek="";end;
nazwa_zamiast_linku=nazwa..dodatek;
end;
elseif(nazwa_szablonu=="LinkURL")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"];
if(nazwa)then
nazwa_zamiast_linku=nazwa;
else
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"];
nazwa_zamiast_linku=strona;
end;
end;
if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku;
end;
end;
return nazwa_zamiast_linku;
end;
function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy;
local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu];
if(tab_spis)then
local czy_true=tab_spis[1];
local parametr;local numer;
if(czy_true)then
parametr=tabela_parametrow_szablonu[tab_spis.numer_link];
else
parametr=tabela_parametrow_szablonu[tab_spis.link];
local numer=tabela_parametrow_szablonu[tab_spis.numer];
parametr=(parametr and numer)and (numer.." "..parametr) or (parametr);
end;
if((parametr)and(parametr~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr;
end;
end;
return parametr;
end;
return nil;
end;
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
local numer;
if((obiekt)and(kod))then
if(obiekt=="SZABLON")then
numer=-2;
elseif(obiekt=="LINKW")then
numer=-3;
elseif(obiekt=="LINKZ")then
numer=-4;
end;
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5];
end;
end;
end;
end;
local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych);
if((obiekt)and(kod))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,};
end;
end;
return local1,local2,local3,local4,local5;
end;
function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
----
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local pozycja_artykulu=nil;local nazwa=nil;
local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci);
if(not czy_tabela_do_parsowania_artykulu)then
pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$");
if(not((pozycja_artykulu)and(nazwa)))then
pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$");
end;
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy")
local techniczne_modul=require("Module:Techniczne");
local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci);
local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]])
----
--local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true);
--local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true);
----
strona=html_modul["NazwaStronyAdresu"](strona,true);
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,};
----
local tabela_nazw_strona={};
local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona);
local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona);
--if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and
--[[else]]
if(tab_nazwa_spisow_przekierowaniowych)then
local techniczne_modul=require("Module:Techniczne");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona);
local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie)
local tabela_nazw_przekierowanie={};
----
local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony));
----
local tabela_nazw_adresu_przekierowania={};
local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
----
if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then
local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki))));
if(czy_inne_ksiazka)then
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true;
end;
end;
return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,};
else
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,};
else
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
end;
end;
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,nil,true);
else
if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])
and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},};
end;
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,"");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki);
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,true,false);
end;
end;
end;
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry,naglowek,};
end
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
---
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then
if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then
----
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil)
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local tabela_nazw_adresu_artykulu={};
parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
----
local czy_pozycja_artykulu=pozycja_artykulu;
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local nazwy_modul=require("Module:Nazwy");
--local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,};
strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwa_przestrzeni_strony==nazwy_np_modul.Main)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni_strony==nazwy_np_modul.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
elseif(
czy_link
or parametry_modul.CzyTak(klucz_projektu)
or parametry_modul.CzyTak(kod_jezyka)
or parametry_modul.CzyTak(kod_projektu)
or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File))
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
else
local pozycja_artykulu_stara=pozycja_artykulu;
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"]();
local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"]();
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local nazwa_strony_linku;
local uzyskana_nazwa_strony_linku;
if(czy_nie_dwukropek)then
nazwa_strony_linku=pozycja_artykulu;
else
local kod_jezyka_poczatkowy, kod_projektu_poczatkowy;
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy);
uzyskana_nazwa_strony_linku=nazwa_strony_linku;
end;
----
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local nazwy_modul=require("Module:Nazwy");
----
local tabela_nazw_artykul={};
local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
local nazwa_kanoniczna_przestrzeni;
local biezaca_wiki;
if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then
biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
else
biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki;
end;
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(biezaca_wiki)then
local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false;
if(nazwa_przestrzeni)then
if((nazwa_przestrzeni==nazwy_np_modul.Main)
or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni==nazwy_np_modul.User)
)then
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
elseif(
czy_link
or (nazwa_strony_linku~=pozycja_artykulu)
or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File))
)then
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul)
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_kanoniczna_przestrzeni)then
if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
---
local czy_pozycja_artykulu=nil;
if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then
local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$");
if(link_szablon)then
local szablonowe_modul=require("Module:Szablonowe");
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="SpisTreści")then
local tabela_nazw_spis_rzeczy={};
pozycja_artykulu=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
------
local nazwa_ksiazki=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not nazwa_ksiazki)then
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
local nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
------
return {pozycja_artykulu,nazwa,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {pozycja_artykulu,nil,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
local adres=nazwa_spisu_tresci..((pozycja_artykulu~="")and ("/"..pozycja_artykulu)or "");
adres=p.DekodowanieNazwySzablonu(adres,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(adres);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(adres,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Sekcja referencyjna")then
local tabela_nazw_sekcja_referencyjna={};
local strona=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local podstrona=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
-----
strona=strona and p.DekodowanieTekstu(strona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or strona;
podstrona=podstrona and p.DekodowanieTekstu(podstrona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or podstrona;
-----
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
if(nazwa)then
local html_modul=require("Module:Html");
nazwa=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(nazwa);
nazwa=parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",[4]="tak",};
end;
----
local ustep=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_malej=p.SpisRzeczySzablon(nazwa_szablonu,5,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_duzej=p.SpisRzeczySzablon(nazwa_szablonu,6,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local nazwa_przestrzeni_nazw=p.SpisRzeczySzablon(nazwa_szablonu,7,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local nazwa_jednostki=p.SpisRzeczySzablon(nazwa_szablonu,8,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
----
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,nil,true);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_ref=html_modul["ParametryStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
local naglowek_ref=html_modul["NagłówekStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
----
local strona_ref=html_modul["NazwaStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
-----
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona_ref,parametry_ref,naglowek_ref),nazwa_artykulu,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_jednostki=pudelko_modul["Pełna nazwa jednostki"](
{
args={
["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw,
["nazwa jednostki"]=nazwa_jednostki,
}
},0);
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki);
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(strona_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(strona_artykulu,nil,nil,nazwa_artykulu,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Link wewnętrzny")then
local pozycja_artykulu=tabela_parametrow_szablonu["strona"];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa=tabela_parametrow_szablonu["nazwa"];
local naglowek=tabela_parametrow_szablonu["nagłówek"];
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$");
if(nazwa_szablonu_nowa)then
local pozycja_artykul;
local strona=tabela_parametrow_szablonu[1];
if(not strona)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local czy_dwa=(dwa~="")and true or false;
local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil;
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"]
or tabela_parametrow_szablonu["przestrzeń"]
or tabela_parametrow_szablonu["f"];
if(miano_przestrzeni_nazw)then
pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona;
else
pozycja_artykulu=strona;
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true);
if(dane_szablonu_linku)then
local pozycja_artykulu=tabela_parametrow_szablonu[1];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa_przestrzeni=dane_szablonu_linku[1];
local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1];
local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil;
local klucz_projektu;local kod_jezyka;local kod_projektu;
if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then
klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
else
kod_jezyka=dane_szablonu_linku[3];
kod_projektu=dane_szablonu_linku[2];
end;
local czy_nie_dwukropek;
if(nazwa_przestrzeni=="")then
czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then
czy_nie_dwukropek=true;
else
czy_nie_dwukropek=false;
end;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true;
end;
end;
end;
end);
else
local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$");
if(nazwa_strony)then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false;
else
local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$");
if((nazwa_strony)and(nazwa_linku))then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false;
end;
end;
end;
elseif(not czy_tabela_do_parsowania_artykulu)then
local specjalne_modul=require("Module:Specjalne");
if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then
return nil,nil,false,nil,true;
end;
local parametry_modul=require("Module:Parametry");
--pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",});
local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$");
if(czy_pozycja_artykulu)then
if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then
czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil);
else
pozycja_artykulu=nil;
return {pozycja_artykulu,nazwa},1,false,nil,false;
end;
else
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil);
end;
else
local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1];
local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil);
end;
end;
return p;
30uq2c4quv03vevt91a1gmupss57lp6
546634
546629
2026-06-13T19:50:22Z
Persino
2851
546634
Scribunto
text/plain
local p={};
function p.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw_spisu_rzeczy_szablon,kod_num)
local numer_parametru;
if(not tabela_nazw_spisu_rzeczy_szablon.numer_parametru)then
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_spisu_rzeczy;
if(not kod_num)then
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
else
tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_linkowe_spisu_rzeczy;
end;
numer_parametru=tab_spisu_rzeczy[nazwa_szablonu];
if(not numer_parametru)then return nil;end;
tabela_nazw_spisu_rzeczy_szablon.numer_parametru=numer_parametru;
else
numer_parametru=tabela_nazw_spisu_rzeczy_szablon.numer_parametru;
end;
local indeks=numer_parametru[numer];
for p,_ in ipairs(indeks) do
local parametr=tabela_parametrow_szablonu[indeks[p]];
if(parametr)then
return parametr;
end;
end;
return nil;
end;
function p.LiczonyHNumer()
local tab={};
local h_numer_zapamietane=nil;
--local ostatnie_poprz=nil;
return function(h_numer,h_numer_nowe)
if(h_numer==0)then
if(#tab>0)then
local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
return ostatnie_poprz;
end;
return nil;
elseif(h_numer<0)then
h_numer=math.abs(h_numer);
end;
local ostatnie;---=tab[h_numer];
local max_h_numer=nil;local min_h_numer=nil;
local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true;
for i=#tab,1,-1 do
----
local h_numer_pos,ostatnie_pos=unpack(tab[i]);
if(ostatnie_ost_prawda)then
if(h_numer_pos==h_numer)then
ostatnie_ost=ostatnie_pos;
break;
end;
ostatnie_ost_prawda=nil;
end;
----
if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then
if((h_numer_pos or 0)<=(max_h_numer or h_numer))then
ostatnie_max=ostatnie_pos;
max_h_numer=h_numer_pos;
end;
end;
end;
if(ostatnie_ost)then
ostatnie=ostatnie_ost;
else
ostatnie=(ostatnie_max or 0)+1;
end;
local h_numer_poprz,ostatnie_poprz=nil,nil;
if(#tab>0)then
h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]);
end;
if(ostatnie>(ostatnie_poprz or 0)+1)then
ostatnie=(ostatnie_poprz or 0)+1;
end;
table.insert(tab,{h_numer,ostatnie,});
if(h_numer_nowe)then
local roznica=h_numer_nowe-ostatnie;
if(roznica==0)then
return ostatnie;
end;
local tab2={};
for i,tabs in pairs(tab)do
local name,value=unpack(tabs);
tab2[i]={name,value+roznica,};
end;
tab=tab2;
return h_numer_nowe;
end;
return ostatnie;
end;
end;
function p.PoziomAdresu(adres)
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
end;
return i;
end;
function p.NazwaNadStrony(adres,numer)
if((numer)and(numer==0))then return nil;end;
if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end;
local lens=#adres;
local i=1;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
end;
if(i==numer)then
return mw.ustring.sub(adres,1,p-1);
end;
end;
return adres;
end;
function p.SubNazwaNadStrony(adres,numer,krok)
if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end;
krok=krok or 1;
if((krok<1)or(krok~=math.floor(krok)))then return adres;end;
local lens=#adres;
local i=1;
local a=nil;local b=nil;
for p=1, lens,1 do
local znak=mw.ustring.sub(adres,p,p);
if(znak=="/")then
i=i+1;
if(i==numer)then
if(not a)then a=p+1;end;
end;
if(i==numer+krok)then
if(not b)then b=p-1;break;end;
end;
end;
end;
if(not a)then a=1;end;
if(not b)then b=lens;end;
return mw.ustring.sub(adres,a,b);
end;
function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"];
local nazwa_jednostki=self.args["nazwa jednostki"];
if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
local tabela_nazw_adresu={};
self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu);
end;
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]());
local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]());
local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true);
pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki);
---
local techniczne_modul=require("Module:Techniczne");
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,};
pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki);
local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki);
if(strona)then pelna_nazwa_jednostki=strona;end;
local nazwy_modul=require("Module:Nazwy");
self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki);
self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki);
self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki);
self.parametry_woluminu=false;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu];
if(not tab_lista_artykulow_w_ksiazce)then
return;
end;
local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy;
if(oryginalna_ksiazka)then
self.nazwa_przestrzeni=oryginalna_ksiazka[1];
self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2];
self.nazwa_woluminu=oryginalna_ksiazka[3];
end;
else
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self.parametry_woluminu=true;
end;
end;
function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local self_tab;
if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then
if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
if(not tabela_listy_danych_analizy_ksiazki)then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki;
local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki;
local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
end;
end;
if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then
self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki);
end;
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)];
if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then
return nil,nil,nil,nil,nil;
end;
local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)];
if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]]
end;
local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)];
if(not tab_lista_artykulow_w_ksiazce)then
return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil;
end;
local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil;
return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
end;
function p.AnalizujArgumentySzablonu(self,frame)
local parametry_modul=require("Module:Parametry");
self.args=parametry_modul.PobierzArgsParametry(frame,true);
end;
function p.Args(self)
return self.args;
end;
function p.Self(self,tabela_listy_danych_analizy_ksiazki)
local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local self_tab={};
self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni;
self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu;
self_tab.nazwa_woluminu_podana=self.nazwa_woluminu;
self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu;
return self_tab,tabela_listy_danych_analizy_ksiazki;
end;
function p.KompletnaNazwaWoluminu(self,frame)
return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu
end;
function p.NazwaPodStronyWoluminu(self,frame)
return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or "");
end;
function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana)
local stronicowyparser_modul=require("Module:StronicowyParser");
local nazwy_modul=require("Module:Nazwy");
local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie;
local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil;
local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul;
return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~=""))
and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul)
or artykul;
end;
function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)
p:AnalizujArgumentySzablonu(frame);
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local tab_naglowkow={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1];
local czy_centrowany=tab_lista[1][2][4];
if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then
table.insert(tab_naglowkow,rozdzial);
end;
end;
self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow;
return tab_naglowkow;
end;
function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu-2);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2];
return artykul;
end;
function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)
self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1;
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end;
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu);
local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1];
return artykul;
end;
function p.PierwszyNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[1];
end;
function p.OstatniNapisWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)];
end;
function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)
self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki);
self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu);
return self.len_pomiedzy_napisu_wprowadzenia_tekstu;
end;
function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)
local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame);
local parametry_modul=require("Module:Parametry");
return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow);
end;
function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)
p:AnalizujArgumentySzablonu(frame);
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule;
if(not tab_lista_artykulow_w_ksiazce_spis)then
p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki);
spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu;
inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy;
dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu;
end;
if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end;
local args=p:Args();
local parametry_modul=require("Module:Parametry");
local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykulow=(not czy_naglowek) and {} or nil;
local tab_listy_artykulow={};
local tab_listy_artykulow_spis={};
local czy_inne_spisy=false;
local html_modul=require("Module:Html");
local nazwa_tabeli_danego_spisu_tresci=args["spis"];
if(nazwa_tabeli_danego_spisu_tresci)then
local techniczne_modul=require("Module:Techniczne");
nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true);
nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci);
nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",};
nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,"");
local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame)
local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci;
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu);
if(strona)then
local nazwy_modul=require("Module:Nazwy");
nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona);
end;
end;
local czy_dany_spis=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
local poziom_rozdzialu=tab_lista[1][2][1];
local nazwa_spisu=nil;
if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then
local spis=tab_lista[1]["spis"];
nazwa_spisu=spis and spis[1] or nil;
----
if(not nazwa_tabeli_danego_spisu_tresci)then
if(nazwa_spisu)then
if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end;
local spis_artykulow=tab_listy_artykulow["spis"];
spis_artykulow[nazwa_spisu]={};
tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu];
czy_inne_spisy=true;
else
local dodatkowe=tab_lista[1]["dodatkowe"];
if(dodatkowe)then
tab_listy_artykulow["dodatkowe"]={};
tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"];
czy_inne_spisy=true;
end;
end;
else
if(nazwa_spisu)then
if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then
czy_dany_spis=true;
else
if(czy_dany_spis)then
czy_dany_spis=nil;
break;
else
czy_dany_spis=nil;
end;
end;
end;
end;
end;
if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then
local pomin_pozycje=true;
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if((not pomin_pozycje)or(not nazwa_spisu))then
local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]);
local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1];
----
artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek);
----
if(czy_naglowek or (not tab_artykulow[artykul]))then
if(not czy_naglowek)then tab_artykulow[artykul]=true;end;
local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil;
local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil;
local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil;
table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
else
pomin_pozycje=false;
end;
end;
end;
end;
local stronicowyparser_modul=require("Module:StronicowyParser");
local parametry_modul=require("Module:Parametry");
--local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly;
if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy)))
and((not dodatkowe_artykuly)
or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly)))
))then
local tablica_spisu_glownego;
if(not nazwa_tabeli_danego_spisu_tresci)then
if(czy_inne_spisy)then
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {};
tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci];
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
else
tablica_spisu_glownego=tab_listy_artykulow_spis;
end;
local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego);
return function()
local wartosc=iter_glowny();
if(not wartosc)then return nil;end;
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil);
local nazwa=czy_table_wartosc and wartosc[2] or nil;
local przekierowanie=czy_table_wartosc and wartosc[3] or nil;
local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
local wykorzystane_spisy={};
local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {});
local czy_dodatkowe_zaanalizowane=false;
local function IteratorMain(wartosc,numer)
----
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[wartosc];
if(tabela_spisu)then
if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then
tabela_spisu=nil;
else
wykorzystane_spisy[wartosc]=true;
end;
end;
local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
----
local tak=nil;
local iter2=nil;
local function Iterator()
local function IterMain()
local wartosc=iter();
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
if(not wartosc)then
if(numer~=0)then
return nil;
else
local function InneSpisy()
--if(aa<10)then return nil;end;
local spis=iter_innych_spisow();
if(not spis)then
if(czy_dodatkowe_zaanalizowane)then return nil;end;
local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"];
if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end;
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {});
czy_dodatkowe_zaanalizowane=true;
wartosc=iter();
return true;
end;
local czy_table_spis=parametry_modul.TypeTable(spis);
local spis_artykul=czy_table_spis and spis[1] or spis;
if(not wykorzystane_spisy[spis_artykul])then
wykorzystane_spisy[spis_artykul]=true;
local tabela_spisu_spis=tab_listy_artykulow["spis"] or {};
local tabela_spisu=tabela_spisu_spis[spis_artykul];
if(tabela_spisu)then
iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {});
wartosc=iter();
if(not wartosc)then
return InneSpisy();
end;
else
return InneSpisy();
end;
else
return InneSpisy();
end;
return true;
end;
local koniec=InneSpisy();
if(not koniec)then return nil;end;
end;
end;
----
local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc);
artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc);
nazwa=czy_table_wartosc and wartosc[2] or nil;
przekierowanie=czy_table_wartosc and wartosc[3] or nil;
pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil;
----
artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul);
----
tak=true;
iter2=IteratorMain(artykul,numer+1);
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
if(not tak)then
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2();
if(not artykul)then
tak=nil;
local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain();
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
else
return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki;
end;
end;
end;
return Iterator;
end;
local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci);
return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0);
end;
function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)
local frame=mw.getCurrentFrame();
local nazwy_modul=require("Module:Nazwy");
local techniczne_modul=require("Module:Techniczne");
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly);
for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do
if(pelna_nazwa_ksiazki)then
if(co_ma_wykrywac)then
if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then
local czy_przekierowanie=pelna_nazwa_ksiazki[6];
if(czy_przekierowanie)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(pelna_nazwa_ksiazki[5])then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
end;
else
if((nazwa_artykulu==przekierowanie))then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,2;
end;
end;
else
local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,};
if(ile>0)then
return nazwa_artykulu,3;
else
return nazwa_artykulu,4;
end;
end;
end;
end;
else
if(not co_ma_wykrywac)then
local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false);
if(przekierowanie)then
if(nazwa_artykulu==przekierowanie)then
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
return nazwa_artykulu_strony,1;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return przekierowanie,2;
end;
end;
else
local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false);
if(nazwa_artykulu==nazwa_artykulu_strony)then
return nazwa_artykulu,3;
end;
end;
end;
end;
end;
end;
function p.ObliczeniaInformacje(self,frame)
local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki);
if (not iterator)then return nil;end;
----
self.tab_artykul={};
----
for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do
table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul);
end;
self.len_tab_artykul=#self.tab_artykul;
return true;
end;
function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer)
if(numer==0)then return tablica,0;end;
local s=0;
for i=#tablica,1,-1 do
local artykul=tablica[i][1];
local numer_artykulu_w_bazie=p.PoziomAdresu(artykul);
if(numer~=numer_artykulu_w_bazie)then
table.remove(tablica,i);
s=s+1;
end;
end;
return tablica,s;
end;
function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2);
local artykul=tab_artykul[reszta_pomiedzy_artykul+2];
return artykul;
end;
function p.LosowaStronaWoluminu(self,frame,numer)
local tab_artykul;local s;
if(numer>0)then
local parametry_modul=require("Module:Parametry");
tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul);
tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer);
else
tab_artykul=self.tab_artykul;
s=0;
end;
local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1;
local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul);
local artykul=tab_artykul[reszta_pomiedzy_artykul+1];
return artykul;
end;
function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local szablonowe_modul=require("Module:Szablonowe");
local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow))
or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow))
)then
return nil,false;
end;
local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true);
if(not czy_powodzenie)then
return nil,false;
end;
nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu;
return nazwa_szablonu,true;
end;
nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu;
return nazwa_szablonu;
end;
function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow)
if(lista_elementow_spisu_tresci==nil)then return nil;end;
local twor_listy="";
local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2];
local poziom=1;
local num={};
local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or "";
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do
local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}");
local adres=element_w_tablicy[1][1];
local naglowek=element_w_tablicy[1][2];
local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil);
if(czy_w_tym_szablony)then
local specjalne_modul=require("Module:Specjalne");
adres=specjalne_modul["PrzetwórzNagłówek"](adres,true);
naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false);
end;
adres=nazwa_strony_z_naglowkami.."#"..adres;
----
if(licznik==1)then
num[#num+1]=1;
twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
else
if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then
num[#num]=num[#num]+1;
twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then
num[#num+1]=1;
poziom=poziom+1;
twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then
local num_length=#num;
for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do
table.remove(num);
end;
num[#num]=num[#num]+1;
local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2];
poziom=poziom-roznica_poziomow;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'
.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]";
liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2];
end;
end;
end;
twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0);
return twor_listy;
end;
function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij)
local frame=frame or mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
local bez_przypisow=PobierzParametr("bez przypisów");
bez_przypisow=parametry_modul.CzyTak(bez_przypisow);
local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow);
local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka);
if(not toc_czy_tocramka)then
local czy_ukryte=twor_listy;
local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu";
local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem";
local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%";
local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści";
local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x);
local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu);
local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego);
local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki);
local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami);
local maxwidth=PobierzParametr("max-width");
local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil;
local klasa=PobierzParametr("klasa");
twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>";
local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|tytuł=<div class="tytuł_spisu_treści" style="text-align:left;font-size:1em;background-color:white;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;">'..spis_tresci..'</div>|spis='..twor_listy..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}';
local rozwiniety_wikikod=frame:preprocess(wikikod_menu);
return rozwiniety_wikikod;
else
return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or "");
end;
end;
function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2)
if(obiekt~="SZABLON")then return;end;
--uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+","");
--local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu];
----
local szablonowe_modul=require("Module:Szablonowe");
----
local function GlownaFunkcja(wywolanie,obiekt,kod)
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
__Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie,obiekt,kod,tab_numer);
if(__Funkcja2)then
__Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu);
end;
end);
end;
GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod);
end;
function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then
if(not czy_naglowek)then
return artykul[1];
else
return artykul;
end;
end;
return artykul;
end;
function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul)
local parametry_modul=require("Module:Parametry");
local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul);
if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end;
return czy_table_baza_artykulu;
end;
function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end;
return tab_artykulu;
end;
function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu)
local parametry_modul=require("Module:Parametry");
if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end;
return tab_artykulu;
end;
function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony)
local parametry_modul=require("Module:Parametry");
parametry=parametry_modul.CzyTak(parametry) and parametry or nil;
naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil;
return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony;
end;
function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tab_artykul))then
if(pomin_link or tab_artykul["LINK"])then
local nazwa_artykulu_strony=tab_artykul[1];
if(naglowek)then
local parametry=tab_artykul[2];
local naglowek=tab_artykul[3];
return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or "");
else
return nazwa_artykulu_strony;
end;
else
return tab_artykul;
end;
else
return tab_artykul;
end;
end;
function p.DekodowanieTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,czy_nie_odstepy)
if(not tekst)then return tekst;end;
local szablonowe_modul=require("Module:Szablonowe");
tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local html_modul=require("Module:Html");
tekst=html_modul.DecodeHtml(tekst,true,nil,nil,czy_nie_odstepy);
return tekst;
end;
function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory)
----
local szablonowe_modul=require("Module:Szablonowe");
local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu());
if(not czy_kodowanie)then return nil,true;end;
if(not czy_uwzgledniac_modyfikatory)then
local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:");
if(czy_modyfikatory)then return nil,false;end;
end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
--local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
--local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu;
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
local tab_linki_generalne_szablony_linkowe=stronicowyparser_obiekty_modul.linki_generalne_szablony_linkowe;
---
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
----
local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza
----
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local techniczne_modul=require("Module:Techniczne");
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local czy_szablon_wszystko=false;
local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if(obiekt=="SZABLON")then
local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if((tab_szablony[nazwa_szablonu])
---or(tab_naglowki[nazwa_szablonu])
--or(tab_tekst[nazwa_szablonu]
or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])
or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])
or(tab_szablony_strona_zbiorcza[nazwa_szablonu])
or(tab_szablony_strona_start[nazwa_szablonu])
or(tab_linki_generalne_szablony_linkowe[nazwa_szablonu])
or(p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
)then return nil,false;end;
for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do
if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua)
or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/"))
)then
return nil,false;
end;
end;
return true,true;
end);
czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik);
return wynik;
end;
return true;
end);
if(czy_szablon_wszystko)then
local frame=mw.getCurrentFrame();
nazwa_szablonu=frame:preprocess(nazwa_szablonu);
end;
return nazwa_szablonu,true;
end;
function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja;
if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end;
local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu];
if(nazwa_linku)then return nazwa_linku,true;end;
local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja;
local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(przez_literowa)then
local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa;
return nazwa,true;
end;
if(ustep=="")then
if(prze=="u")then return "LinkUstęp"..dwa,true;end;
if(prze=="o")then return "LinkOgólne"..dwa,true;end;
end;
else
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze];
if(projektowe_literowe)then
ustep=litery_przestrzeni_kolidacja[ustep] or ustep;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..dwa,true;
end;
end;
end;
return nazwa_szablonu,false;
else
local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$");
if((link)and(link=="L"))then
if((ustep=="")or(ustep=="u"))then
local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt];
if(projektowe_literowe)then
prze=litery_przestrzeni_kolidacja[prze] or prze;
local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze];
if(prze_literowa)then
return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true;
end;
end;
end;
end;
return nazwa_szablonu,false;
end;
end;
function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku;
end;
end;
end;
nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa;
local function AnalizaSzablonowaLinku()
local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$");
if(not nazwa)then return;end;
if(dwa=="")then dwa=nil;else dwa=true;end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
----
local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne;
local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu;
local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe;
----
local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$")
nazwa=nazwa_nowa or nazwa;
local czy_ustep=ustep_nowa and true or false;
local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$");
if(przestrzen)then
local przestrzenne=tab_przestrzen[przestrzen];
if(przestrzenne)then
return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
----
local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$");
if(jezyk and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen];
if(jezykowe and przestrzenne)then
return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,};
end;
----
local projektowe=tab_projektowe[jezyk];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,};
end;
end;
-----
local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$");
if(jezyk and projekt and przestrzen)then
local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen]
if(jezykowe and projektowe and przestrzenne)then
return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,}
end;
local projektowe=tab_projektowe[jezyk..projekt];
if(projektowe and przestrzenne)then
return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,};
end;
end;
return nil;
end;
local wynik=AnalizaSzablonowaLinku();
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik;
end;
return wynik;
end;
function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
--local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
--local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne;
local nazwa_zamiast_linku;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="Sekcja referencyjna")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2];
if(nazwa)then return nazwa;end;
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1];
local parametry_modul=require("Module:Parametry");
local czy_strona=parametry_modul.CzyTak(strona) and true or false;
if(not czy_strona)then
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"]();
end;
local ustep=tabela_parametrow_szablonu["ustęp"];
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
local czy_ustep=parametry_modul.CzyTak(ustep);
if(not czy_strona)then czy_ustep=not czy_ustep;end;
nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
elseif(nazwa_szablonu=="Link wewnętrzny")then
nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "")
elseif(nazwa_szablonu=="LinkOgólne")then
nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1];
elseif(nazwa_szablonu=="SpisTreści")then
local nazwa=(tabela_parametrow_szablonu["nazwa"]
or tabela_parametrow_szablonu[3]
or tabela_parametrow_szablonu["artykuł"]
or tabela_parametrow_szablonu[1]);
if(nazwa)then
local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4];
if(dodatek)then dodatek=" "..dodatek;else dodatek="";end;
nazwa_zamiast_linku=nazwa..dodatek;
end;
elseif(nazwa_szablonu=="LinkURL")then
local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"];
if(nazwa)then
nazwa_zamiast_linku=nazwa;
else
local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"];
nazwa_zamiast_linku=strona;
end;
end;
if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku;
end;
end;
return nazwa_zamiast_linku;
end;
function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy;
end;
end;
end;
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy;
local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu];
if(tab_spis)then
local czy_true=tab_spis[1];
local parametr;local numer;
if(czy_true)then
parametr=tabela_parametrow_szablonu[tab_spis.numer_link];
else
parametr=tabela_parametrow_szablonu[tab_spis.link];
local numer=tabela_parametrow_szablonu[tab_spis.numer];
parametr=(parametr and numer)and (numer.." "..parametr) or (parametr);
end;
if((parametr)and(parametr~=""))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr;
end;
end;
return parametr;
end;
return nil;
end;
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
local numer;
if((obiekt)and(kod))then
if(obiekt=="SZABLON")then
numer=-2;
elseif(obiekt=="LINKW")then
numer=-3;
elseif(obiekt=="LINKZ")then
numer=-4;
end;
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(tablica_danych_parametrow_szablonu_strony_numer)then
local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod];
if(tablica_danych_parametrow_szablonu_strony_numer_kod)then
return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5];
end;
end;
end;
end;
local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych);
if((obiekt)and(kod))then
if((tablica_danych_parametrow_szablonu_strony)and(kod))then
if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end;
local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer];
if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end;
tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,};
end;
end;
return local1,local2,local3,local4,local5;
end;
function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych)
----
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local pozycja_artykulu=nil;local nazwa=nil;
local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci);
if(not czy_tabela_do_parsowania_artykulu)then
pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$");
if(not((pozycja_artykulu)and(nazwa)))then
pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$");
end;
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy")
local techniczne_modul=require("Module:Techniczne");
local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci);
local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]])
----
--local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true);
--local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true);
----
strona=html_modul["NazwaStronyAdresu"](strona,true);
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,};
----
local tabela_nazw_strona={};
local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona);
local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona);
local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona);
--if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and
--[[else]]
if(tab_nazwa_spisow_przekierowaniowych)then
local techniczne_modul=require("Module:Techniczne");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona);
local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie)
local tabela_nazw_przekierowanie={};
----
local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie);
local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony));
----
local tabela_nazw_adresu_przekierowania={};
local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil);
----
if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then
local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki))));
if(czy_inne_ksiazka)then
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={};
end;
if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then
tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true;
end;
end;
return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,};
else
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,};
else
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
end;
end;
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,nil,true);
else
if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])
and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then
return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},};
end;
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,"");
local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki);
if(strona_przekierowania)then
return DaneRozwazone(strona_przekierowania,true,false);
end;
end;
end;
if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then
return {nazwa_artykulu_strony,parametry,naglowek,};
end
return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony;
end;
---
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then
if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then
----
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil)
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local tabela_nazw_adresu_artykulu={};
parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu);
----
local czy_pozycja_artykulu=pozycja_artykulu;
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local nazwy_modul=require("Module:Nazwy");
--local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,};
strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwa_przestrzeni_strony==nazwy_np_modul.Main)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni_strony==nazwy_np_modul.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
elseif(
czy_link
or parametry_modul.CzyTak(klucz_projektu)
or parametry_modul.CzyTak(kod_jezyka)
or parametry_modul.CzyTak(kod_projektu)
or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File))
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
else
local pozycja_artykulu_stara=pozycja_artykulu;
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"]();
local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"]();
local wiki_modul=require("Module:Wiki");
local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:");
local nazwa_strony_linku;
local uzyskana_nazwa_strony_linku;
if(czy_nie_dwukropek)then
nazwa_strony_linku=pozycja_artykulu;
else
local kod_jezyka_poczatkowy, kod_projektu_poczatkowy;
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy);
uzyskana_nazwa_strony_linku=nazwa_strony_linku;
end;
----
parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu);
local nazwy_modul=require("Module:Nazwy");
----
local tabela_nazw_artykul={};
local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
local nazwa_kanoniczna_przestrzeni;
local biezaca_wiki;
if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then
biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
else
biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki;
end;
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(biezaca_wiki)then
local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false;
if(nazwa_przestrzeni)then
if((nazwa_przestrzeni==nazwy_np_modul.Main)
or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior)
or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks)
or(nazwa_przestrzeni==nazwy_np_modul.User)
)then
local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku);
if(pozycja_artykulu)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
elseif(
czy_link
or (nazwa_strony_linku~=pozycja_artykulu)
or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File))
)then
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul)
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul);
nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_kanoniczna_przestrzeni)then
if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project)
or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User)
)then
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
end;
---
local czy_pozycja_artykulu=nil;
if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then
local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$");
if(link_szablon)then
local szablonowe_modul=require("Module:Szablonowe");
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu);
if(nazwa_szablonu=="SpisTreści")then
local tabela_nazw_spis_rzeczy={};
pozycja_artykulu=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
------
local nazwa_ksiazki=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if(not nazwa_ksiazki)then
pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
local nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
------
return {pozycja_artykulu,nazwa,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
return {pozycja_artykulu,nil,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
else
local adres=nazwa_spisu_tresci..((pozycja_artykulu~="")and ("/"..pozycja_artykulu)or "");
adres=p.DekodowanieNazwySzablonu(adres,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy);
if((nazwa)or(dodatek))then
nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or "");
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(adres);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(adres,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Sekcja referencyjna")then
local tabela_nazw_sekcja_referencyjna={};
local strona=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local podstrona=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
-----
strona=strona and p.DekodowanieTekstu(strona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or strona;
podstrona=podstrona and p.DekodowanieTekstu(podstrona,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or podstrona;
-----
local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
if(nazwa)then
local html_modul=require("Module:Html");
nazwa=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(nazwa);
nazwa=parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",[4]="tak",};
end;
----
local ustep=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_malej=p.SpisRzeczySzablon(nazwa_szablonu,5,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local od_duzej=p.SpisRzeczySzablon(nazwa_szablonu,6,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local nazwa_przestrzeni_nazw=p.SpisRzeczySzablon(nazwa_szablonu,7,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
local nazwa_jednostki=p.SpisRzeczySzablon(nazwa_szablonu,8,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true);
----
local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna");
----
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,nil,true);
----
local html_modul=require("Module:Html");
local tabela_nazw_adresu={};
local parametry_ref=html_modul["ParametryStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
local naglowek_ref=html_modul["NagłówekStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
----
local strona_ref=html_modul["NazwaStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu);
-----
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona_ref,parametry_ref,naglowek_ref),nazwa_artykulu,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
else
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_jednostki=pudelko_modul["Pełna nazwa jednostki"](
{
args={
["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw,
["nazwa jednostki"]=nazwa_jednostki,
}
},0);
local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki);
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(strona_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(strona_artykulu,nil,nil,nazwa_artykulu,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
end;
elseif(nazwa_szablonu=="Link wewnętrzny")then
local pozycja_artykulu=tabela_parametrow_szablonu["strona"];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa=tabela_parametrow_szablonu["nazwa"];
local naglowek=tabela_parametrow_szablonu["nagłówek"];
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$");
if(nazwa_szablonu_nowa)then
local pozycja_artykul;
local strona=tabela_parametrow_szablonu[1];
if(not strona)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local czy_dwa=(dwa~="")and true or false;
local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil;
local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"]
or tabela_parametrow_szablonu["przestrzeń"]
or tabela_parametrow_szablonu["f"];
if(miano_przestrzeni_nazw)then
pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona;
else
pozycja_artykulu=strona;
end;
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
else
local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true);
if(dane_szablonu_linku)then
local pozycja_artykulu=tabela_parametrow_szablonu[1];
if(not pozycja_artykulu)then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false;
end;
local nazwa_przestrzeni=dane_szablonu_linku[1];
local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1];
local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil;
local klucz_projektu;local kod_jezyka;local kod_projektu;
if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then
klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"];
kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"];
kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"];
else
kod_jezyka=dane_szablonu_linku[3];
kod_projektu=dane_szablonu_linku[2];
end;
local czy_nie_dwukropek;
if(nazwa_przestrzeni=="")then
czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then
czy_nie_dwukropek=true;
else
czy_nie_dwukropek=false;
end;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then
return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true;
end;
end;
end;
end);
else
local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$");
if(nazwa_strony)then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false;
else
local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$");
if((nazwa_strony)and(nazwa_linku))then
nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true);
return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false;
end;
end;
end;
elseif(not czy_tabela_do_parsowania_artykulu)then
local specjalne_modul=require("Module:Specjalne");
if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then
return nil,nil,false,nil,true;
end;
local parametry_modul=require("Module:Parametry");
--pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",});
local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$");
if(czy_pozycja_artykulu)then
if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then
czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu;
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil);
else
pozycja_artykulu=nil;
return {pozycja_artykulu,nazwa},1,false,nil,false;
end;
else
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil);
end;
else
local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1];
local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2];
local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu);
return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil);
end;
end;
return p;
6u6jyu3n1g7thf64xuk202tckesl9pv
Moduł:StronicowyParser/NumerObiektu
828
59499
546596
546533
2026-06-13T16:36:48Z
Persino
2851
546596
Scribunto
text/plain
local p={};
function p.NumerObiektu(frame, nazwa_obiektu)
local pf=frame:getParent();
local parametry_modul=require("Module:Parametry");
local uchwyt_obiektu=frame.args["uchwyt"];
local bez_automatu=parametry_modul.CzyTak(frame.args["bez automatu"]);
local html_modul=require("Module:Html");
uchwyt_obiektu=uchwyt_obiektu and html_modul.DecodeHtml(uchwyt_obiektu,true) or nil;
local nazwa_strony;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local techniczne_modul=require("Module:Techniczne");
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_przestrzeni;local nazwa_przestrzeni_ksiazki;local nazwa_ksiazki;local nazwa_artykulu;
nazwa_artykulu=frame.args["nazwa artykułu"];
nazwa_ksiazki=frame.args["nazwa książki"];
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych;
local czy_table_tablica_transportu=parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki);
local czy_aktualna_strona=nil;
local nazwa_przestrzeni_nazw=pf.args["nazwa przestrzeni nazw"];
local nazwa_jednostki=pf.args["nazwa jednostki"];
if((nazwa_przestrzeni_nazw) or (nazwa_jednostki))then
if(((not nazwa_artykulu)and(not nazwa_ksiazki)) or((nazwa_artykulu)and(not nazwa_ksiazki)))then
if(nazwa_przestrzeni_nazw)then
nazwa_przestrzeni_nazw=html_modul.DecodeHtml(nazwa_przestrzeni_nazw,true);
end;
if(nazwa_jednostki)then
nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true);
end;
local ksiazkowe_modul=require("Module:Książkowe");
local tabela_nazw_poczatkowe={};
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_poczatkowe);
local nazwa_jednostki=nazwa_jednostki or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_poczatkowe);
local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local nazwy_modul=require("Module:Nazwy");
local tabela_nazw={};local tabela_nazw_aktualna={};
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona,tabela_nazw);
local aktualna_strona=ksiazkowe_modul["PełnaNazwaArtykułu"](nil,tabela_nazw_aktualna);
if(strona~=aktualna_strona)then
nazwa_artykulu=nazwa_artykulu or nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
local nazwa_ksiazki_aktualna=ksiazkowe_modul["PełnaNazwaKsiążki"](nil,tabela_nazw_aktualna);
local nazwa_ksiazki_strony=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](strona,tabela_nazw);
if(nazwa_ksiazki_aktualna~=nazwa_ksiazki_strony)then
nazwa_ksiazki=nazwa_ksiazki or nazwa_ksiazki_strony;
end;
end;
end;
end;
if((not nazwa_artykulu)and(not nazwa_ksiazki))then
czy_aktualna_strona=1;
nazwa_strony="";
elseif((nazwa_artykulu)and(not nazwa_ksiazki))then
czy_aktualna_strona=2;
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
nazwa_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "");
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_strony);
if(strona)then
strona=html_modul.DecodeHtml(strona,true);
local tabela_nazw={};
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw));
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
nazwa_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "");
if((nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu))then
czy_aktualna_strona=nil;
elseif(nazwa_artykulu==tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then
czy_aktualna_strona=1;
nazwa_strony="";
end;
end;
else
local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu);
nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true);
nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,};
local ksiazkawe_modul=require("Module:Książkowe");
local tabela_nazw={};
nazwa_ksiazki=ksiazkawe_modul["PełnaNazwaStronicowejKsiążki"](nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](nazwa_ksiazki,tabela_nazw);
nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](nazwa_ksiazki,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki,tabela_nazw);
if((nazwa_artykulu)and(nazwa_artykulu~=""))then
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
else
nazwa_artykulu="";
end;
nazwa_strony=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local techniczne_modul=require("Module:Techniczne");
local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_strony);
if(strona)then
strona=html_modul.DecodeHtml(strona,true);
local tabela_nazw={};
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw);
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
if((nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu))then
czy_aktualna_strona=nil;
nazwa_strony=strona;
elseif(nazwa_artykulu==tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then
czy_aktualna_strona=1;
nazwa_strony="";
else
czy_aktualna_strona=2;
nazwa_strony=strona;
end;
end;
end;
local link = function(adres_linku,nazwa_linku,klasa,styl,link_wikidane)
local czy_klasa=parametry_modul.CzyTak(klasa);
local czy_styl=parametry_modul.CzyTak(styl);
local spanramka_dziecko=mw.html.create('span');
if(czy_klasa)then spanramka_dziecko:attr("class",klasa);end;
if(czy_styl)then spanramka_dziecko:attr('style',styl);end;
spanramka_dziecko:wikitext(nazwa_linku);
local kod_html=tostring(spanramka_dziecko:allDone());
----
local spanramka=mw.html.create('span');
if((link_wikidane)and(link_wikidane[1]))then
spanramka:addClass("link");
spanramka:addClass(link_wikidane[1]);
end;
----
local linki_modul=require("Module:Linki");
linki_modul.LinkOgromne(spanramka,nazwa_linku);
----
local link="[["..adres_linku.."|"..kod_html.."]]";
spanramka:wikitext(link);
local kod_html=spanramka:allDone();
return tostring(kod_html);
end;
local wzor = function(uchwyt,numeracja,styl_main,styl_odstepu,pole_odstepu,styl_wzoru,klasa_wzoru,wzor,opis,opis2,klasa_opisu,styl_opisu,styl_opisu_2,wzor_opisu,wzor_opisu_2,styl_alternatywy_opisu,styl_alternatywy_opisu_2,pozycja_numeracji,klasa_numeracji,styl_numeracji,bez_automatu)
local divramka=mw.html.create('div');
local parametry_modul=require("Module:Parametry");
local czy_pozycja_numeracji_prawa=parametry_modul.CzyTak(pozycja_numeracji);
if(parametry_modul.CzyTak(uchwyt))then
if(parametry_modul.CzyTak(bez_automatu))then
divramka:attr('id',"wzór_"..html_modul.EncodeId(uchwyt,true));
else
if(numeracja)then
divramka:attr('id',"wzór_"..numeracja);
else
divramka:attr('id',"niedopasowany-wzór_"..html_modul.EncodeId(uchwyt,true));
end;
end;
end;
if(parametry_modul.CzyTak(styl_main))then
divramka:attr('style',styl_main);
end;
local uchwyt_fun=function()
if(parametry_modul.CzyTak(uchwyt))then
local divuchwytramka=mw.html.create('div');
divuchwytramka:attr('class',klasa_numeracji);
divuchwytramka:attr('style',styl_numeracji);
if(parametry_modul.CzyTak(bez_automatu))then
divuchwytramka:wikitext('(',uchwyt..")");
else
if(numeracja)then
divuchwytramka:wikitext('('..numeracja..")");
else
divuchwytramka:wikitext("(Niedopasowany uchwyt: "..uchwyt..")");
end;
end;
divramka:node(divuchwytramka);
end;
end;
local pole_odstepu_fun=function()
divramka:addClass("wzory");
local divramka2=mw.html.create('div');
divramka2:attr('style',styl_odstepu);
divramka2:wikitext(pole_odstepu);
divramka:node(divramka2);
end;
local opis_fun=function(opis,styl_opisu,wzor_opisu,styl_alternatywy_opisu)
if(parametry_modul.CzyTak(opis))then
local divramka5=mw.html.create('div')
divramka5:attr('class',klasa_opisu)
divramka5:attr('style',styl_opisu)
divramka5:wikitext(wzor_opisu)
divramka:node(divramka5)
else
local divramka5=mw.html.create('div');
divramka5:attr('style',styl_alternatywy_opisu);
divramka:node(divramka5)
end;
end;
if(not czy_pozycja_numeracji_prawa)then
uchwyt_fun();
else
pole_odstepu_fun();
end;
opis_fun(opis2,styl_opisu_2,wzor_opisu_2,styl_alternatywy_opisu_2);
local divramka4=mw.html.create('div');
divramka4:attr('class',klasa_wzoru);
divramka4:attr('style',styl_wzoru);
divramka4:wikitext(wzor);
divramka:node(divramka4);
opis_fun(opis,styl_opisu,wzor_opisu,styl_alternatywy_opisu);
if(czy_pozycja_numeracji_prawa)then
uchwyt_fun();
else
pole_odstepu_fun();
end;
return tostring(divramka:allDone());
end;
local rysunek=function(uchwyt,numeracja,opis, rysunek, pozycja,rozmiar,klasa,styl,bez_automatu)
local czy_uchwyt=parametry_modul.CzyTak(uchwyt);
local id;
if(czy_uchwyt)then
if(numeracja)then
if(parametry_modul.CzyTak(bez_automatu))then
id="rysunek_"..html_modul.EncodeId(uchwyt,true);
else
id="rysunek_"..numeracja;
end;
else
id="niedopasowany-rysunek_"..html_modul.EncodeHtml(uchwyt,true);
end;
end;
local czy_opis=parametry_modul.CzyTak(opis);
local plik_modul=require("Module:Plik");
local wywolanie_rysunku=plik_modul.Plik{
plik=((rysunek)and rysunek or "Przykładowy rysunek.svg"),
id=id,
styl=styl,
klasa=klasa,
ramka="mały",
pozycja=pozycja or "prawo",
rozmiar=(rozmiar or "200px"),
opis=((czy_uchwyt or czy_opis)and (((parametry_modul.CzyTak(uchwyt))and "(Rys. "..((numeracja)and (parametry_modul.CzyTak(bez_automatu) and uchwyt or numeracja) or "Niedopasowany uchwyt: "..uchwyt)..")" or "").." "..opis) or ""),
};
--local wywolanie_rysunku="[[File:"..((rysunek)and rysunek or "Przykładowy rysunek.svg").."|thumb|"..(pozycja or "right").."|"..(rozmiar or "200px")..((czy_uchwyt or czy_opis)and ("|"..((parametry_modul.CzyTak(uchwyt))and "(Rys. "..((numeracja)and (parametry_modul.CzyTak(bez_automatu) and uchwyt or numeracja) or "Niedopasowany uchwyt: "..uchwyt)..")" or "").." "..opis) or "").."]]";
return tostring(wywolanie_rysunku);
end;
local wypowiedzenie = function(uchwyt,przedrostek,numeracja,klasa,styl,przedrostek2,rodzaj,kogo,czego,jakie,styl_naglowka,styl_tekstu,tekst,bez_automatu)
local divramka=mw.html.create('div');
if(parametry_modul.CzyTak(uchwyt))then
if(parametry_modul.CzyTak(bez_automatu))then
divramka:attr('id',przedrostek.."_"..html_modul.EncodeId(uchwyt,true));
else
divramka:attr('id',((not numeracja)and "niedopasowany-" or "")..przedrostek.."_"..(numeracja or html_modul.EncodeId(uchwyt,true)));
end;
end;
divramka:attr('class',klasa);
divramka:attr('style',styl);
local wikitext="";
if(parametry_modul.CzyTak(uchwyt))then
if(parametry_modul.CzyTak(bez_automatu))then
wikitext="("..przedrostek2.." "..uchwyt..")";
else
if(numeracja)then
wikitext="("..przedrostek2.." "..numeracja..")";
else
wikitext="("..przedrostek2.." Niedopawany uchwyt: "..uchwyt..")";
end;
end;
end;
if(parametry_modul.CzyTak(styl_naglowka))then
local spanramka=mw.html.create('span');
spanramka:attr('style',styl_naglowka);
spanramka:wikitext(rodzaj.." "..kogo.." "..czego.." "..jakie.." "..wikitext);
divramka:node(spanramka);
else
divramka:wikitext(rodzaj.." "..kogo.." "..czego.." "..jakie.." "..wikitext);
end;
divramka:wikitext('<BR>');
if(parametry_modul.CzyTak(styl_tekstu))then
local spanramka=mw.html.create('span');
spanramka:attr('style',styl_tekstu);
spanramka:wikitext(tekst);
divramka:node(spanramka);
else
divramka:wikitext(tekst);
end;
return tostring(divramka:allDone());
end;
local punkty = function(uchwyt,numeracja,przedrostek_id,klasa,styl,prefiks,bez_automatu)
local spanramka=mw.html.create('sup');
spanramka:attr('style',klasa);
if(parametry_modul.CzyTak(uchwyt))then
if(parametry_modul.CzyTak(bez_automatu))then
spanramka:attr('id',przedrostek_id.."_"..html_modul.EncodeId(uchwyt,true));
else
if(parametry_modul.CzyTak(numeracja))then
spanramka:attr('id',przedrostek_id.."_"..numeracja);
else
spanramka:attr('id',"niedopasowany-"..przedrostek_id.."_"..html_modul.EncodeId(uchwyt,true));
end;
end;
end;
spanramka:attr('style',styl);
local smallramka=mw.html.create('small');
if(parametry_modul.CzyTak(uchwyt))then
if(parametry_modul.CzyTak(bez_automatu))then
smallramka:wikitext('['..prefiks..": "..uchwyt..']');
else
if(parametry_modul.CzyTak(numeracja))then
smallramka:wikitext('['..prefiks..": "..numeracja..']');
else
smallramka:wikitext('['..prefiks..": Niedopsowany uchwyt: "..uchwyt..']');
end;
end;
else
smallramka:wikitext('['..prefiks..": Niedopasowany uchwyt: brak uchwytu]");
end;
spanramka:node(smallramka);
return tostring(spanramka:allDone());
end;
local nazwa_strony_fun=function(nazwa_strony)
if((nazwa_strony)and(nazwa_strony==""))then return "";end;
if(czy_aktualna_strona)then
if(czy_aktualna_strona==1)then
return "";
elseif(czy_aktualna_strona==2)then
if(tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu)then return "";end;
end;
else
if((tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)
and(tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)
and(tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)
and (tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
return "";
end;
end;
return html_modul.EncodeId(nazwa_strony);
end;
local function BladTablicyTransportu(czy_table_tablica_transportu)
if(not czy_table_tablica_transportu)then
local blad_modul=require("Module:Błąd");
return blad_modul.error{tekst="Błąd stronicowego parsera: '''Moduł:StronicowyParser'''. Tablica silnika transportu lub jego składowe przyjmują wartość nietabelkową.",tag="strong",};
end;
return "";
end;
local function BezNumeracjiZUchwytami()
if(frame.args["obiekt"])then
if(frame.args["obiekt"]=="link")then
local nazwa_strony=nazwa_strony_fun(nazwa_strony);
if(uchwyt_obiektu)then
local uchwyt_obiektu=html_modul.EncodeId(uchwyt_obiektu,true);
return "("..link(nazwa_strony.."#"..frame.args["id"].."_"..uchwyt_obiektu,frame.args["przedrostek"]..uchwyt_obiektu,frame.args["klasa"],frame.args["styl"])..")";
else
local uchwyt_obiektu=parametry_modul.CzyTak(uchwyt_obiektu) and html_modul.EncodeId(uchwyt_obiektu,true) or nil;
return "("..link(nazwa_strony.."#"..frame.args["id"].."_".."Nieznany uchwyt",frame.args["przedrostek"].."Niedopasowany uchwyt: "..(uchwyt_obiektu or "brak uchwytu"),frame.args["klasa"],frame.args["styl"])..")";
end;
elseif(frame.args["obiekt"]=="wzór")then
return wzor(uchwyt_obiektu,uchwyt_obiektu,frame.args["styl główny"],frame.args["styl odstępu"],frame.args["pole odstępu"],frame.args["styl wzoru"],frame.args["klasa wzoru"],frame.args["wzór"],frame.args["opis"],frame.args["opis 2"],frame.args["klasa opisu"],frame.args["styl opisu"],frame.args["styl opisu 2"],frame.args["wzór opisu"],frame.args["wzór opisu 2"],frame.args["styl alternatywy opisu"],frame.args["styl alternatywy opisu 2"],frame.args["pozycja numeracji"],frame.args["klasa numeracji"],frame.args["styl numeracji"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="rysunek")then
return rysunek(uchwyt_obiektu,uchwyt_obiektu,frame.args["opis"],frame.args["rysunek"],frame.args["pozycja"],frame.args["rozmiar"],frame.args["klasa"],frame.args["styl"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="wypowiedzenie")then
return wypowiedzenie(uchwyt_obiektu,frame.args["przedrostek id"],uchwyt_obiektu,frame.args["klasa"],frame.args["styl"],frame.args["przedrostek numeracji"],frame.args["rodzaj"],frame.args["kogo"],frame.args["czego"],frame.args["jakie"],frame.args["styl nagłówka"],frame.args["styl tekstu"],frame.args["tekst"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="punkt")then
return punkty(uchwyt_obiektu,uchwyt_obiektu,frame.args["przedrostek_id"],frame.args["klasa"],frame.args["styl"],frame.args["prefiks"],frame.args["bez automatu"]);
else
return uchwyt_obiektu;
end;
else
return uchwyt_obiektu;
end;
end;
if((not czy_table_tablica_transportu)or(parametry_modul.CzyTak(frame.args["bez automatu"])))then
return BezNumeracjiZUchwytami()..BladTablicyTransportu(czy_table_tablica_transportu);
end;
local link_wikidane;
local tabela_listy_uchwytow_i_numeracji_na_stronie;
if(czy_aktualna_strona==nil)then
local dane_analizy_artykulu=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron;
if(dane_analizy_artykulu)then
local tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazkach_w_danej_przestrzeni=dane_analizy_artykulu[nazwa_przestrzeni];
if(tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazkach_w_danej_przestrzeni)then
local tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki];
if(tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce_w_danej_przestrzeni_nazw_ksiazki)then
local tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce=tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki];
if(tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce)then
local lista_artykolow=tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce.lista_podstron_woluminu;
if(lista_artykolow)then
local tabela_listy_analizy_na_stronie=lista_artykolow[nazwa_artykulu]
if(tabela_listy_analizy_na_stronie)then
tabela_listy_uchwytow_i_numeracji_na_stronie=tabela_listy_analizy_na_stronie.uchwyty_i_numeracje;
link_wikidane=tabela_listy_analizy_na_stronie.link_wikidane;
end;
end;
end;
end;
end;
end;
elseif(czy_aktualna_strona==1)then
tabela_listy_uchwytow_i_numeracji_na_stronie=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu;
link_wikidane=tabela_listy_danych_analizy_ksiazki.link_wikidane;
if(not parametry_modul.TypeTable(tabela_listy_uchwytow_i_numeracji_na_stronie))then
return BezNumeracjiZUchwytami()..BladTablicyTransportu(false);
end;
elseif(czy_aktualna_strona==2)then
local tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki;
if(not parametry_modul.TypeTable(tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce))then
return BezNumeracjiZUchwytami()..BladTablicyTransportu(false);
end;
if(tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce)then
local lista_artykolow=tabela_listy_uchwytow_i_numeracji_obiektow_w_ksiazce.lista_podstron_woluminu;
if(lista_artykolow)then
local tabela_listy_analizy_na_stronie=lista_artykolow[nazwa_artykulu]
if(tabela_listy_analizy_na_stronie)then
tabela_listy_uchwytow_i_numeracji_na_stronie=tabela_listy_analizy_na_stronie.uchwyty_i_numeracje;
link_wikidane=tabela_listy_analizy_na_stronie.link_wikidane;
end;
end;
end;
end;
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
if(tabela_listy_uchwytow_i_numeracji_na_stronie)then
local spis_uchwytow=tabela_listy_uchwytow_i_numeracji_na_stronie[nazwa_obiektu];
local uchwyty_bez_numeracji=spis_uchwytow.uchwyty_bez_numeracji;
spis_uchwytow=uchwyty_bez_numeracji or spis_uchwytow;
if(spis_uchwytow)then
if((uchwyt_obiektu)and(uchwyt_obiektu~=""))then
local UchwytObiektu=function(uchwyt_obiektu)
if(uchwyty_bez_numeracji)then
return uchwyt_obiektu[1];
end;
return uchwyt_obiektu;
end;
for _, dany_artykul in ipairs(spis_uchwytow)do
if(UchwytObiektu(dany_artykul[1])==uchwyt_obiektu)then
if(not uchwyty_bez_numeracji)then
if(frame.args["obiekt"])then
if(frame.args["obiekt"]=="link")then
local nazwa_strony=nazwa_strony_fun(nazwa_strony);
if(not dany_artykul[2])then
return "("..link(nazwa_strony.."#niedopasowany-"..frame.args["id"].."_"..uchwyt_obiektu,frame.args["przedrostek"].."Niedopasowany uchwyt: "..uchwyt_obiektu,frame.args["klasa"],frame.args["styl"],link_wikidane)..")";
end;
return "("..link(nazwa_strony.."#"..frame.args["id"].."_"..dany_artykul[2],frame.args["przedrostek"]..dany_artykul[2],frame.args["klasa"],frame.args["styl"],link_wikidane)..")";
elseif(frame.args["obiekt"]=="wzór")then
return wzor(uchwyt_obiektu,dany_artykul[2],frame.args["styl główny"],frame.args["styl odstępu"],frame.args["pole odstępu"],frame.args["styl wzoru"],frame.args["klasa wzoru"],frame.args["wzór"],frame.args["opis"],frame.args["opis 2"],frame.args["klasa opisu"],frame.args["styl opisu"],frame.args["styl opisu 2"],frame.args["wzór opisu"],frame.args["wzór opisu 2"],frame.args["styl alternatywy opisu"],frame.args["styl alternatywy opisu 2"],frame.args["pozycja numeracji"],frame.args["klasa numeracji"],frame.args["styl numeracji"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="rysunek")then
return rysunek(uchwyt_obiektu,dany_artykul[2],frame.args["opis"],frame.args["rysunek"],frame.args["pozycja"],frame.args["rozmiar"],frame.args["klasa"],frame.args["styl"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="wypowiedzenie")then
return wypowiedzenie(uchwyt_obiektu,frame.args["przedrostek id"],dany_artykul[2],frame.args["klasa"],frame.args["styl"],frame.args["przedrostek numeracji"],frame.args["rodzaj"],frame.args["kogo"],frame.args["czego"],frame.args["jakie"],frame.args["styl nagłówka"],frame.args["styl tekstu"],frame.args["tekst"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="punkt")then
return punkty(uchwyt_obiektu,dany_artykul[2],frame.args["przedrostek_id"],frame.args["klasa"],frame.args["styl"],frame.args["prefiks"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="tekst")then
local tekst=dany_artykul[2];
if(tekst)then
local tekst=pf:preprocess(tekst);
return tekst;
end;
return "Niedopasowany uchwyt: "..((parametry_modul.CzyTak(uchwyt_obiektu))and uchwyt_obiektu or "brak uchwytu");
else
return ((dany_artykul[2])and dany_artykul[2] or "Niedopasowany uchwyt: "..((parametry_modul.CzyTak(uchwyt_obiektu))and uchwyt_obiektu or "brak uchwytu"));
end;
else
return ((dany_artykul[2])and dany_artykul[2] or "Niedopasowany uchwyt: "..((parametry_modul.CzyTak(uchwyt_obiektu))and uchwyt_obiektu or "brak uchwytu"));
end;
else
if(dany_artykul[2])then
local tytul_szablonu=frame.args["nazwa szablonu"] or szablonowe_modul.NazwaSzablonu(frame:getParent():getTitle());
local tab_naglowek=stronicowyparser_obiekty_modul.linki_szablony_wprowadzenia_tekstu[nazwa_obiektu];
local adres=dany_artykul[2][2];
local czy_w_tym_szablony=mw.ustring.match(adres,"{{[^{}]+}}");
if(czy_w_tym_szablony)then
local specjalne_modul=require("Module:Specjalne");
adres=specjalne_modul["PrzetwórzNagłówek"](adres,true);
end;
local adres=dany_artykul[2][1].."#"..adres;
if(tytul_szablonu==tab_naglowek[1])then
local naglowek=dany_artykul[2][3];
if(czy_w_tym_szablony)then
local specjalne_modul=require("Module:Specjalne");
naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false);
end;
return link(adres,naglowek,frame.args["klasa"],frame.args["styl"],link_wikidane)
elseif(tytul_szablonu==tab_naglowek[2])then
return link(adres,"tutaj",frame.args["klasa"],frame.args["styl"],link_wikidane)
end;
end;
end;
end;
end;
end;
end;
end;
if(frame.args["obiekt"])then
if(frame.args["obiekt"]=="link")then
local nazwa_strony=nazwa_strony_fun(nazwa_strony);
return "("..link(nazwa_strony.."#niedopasowany-"..frame.args["id"].."_"..html_modul.EncodeId(uchwyt_obiektu,true),frame.args["przedrostek"].."Niedopasowany uchwyt: "..((parametry_modul.CzyTak(uchwyt_obiektu))and uchwyt_obiektu or "brak uchwytu"),frame.args["klasa"],frame.args["styl"],link_wikidane)..")";
elseif(frame.args["obiekt"]=="wzór")then
return wzor(uchwyt_obiektu,nil,frame.args["styl główny"],frame.args["styl odstępu"],frame.args["pole odstępu"],frame.args["styl wzoru"],frame.args["klasa wzoru"],frame.args["wzór"],frame.args["opis"],frame.args["opis 2"],frame.args["klasa opisu"],frame.args["styl opisu"],frame.args["styl opisu 2"],frame.args["wzór opisu"],frame.args["wzór opisu 2"],frame.args["styl alternatywy opisu"],frame.args["styl alternatywy opisu 2"],frame.args["pozycja numeracji"],frame.args["klasa numeracji"],frame.args["styl numeracji"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="rysunek")then
return rysunek(uchwyt_obiektu,nil,frame.args["opis"],frame.args["rysunek"],frame.args["pozycja"],frame.args["rozmiar"],frame.args["klasa"],frame.args["styl"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="wypowiedzenie")then
return wypowiedzenie(uchwyt_obiektu,frame.args["przedrostek id"],nil,frame.args["klasa"],frame.args["styl"],frame.args["przedrostek numeracji"],frame.args["rodzaj"],frame.args["kogo"],frame.args["czego"],frame.args["jakie"],frame.args["styl nagłówka"],frame.args["styl tekstu"],frame.args["tekst"],frame.args["bez automatu"]);
elseif(frame.args["obiekt"]=="punkt")then
return punkty(uchwyt_obiektu,nil,frame.args["przedrostek_id"],frame.args["klasa"],frame.args["styl"],frame.args["prefiks"],frame.args["bez automatu"]);
else
return "Niedopasowany uchwyt: "..((parametry_modul.CzyTak(uchwyt_obiektu))and uchwyt_obiektu or "brak uchwytu");
end;
else
return "Niedopasowany uchwyt: "..((parametry_modul.CzyTak(uchwyt_obiektu))and uchwyt_obiektu or "brak uchwytu");
end;
end;
return p;
2whz5uj92cx217nhbi90qu5e9nk21kl
Moduł:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron
828
62247
546613
545920
2026-06-13T18:10:37Z
Persino
2851
546613
Scribunto
text/plain
local p={};
function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self)
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self)
self.tabela_listy_danych_analizy_ksiazki={};
self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron={};
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
self.tabela_listy_danych_analizy_ksiazki.problemy=nil;
self.tabela_listy_danych_analizy_ksiazki.licencja={};
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local function DaneNazw(pelna_nazwa_strony)
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
local strona_aktualna=ksiazkowe_modul["PełnaNazwaArtykułu"]();
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona_aktualna);
local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")
..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")
..nazwa_ksiazki;
local pelna_nazwa_ksiazki_ustawienia="Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki;
local techniczne_modul=require("Module:Techniczne");
local ile,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki_ustawienia.."/config",};
if(ile>0)then
local frame=mw.getCurrentFrame();
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(pelna_nazwa_ksiazki_ustawienia);
local ksiazka=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="książka",}};
local artykul=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="artykuł",}};
if(not mw.ustring.match(ksiazka,"^%s*$"))then
local strona=ksiazka..((artykul~="") and ("/"..artykul) or "");
local pudelko_modul=require("Module:Pudełko");
local czy_strona_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](strona);
if(not czy_strona_niepoprawna)then
local html_modul=require("Module:Html");
strona=html_modul.DecodeHtml(strona,true);
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=strona_aktualna,};
local ile,_=techniczne_modul.PoliczZbiory{[1]=strona,};
if(ile>0)then
strona=ksiazkowe_modul["PełnaNazwaArtykułu"](strona);
if(strona~=strona_aktualna)then
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona);
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=DaneNazw(strona_aktualna);
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni=aktualna_nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki=aktualna_nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki=aktualna_nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu=aktualna_nazwa_artykulu;
if((aktualna_nazwa_przestrzeni~=nazwa_przestrzeni)
or(aktualna_nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki)
or(aktualna_nazwa_ksiazki~=nazwa_ksiazki)
or(aktualna_nazwa_artykulu~=nazwa_artykulu)
)then
local zastepcza=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="zastępcza",}};
local parametry_modul=require("Module:Parametry");
self.tabela_listy_danych_analizy_ksiazki.alternatywna=parametry_modul.CzyTak(zastepcza);
if(not self.tabela_listy_danych_analizy_ksiazki.alternatywna)then
self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca=true;
end;
end;
end;
end;
end;
end;
end;
local tablica_zmiennych={};
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};
tablica_zmiennych.linkobiekt={};
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, true,tablica_zmiennych);
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki))then
local stronicowyparser_numeracjaobiektowstron_modul=require("Module:StronicowyParser/NumeracjaObiektówStron");
stronicowyparser_numeracjaobiektowstron_modul.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow)
----
local czy_kodowanie=((nazwa_modulu_aktualna_czy_biezaca)or(tablica_analizy_obiektow_strony_dany_modul));
----
if(not nazwa_modulu_aktualna_czy_biezaca)then
if czy_artykul_korzystany then
local nazwa_przestrzeni_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local nazwy_modul=require("Module:Nazwy");
nazwa_modulu_aktualna_czy_biezaca=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_aktualna_czy_biezaca,nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca,nazwa_ksiazki_aktualna_czy_biezaca,nazwa_artykulu_aktualna_czy_biezaca);
else
nazwa_modulu_aktualna_czy_biezaca=nazwa_strony;
end;
end;
local html_modul=require("Module:Html");
nazwa_strony=html_modul.EncodeId(nazwa_strony);
-----
local tablica_spisu_tresci=nil;
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca);
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tablica_powtarzajacych_sie_elementow={};
local elementy_linku=nil;
local frame=mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local techniczne_modul=require("Module:Techniczne");
local html_modul=require("Module:Html");
local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
----
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
----
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
local tab_szablony_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.szablony_stron_zbiorczych;
local tab_szablony_inne_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.inne_szablony_stron_zbiorczych;
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local tab_szablony_indeksowania=stronicowyparser_obiekty_modul.szablony_indeksowania;
---
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
----
if(czy_kodowanie)then
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2)
if(czy_szablon)then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local numer_parametru=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(numer_parametru)then
local parametr=tabela_parametrow_szablonu[numer_parametru];
if(parametr)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(parametr);
if(naglowek)then
return funkcja1(parametr);
end;
end;
else
local tabela_nazw={};
local function ParametrNR(numer)
return stronicowyparser_potrzebne_modul.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw);
end;
local parametr=ParametrNR(1);
if(parametr)then
if(czy_liczyc)then
local ile_poziom=tonumber(ParametrNR(5)) or 6;
ile_poziom=(ile_poziom>0)and ile_poziom or 1;
ile_poziom=(ile_poziom<=6) and ile_poziom or 6;
local poziom=mw.ustring.rep("=",ile_poziom);
local adres_ksiazki=ParametrNR(2);
local nazwa_modulu_aktualna_czy_biezaca_strony=adres_ksiazki and ParametrNR(2) or nazwa_modulu_aktualna_czy_biezaca;
local adres=nazwa_modulu_aktualna_czy_biezaca_strony..((parametr~="")and ("/"..parametr)or "");
adres=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
adres=html_modul.DecodeHtml(adres,true);
parametr=ParametrNR(3) or parametr;
local dodatek=ParametrNR(4);
parametr=parametr..((dodatek) and (" "..dodatek) or "");
local ile,_=techniczne_modul.PoliczZbiory{[1]=adres,};
local ObiektKodNumer=function(szablon,obiekt)
local tablica_analizy_obiektow_strony_dany_modul_numer=tablica_analizy_obiektow_strony_dany_modul[obiekt];
local kod_numer=1;
for name,_ in pairs(tablica_analizy_obiektow_strony_dany_modul_numer)do
kod_numer=math.max(kod_numer,name);
end;
kod_numer=kod_numer+1;
tablica_analizy_obiektow_strony_dany_modul_numer[kod_numer]=szablon;
local kod_szablonowe=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod_numer);
return kod_szablonowe;
end;
if(ile>0)then
local parametr=poziom..parametr..poziom;
return funkcja1(parametr);
else
local szablon="<span style=\"color:red;\">"..parametr.."</span>";
local kod_parametr=ObiektKodNumer(szablon,"ZNACZNIK");
local parametr=poziom..kod_parametr..poziom;
return funkcja1(parametr);
end;
else
return funkcja1(parametr);
end;
end;
end;
end);
elseif(czy_znacznik)then
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if((zawartosc)and(nazwa))then
if(znaczniki_wprowadzenia_tekstu[nazwa])then
return funkcja2(nazwa,zawartosc,atrybuty);
end;
end;
end;
end;
tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(tekst_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,nil,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");local czy_wikitabelka=(obiekt=="WIKITABELA");
if((czy_szablon)or(czy_znacznik)or(czy_wikitabelka))then
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,false,function()return true;end,function()return true;end);
if(wynik)then return true,nil,nil,true;end;
local rozdzial=mw.ustring.match(szablon,"\n(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n");
if(rozdzial)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial);
if(naglowek)then
return true,nil,nil,true;
end;
end;
end;
end,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,true,
function(parametr)
parametr=mw.ustring.gsub(parametr,"\n"," ");
return "\n"..parametr.."\n ";
end,
function(nazwa,zawartosc,atrybuty)
if((zawartosc)and(nazwa))then
local poziom=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty);
zawartosc=mw.ustring.gsub(zawartosc,"\n"," ");
local poziom_rowna=mw.ustring.rep("=",poziom);
return "\n"..poziom_rowna..zawartosc..poziom_rowna.."\n ";
end;
end);
if(wynik)then return wynik;end;
return nil;
end);
end;
local iterator=stronicowyparser_rozdzialy_modul.IterTekst(tekst_artykulu);
local numeracja;
----
local KtorySzablonMaZwracacKategorieNaglowek=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[1] or nil;
local KtorySzablonMaZwracacKategorieTekst=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[2] or nil;
local CzyJestTakiProblemJakoElementTablicy=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[3] or nil;
----
local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania)
--local nazwa_szablonu=szablonowe_modul["NazwaSzablonuWywołania"](szablon);
local jest_naglowkuj_w_tekscie_rozdzialu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
--local parametry_wywolania_szablonu_naglowek,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
local numeracja_aktualna=parametry_wywolania_szablonu["uchwyt"] or parametry_wywolania_szablonu[1];
----
if(numeracja_aktualna)then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja_aktualna=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja_aktualna,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or numeracja_aktualna;
numeracja_aktualna=html_modul.DecodeHtml(numeracja_aktualna,true);
lista_dwuelementowa={};
lista_dwuelementowa[1]=numeracja_aktualna;
else
numeracja_aktualna=lista_dwuelementowa[1];
end;
if(numeracja_aktualna~="")then
table.insert(numeracja,lista_dwuelementowa);
end;
----
if(powtorka>=1)then
if(self.tabela_listy_danych_analizy_ksiazki)then
KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu_wywolania);
end;
end;
elseif(powtorka>=1)then
KtorySzablonMaZwracacKategorieNaglowek(nil,nazwa_szablonu_wywolania);
end;
powtorka=powtorka+1;
end;
return powtorka;
end;
----
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
----
local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
----
local jest_naglowkuj_w_tekscie_rozdzialu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
local numeracja=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
if((numeracja)and(numeracja~=""))then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
numeracja=html_modul.DecodeHtml(numeracja,true);
else
numeracja=lista_dwuelementowa[1];
end;
end;
KtorySzablonMaZwracacKategorieTekst(numeracja,nazwa_szablonu);
return true;
end;
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end);
end;
return false;
end;
local RefPrzypisowy=function(obiekt,kod)
return "["..((obiekt~="") and (obiekt.." ") or "")..kod.."]";
end;
local specjalne_modul=require("Module:Specjalne");
local nazwa_strony_z_naglowkami=((not tylko_naglowek)and(((nazwa_strony)and(nazwa_strony~=""))and (":"..nazwa_strony) or "") or "");
for naglowek_tab,text_rozdzialu,poziom_rozdzialu in iterator do
local naglowek=naglowek_tab[1];
numeracja={};
if(czy_kodowanie)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(text_rozdzialu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
local powtorka=0;
local czy_szablony=nil;
local czy_indeksowanie=nil;
local function SzablonyWywolywane(szablon,obiekt,kod)
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
powtorka=SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
local czy_naglowek=tab_naglowki[nazwa_szablonu];
local czy_tak_naglowki=((czy_naglowek)and(mw.ustring.match(nazwa_szablonu,"^Link")and true or false) or ((not czy_naglowek)and nil));
if((czy_tak_naglowki~=nil)and(czy_tak_naglowki==false))then
return "";
elseif((tab_szablony[nazwa_szablonu])or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])or (tab_szablony_inne_szablony_stron_zbiorczych[nazwa_szablonu])or((czy_tak_naglowki~=nil)and(czy_tak_naglowki==true)))then
czy_szablony=true;
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif(stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif((tab_szablony_strona_start[nazwa_szablonu])or(tab_szablony_szablony_stron_zbiorczych[nazwa_szablonu]))then
return "";
elseif(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])then
local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_danych_parametrow_szablonu_strony,kod);
if(wynik)then return wynik;end;
elseif((czy_indeksowanie)and(tab_szablony_indeksowania[nazwa_szablonu]))then
return nil,true;
end;
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end);
end;
--naglowek,_=mw.ustring.gsub(naglowek,"({{[^{}]+}})",SzablonyWywolywaneOgolny);
--naglowek=mw.ustring.gsub(naglowek,"<ref>.-</ref>","");
--naglowek=Korekta(naglowek);
---naglowek=mw.ustring.gsub(naglowek,"[{}|]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
local nazwa_rozdzialu_w_artykule;
if(not czy_kodowanie)then
nazwa_rozdzialu_w_artykule,naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,true,false);
else
local function SzablonyWywolywaneOgolny(naglowek)
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
tekst=naglowek,
["nagłówek"]=true,
nieklasycznie=true,
kodowanie=false,
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},
function(szablon,obiekt,kod)
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end,
function(szablon,obiekt,kod)
return czy_indeksowanie;
end);
return naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne;
end;
czy_indeksowanie=true;
local Znaczniki;local SzablonyStylowe;local ZnakiSpecjalne;
naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=SzablonyWywolywaneOgolny(naglowek);
nazwa_rozdzialu_w_artykule=naglowek;
naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(tab_szablony_indeksowania[nazwa_szablonu])then return "";end;
end);
elseif(obiekt=="ZNACZNIK")then
szablon=Znaczniki(szablon,"li");
szablon=Znaczniki(szablon,"ol");
szablon=Znaczniki(szablon,"ul");
return szablon;
end;
end);
czy_indeksowanie=false;
nazwa_rozdzialu_w_artykule=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_rozdzialu_w_artykule,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="ATRYBUTY")then
return nil,true;
elseif(obiekt=="SZABLON")then
szablon=SzablonyWywolywaneOgolny(szablon);
return szablon;
end;
--szablon=Korekta(szablon);
--szablon=specjalne_modul["UsuńSzablonyStylów"](szablon);
--szablon=specjalne_modul["UsuńZnakiSpecjalne"](szablon);
return szablon;
end);
nazwa_rozdzialu_w_artykule=SzablonyStylowe(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=ZnakiSpecjalne(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=Znaczniki(nazwa_rozdzialu_w_artykule);
if(not czy_szablony)then
nazwa_rozdzialu_w_artykule=html_modul.DecodeKoduHTMLZnaku(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=html_modul.EncodeSpecjalneZnakiHtml(nazwa_rozdzialu_w_artykule);
end;
end;
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"^[%s_]*","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[%s_]*$","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[_%s]+"," ");
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)","(%d+)"),function(obiekt,kod)
return "<sup>"..RefPrzypisowy(obiekt,kod).."</sup>";
end);
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
if(not wzory_zamiast_kodow)then
return szablonowe_modul[((nazwa_strony)and(nazwa_strony=="")) and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
elseif(not czy_artykul_korzystany)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then
local kod=tonumber(kod);
local szablon=tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][kod];
if(szablon)then
szablon=frame:preprocess(szablon);
return szablon;
end;
end;
end
end;
return szablonowe_modul[czy_artykul_korzystany and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)"),function(obiekt,kod)
return RefPrzypisowy(obiekt,kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
return szablonowe_modul.NormaKoduZakodowanegoHtmlTekstu("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
--nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"|","&#"..tostring(mw.ustring.byte('|'))..";");
local numer_tego_samego_naglowka=1;
--local nazwa_rozdzialu_w_artykule_p=mw.ustring.lower(nazwa_rozdzialu_w_artykule);
local numer_tego_samego_naglowka=1;
for s=1,#tablica_powtarzajacych_sie_elementow,1 do
local element=tablica_powtarzajacych_sie_elementow[s];
if(element==nazwa_rozdzialu_w_artykule)then
numer_tego_samego_naglowka=numer_tego_samego_naglowka+1;
end;
end;
if(numer_tego_samego_naglowka==1)then
elementy_linku={nazwa_rozdzialu_w_artykule,naglowek};
else
elementy_linku={nazwa_rozdzialu_w_artykule.."_"..numer_tego_samego_naglowka,naglowek};
end;
if((obiekty)and(numeracja))then
for _,value_numeracja in ipairs(numeracja)do
obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}};
end;
end;
if((poziom_rozdzialu or 0)>0)then
local numer_rozdzialu_ustalony=HNumer(poziom_rozdzialu);
tablica_powtarzajacych_sie_elementow[#tablica_powtarzajacych_sie_elementow+1]=nazwa_rozdzialu_w_artykule;
if(tablica_spisu_tresci==nil)then
tablica_spisu_tresci={};
tablica_spisu_tresci.nazwa_strony=nazwa_strony_z_naglowkami;
end;
tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony};
end;
end;
if(czy_kodowanie)then
if(czy_artykul_korzystany)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not CzyJestTakiProblemJakoElementTablicy())then
local linia_poczatkowa=mw.ustring.match(tekst_artykulu,"^[^\n]+");
if((linia_poczatkowa)and((mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n*"))
or(mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$*")))
)then
return tablica_spisu_tresci;
end;
local tekst_zerowy=mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*\n")
or mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$")
or tekst_artykulu;
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zerowy,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
end;
end;
return tablica_spisu_tresci;
end;
return p;
b25i12k0ltjcnnrrmtmy3bhvx97rzsp
546616
546613
2026-06-13T18:34:30Z
Persino
2851
546616
Scribunto
text/plain
local p={};
function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self)
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self)
self.tabela_listy_danych_analizy_ksiazki={};
self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron={};
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
self.tabela_listy_danych_analizy_ksiazki.problemy=nil;
self.tabela_listy_danych_analizy_ksiazki.licencja={};
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local function DaneNazw(pelna_nazwa_strony)
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
local strona_aktualna=ksiazkowe_modul["PełnaNazwaArtykułu"]();
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona_aktualna);
local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")
..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")
..nazwa_ksiazki;
local pelna_nazwa_ksiazki_ustawienia="Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki;
local techniczne_modul=require("Module:Techniczne");
local ile,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki_ustawienia.."/config",};
if(ile>0)then
local frame=mw.getCurrentFrame();
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(pelna_nazwa_ksiazki_ustawienia);
local ksiazka=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="książka",}};
local artykul=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="artykuł",}};
if(not mw.ustring.match(ksiazka,"^%s*$"))then
local strona=ksiazka..((artykul~="") and ("/"..artykul) or "");
local pudelko_modul=require("Module:Pudełko");
local czy_strona_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](strona);
if(not czy_strona_niepoprawna)then
local html_modul=require("Module:Html");
strona=html_modul.DecodeHtml(strona,true);
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=strona_aktualna,};
local ile,_=techniczne_modul.PoliczZbiory{[1]=strona,};
if(ile>0)then
strona=ksiazkowe_modul["PełnaNazwaArtykułu"](strona);
if(strona~=strona_aktualna)then
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona);
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=DaneNazw(strona_aktualna);
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni=aktualna_nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki=aktualna_nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki=aktualna_nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu=aktualna_nazwa_artykulu;
if((aktualna_nazwa_przestrzeni~=nazwa_przestrzeni)
or(aktualna_nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki)
or(aktualna_nazwa_ksiazki~=nazwa_ksiazki)
or(aktualna_nazwa_artykulu~=nazwa_artykulu)
)then
local zastepcza=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="zastępcza",}};
local parametry_modul=require("Module:Parametry");
self.tabela_listy_danych_analizy_ksiazki.alternatywna=parametry_modul.CzyTak(zastepcza);
if(not self.tabela_listy_danych_analizy_ksiazki.alternatywna)then
self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca=true;
end;
end;
end;
end;
end;
end;
end;
local tablica_zmiennych={};
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};
tablica_zmiennych.linkobiekt={};
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, true,tablica_zmiennych);
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki))then
local stronicowyparser_numeracjaobiektowstron_modul=require("Module:StronicowyParser/NumeracjaObiektówStron");
stronicowyparser_numeracjaobiektowstron_modul.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow)
----
local czy_kodowanie=((nazwa_modulu_aktualna_czy_biezaca)or(tablica_analizy_obiektow_strony_dany_modul));
----
if(not nazwa_modulu_aktualna_czy_biezaca)then
if czy_artykul_korzystany then
local nazwa_przestrzeni_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local nazwy_modul=require("Module:Nazwy");
nazwa_modulu_aktualna_czy_biezaca=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_aktualna_czy_biezaca,nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca,nazwa_ksiazki_aktualna_czy_biezaca,nazwa_artykulu_aktualna_czy_biezaca);
else
nazwa_modulu_aktualna_czy_biezaca=nazwa_strony;
end;
end;
local html_modul=require("Module:Html");
nazwa_strony=html_modul.EncodeId(nazwa_strony);
-----
local tablica_spisu_tresci=nil;
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca);
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tablica_powtarzajacych_sie_elementow={};
local elementy_linku=nil;
local frame=mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local techniczne_modul=require("Module:Techniczne");
local html_modul=require("Module:Html");
local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
----
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
----
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
local tab_szablony_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.szablony_stron_zbiorczych;
local tab_szablony_inne_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.inne_szablony_stron_zbiorczych;
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local tab_szablony_indeksowania=stronicowyparser_obiekty_modul.szablony_indeksowania;
---
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
----
if(czy_kodowanie)then
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2)
if(czy_szablon)then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local numer_parametru=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(numer_parametru)then
local parametr=tabela_parametrow_szablonu[numer_parametru];
if(parametr)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(parametr);
if(naglowek)then
return funkcja1(parametr);
end;
end;
else
local tabela_nazw={};
local function ParametrNR(numer)
return stronicowyparser_potrzebne_modul.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw);
end;
local parametr=ParametrNR(1);
if(parametr)then
if(czy_liczyc)then
local ile_poziom=tonumber(ParametrNR(5)) or 6;
ile_poziom=(ile_poziom>0)and ile_poziom or 1;
ile_poziom=(ile_poziom<=6) and ile_poziom or 6;
local poziom=mw.ustring.rep("=",ile_poziom);
local adres_ksiazki=ParametrNR(2);
local nazwa_modulu_aktualna_czy_biezaca_strony=adres_ksiazki and ParametrNR(2) or nazwa_modulu_aktualna_czy_biezaca;
local adres=nazwa_modulu_aktualna_czy_biezaca_strony..((parametr~="")and ("/"..parametr)or "");
adres=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
adres=html_modul.DecodeHtml(adres,true);
parametr=ParametrNR(3) or parametr;
local dodatek=ParametrNR(4);
parametr=parametr..((dodatek) and (" "..dodatek) or "");
local ile,_=techniczne_modul.PoliczZbiory{[1]=adres,};
local ObiektKodNumer=function(szablon,obiekt)
local tablica_analizy_obiektow_strony_dany_modul_numer=tablica_analizy_obiektow_strony_dany_modul[obiekt];
local kod_numer=1;
for name,_ in pairs(tablica_analizy_obiektow_strony_dany_modul_numer)do
kod_numer=math.max(kod_numer,name);
end;
kod_numer=kod_numer+1;
tablica_analizy_obiektow_strony_dany_modul_numer[kod_numer]=szablon;
local kod_szablonowe=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod_numer);
return kod_szablonowe;
end;
if(ile>0)then
local parametr=poziom..parametr..poziom;
return funkcja1(parametr);
else
local szablon="<span style=\"color:red;\">"..parametr.."</span>";
local kod_parametr=ObiektKodNumer(szablon,"ZNACZNIK");
local parametr=poziom..kod_parametr..poziom;
return funkcja1(parametr);
end;
else
return funkcja1(parametr);
end;
end;
end;
end);
elseif(czy_znacznik)then
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if((zawartosc)and(nazwa))then
if(znaczniki_wprowadzenia_tekstu[nazwa])then
return funkcja2(nazwa,zawartosc,atrybuty);
end;
end;
end;
end;
tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(tekst_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,nil,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");local czy_wikitabelka=(obiekt=="WIKITABELA");
if((czy_szablon)or(czy_znacznik)or(czy_wikitabelka))then
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,false,function()return true;end,function()return true;end);
if(wynik)then return true,nil,nil,true;end;
local rozdzial=mw.ustring.match(szablon,"\n(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n");
if(rozdzial)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial);
if(naglowek)then
return true,nil,nil,true;
end;
end;
end;
end,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,true,
function(parametr)
parametr=mw.ustring.gsub(parametr,"\n"," ");
return "\n"..parametr.."\n ";
end,
function(nazwa,zawartosc,atrybuty)
if((zawartosc)and(nazwa))then
local poziom=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty);
zawartosc=mw.ustring.gsub(zawartosc,"\n"," ");
local poziom_rowna=mw.ustring.rep("=",poziom);
return "\n"..poziom_rowna..zawartosc..poziom_rowna.."\n ";
end;
end);
if(wynik)then return wynik;end;
return nil;
end);
end;
local iterator=stronicowyparser_rozdzialy_modul.IterTekst(tekst_artykulu);
local numeracja;
----
local KtorySzablonMaZwracacKategorieNaglowek=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[1] or nil;
local KtorySzablonMaZwracacKategorieTekst=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[2] or nil;
local CzyJestTakiProblemJakoElementTablicy=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[3] or nil;
----
local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania)
--local nazwa_szablonu=szablonowe_modul["NazwaSzablonuWywołania"](szablon);
local jest_naglowkuj_w_tekscie_rozdzialu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
--local parametry_wywolania_szablonu_naglowek,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
local numeracja_aktualna=parametry_wywolania_szablonu["uchwyt"] or parametry_wywolania_szablonu[1];
----
if(numeracja_aktualna)then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja_aktualna=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja_aktualna,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or numeracja_aktualna;
numeracja_aktualna=html_modul.DecodeHtml(numeracja_aktualna,true);
lista_dwuelementowa={};
lista_dwuelementowa[1]=numeracja_aktualna;
else
numeracja_aktualna=lista_dwuelementowa[1];
end;
if(numeracja_aktualna~="")then
table.insert(numeracja,lista_dwuelementowa);
end;
----
if(powtorka>=1)then
if(self.tabela_listy_danych_analizy_ksiazki)then
KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu_wywolania);
end;
end;
elseif(powtorka>=1)then
KtorySzablonMaZwracacKategorieNaglowek(nil,nazwa_szablonu_wywolania);
end;
powtorka=powtorka+1;
end;
return powtorka;
end;
----
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
----
local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
----
local jest_naglowkuj_w_tekscie_rozdzialu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
local numeracja=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
if((numeracja)and(numeracja~=""))then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
numeracja=html_modul.DecodeHtml(numeracja,true);
else
numeracja=lista_dwuelementowa[1];
end;
end;
KtorySzablonMaZwracacKategorieTekst(numeracja,nazwa_szablonu);
return true;
end;
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end);
end;
return false;
end;
local RefPrzypisowy=function(obiekt,kod)
return "["..((obiekt~="") and (obiekt.." ") or "")..kod.."]";
end;
local specjalne_modul=require("Module:Specjalne");
local nazwa_strony_z_naglowkami=((not tylko_naglowek)and(((nazwa_strony)and(nazwa_strony~=""))and (":"..nazwa_strony) or "") or "");
for naglowek_tab,text_rozdzialu,poziom_rozdzialu in iterator do
local naglowek=naglowek_tab[1];
numeracja={};
if(czy_kodowanie)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(text_rozdzialu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
local powtorka=0;
local czy_szablony=nil;
local czy_indeksowanie=nil;
local function SzablonyWywolywane(szablon,obiekt,kod)
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
powtorka=SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
local czy_naglowek=tab_naglowki[nazwa_szablonu];
local czy_tak_naglowki=((czy_naglowek)and(mw.ustring.match(nazwa_szablonu,"^Link")and true or false) or ((not czy_naglowek)and nil));
if((czy_tak_naglowki~=nil)and(czy_tak_naglowki==false))then
return "";
elseif((tab_szablony[nazwa_szablonu])or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])or (tab_szablony_inne_szablony_stron_zbiorczych[nazwa_szablonu])or((czy_tak_naglowki~=nil)and(czy_tak_naglowki==true)))then
czy_szablony=true;
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif(
(stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
or(stronicowyparser_potrzebne_modul.linki_generalne_szablony_linkowe[nazwa_szablonu])
)then
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif((tab_szablony_strona_start[nazwa_szablonu])or(tab_szablony_szablony_stron_zbiorczych[nazwa_szablonu]))then
return "";
elseif(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])then
local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_danych_parametrow_szablonu_strony,kod);
if(wynik)then return wynik;end;
elseif((czy_indeksowanie)and(tab_szablony_indeksowania[nazwa_szablonu]))then
return nil,true;
end;
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end);
end;
--naglowek,_=mw.ustring.gsub(naglowek,"({{[^{}]+}})",SzablonyWywolywaneOgolny);
--naglowek=mw.ustring.gsub(naglowek,"<ref>.-</ref>","");
--naglowek=Korekta(naglowek);
---naglowek=mw.ustring.gsub(naglowek,"[{}|]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
local nazwa_rozdzialu_w_artykule;
if(not czy_kodowanie)then
nazwa_rozdzialu_w_artykule,naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,true,false);
else
local function SzablonyWywolywaneOgolny(naglowek)
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
tekst=naglowek,
["nagłówek"]=true,
nieklasycznie=true,
kodowanie=false,
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},
function(szablon,obiekt,kod)
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end,
function(szablon,obiekt,kod)
return czy_indeksowanie;
end);
return naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne;
end;
czy_indeksowanie=true;
local Znaczniki;local SzablonyStylowe;local ZnakiSpecjalne;
naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=SzablonyWywolywaneOgolny(naglowek);
nazwa_rozdzialu_w_artykule=naglowek;
naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(tab_szablony_indeksowania[nazwa_szablonu])then return "";end;
end);
elseif(obiekt=="ZNACZNIK")then
szablon=Znaczniki(szablon,"li");
szablon=Znaczniki(szablon,"ol");
szablon=Znaczniki(szablon,"ul");
return szablon;
end;
end);
czy_indeksowanie=false;
nazwa_rozdzialu_w_artykule=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_rozdzialu_w_artykule,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="ATRYBUTY")then
return nil,true;
elseif(obiekt=="SZABLON")then
szablon=SzablonyWywolywaneOgolny(szablon);
return szablon;
end;
--szablon=Korekta(szablon);
--szablon=specjalne_modul["UsuńSzablonyStylów"](szablon);
--szablon=specjalne_modul["UsuńZnakiSpecjalne"](szablon);
return szablon;
end);
nazwa_rozdzialu_w_artykule=SzablonyStylowe(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=ZnakiSpecjalne(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=Znaczniki(nazwa_rozdzialu_w_artykule);
if(not czy_szablony)then
nazwa_rozdzialu_w_artykule=html_modul.DecodeKoduHTMLZnaku(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=html_modul.EncodeSpecjalneZnakiHtml(nazwa_rozdzialu_w_artykule);
end;
end;
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"^[%s_]*","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[%s_]*$","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[_%s]+"," ");
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)","(%d+)"),function(obiekt,kod)
return "<sup>"..RefPrzypisowy(obiekt,kod).."</sup>";
end);
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
if(not wzory_zamiast_kodow)then
return szablonowe_modul[((nazwa_strony)and(nazwa_strony=="")) and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
elseif(not czy_artykul_korzystany)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then
local kod=tonumber(kod);
local szablon=tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][kod];
if(szablon)then
szablon=frame:preprocess(szablon);
return szablon;
end;
end;
end
end;
return szablonowe_modul[czy_artykul_korzystany and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)"),function(obiekt,kod)
return RefPrzypisowy(obiekt,kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
return szablonowe_modul.NormaKoduZakodowanegoHtmlTekstu("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
--nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"|","&#"..tostring(mw.ustring.byte('|'))..";");
local numer_tego_samego_naglowka=1;
--local nazwa_rozdzialu_w_artykule_p=mw.ustring.lower(nazwa_rozdzialu_w_artykule);
local numer_tego_samego_naglowka=1;
for s=1,#tablica_powtarzajacych_sie_elementow,1 do
local element=tablica_powtarzajacych_sie_elementow[s];
if(element==nazwa_rozdzialu_w_artykule)then
numer_tego_samego_naglowka=numer_tego_samego_naglowka+1;
end;
end;
if(numer_tego_samego_naglowka==1)then
elementy_linku={nazwa_rozdzialu_w_artykule,naglowek};
else
elementy_linku={nazwa_rozdzialu_w_artykule.."_"..numer_tego_samego_naglowka,naglowek};
end;
if((obiekty)and(numeracja))then
for _,value_numeracja in ipairs(numeracja)do
obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}};
end;
end;
if((poziom_rozdzialu or 0)>0)then
local numer_rozdzialu_ustalony=HNumer(poziom_rozdzialu);
tablica_powtarzajacych_sie_elementow[#tablica_powtarzajacych_sie_elementow+1]=nazwa_rozdzialu_w_artykule;
if(tablica_spisu_tresci==nil)then
tablica_spisu_tresci={};
tablica_spisu_tresci.nazwa_strony=nazwa_strony_z_naglowkami;
end;
tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony};
end;
end;
if(czy_kodowanie)then
if(czy_artykul_korzystany)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not CzyJestTakiProblemJakoElementTablicy())then
local linia_poczatkowa=mw.ustring.match(tekst_artykulu,"^[^\n]+");
if((linia_poczatkowa)and((mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n*"))
or(mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$*")))
)then
return tablica_spisu_tresci;
end;
local tekst_zerowy=mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*\n")
or mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$")
or tekst_artykulu;
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zerowy,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
end;
end;
return tablica_spisu_tresci;
end;
return p;
c7ez7pnwylzobz3b7e27nseb6kvn7a1
546617
546616
2026-06-13T18:35:28Z
Persino
2851
546617
Scribunto
text/plain
local p={};
function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self)
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self)
self.tabela_listy_danych_analizy_ksiazki={};
self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron={};
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
self.tabela_listy_danych_analizy_ksiazki.problemy=nil;
self.tabela_listy_danych_analizy_ksiazki.licencja={};
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local function DaneNazw(pelna_nazwa_strony)
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
local strona_aktualna=ksiazkowe_modul["PełnaNazwaArtykułu"]();
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona_aktualna);
local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")
..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")
..nazwa_ksiazki;
local pelna_nazwa_ksiazki_ustawienia="Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki;
local techniczne_modul=require("Module:Techniczne");
local ile,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki_ustawienia.."/config",};
if(ile>0)then
local frame=mw.getCurrentFrame();
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(pelna_nazwa_ksiazki_ustawienia);
local ksiazka=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="książka",}};
local artykul=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="artykuł",}};
if(not mw.ustring.match(ksiazka,"^%s*$"))then
local strona=ksiazka..((artykul~="") and ("/"..artykul) or "");
local pudelko_modul=require("Module:Pudełko");
local czy_strona_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](strona);
if(not czy_strona_niepoprawna)then
local html_modul=require("Module:Html");
strona=html_modul.DecodeHtml(strona,true);
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=strona_aktualna,};
local ile,_=techniczne_modul.PoliczZbiory{[1]=strona,};
if(ile>0)then
strona=ksiazkowe_modul["PełnaNazwaArtykułu"](strona);
if(strona~=strona_aktualna)then
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona);
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=DaneNazw(strona_aktualna);
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni=aktualna_nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki=aktualna_nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki=aktualna_nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu=aktualna_nazwa_artykulu;
if((aktualna_nazwa_przestrzeni~=nazwa_przestrzeni)
or(aktualna_nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki)
or(aktualna_nazwa_ksiazki~=nazwa_ksiazki)
or(aktualna_nazwa_artykulu~=nazwa_artykulu)
)then
local zastepcza=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="zastępcza",}};
local parametry_modul=require("Module:Parametry");
self.tabela_listy_danych_analizy_ksiazki.alternatywna=parametry_modul.CzyTak(zastepcza);
if(not self.tabela_listy_danych_analizy_ksiazki.alternatywna)then
self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca=true;
end;
end;
end;
end;
end;
end;
end;
local tablica_zmiennych={};
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};
tablica_zmiennych.linkobiekt={};
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, true,tablica_zmiennych);
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki))then
local stronicowyparser_numeracjaobiektowstron_modul=require("Module:StronicowyParser/NumeracjaObiektówStron");
stronicowyparser_numeracjaobiektowstron_modul.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow)
----
local czy_kodowanie=((nazwa_modulu_aktualna_czy_biezaca)or(tablica_analizy_obiektow_strony_dany_modul));
----
if(not nazwa_modulu_aktualna_czy_biezaca)then
if czy_artykul_korzystany then
local nazwa_przestrzeni_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local nazwy_modul=require("Module:Nazwy");
nazwa_modulu_aktualna_czy_biezaca=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_aktualna_czy_biezaca,nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca,nazwa_ksiazki_aktualna_czy_biezaca,nazwa_artykulu_aktualna_czy_biezaca);
else
nazwa_modulu_aktualna_czy_biezaca=nazwa_strony;
end;
end;
local html_modul=require("Module:Html");
nazwa_strony=html_modul.EncodeId(nazwa_strony);
-----
local tablica_spisu_tresci=nil;
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca);
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tablica_powtarzajacych_sie_elementow={};
local elementy_linku=nil;
local frame=mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local techniczne_modul=require("Module:Techniczne");
local html_modul=require("Module:Html");
local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
----
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
----
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
local tab_szablony_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.szablony_stron_zbiorczych;
local tab_szablony_inne_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.inne_szablony_stron_zbiorczych;
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local tab_szablony_indeksowania=stronicowyparser_obiekty_modul.szablony_indeksowania;
---
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
----
if(czy_kodowanie)then
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2)
if(czy_szablon)then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local numer_parametru=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(numer_parametru)then
local parametr=tabela_parametrow_szablonu[numer_parametru];
if(parametr)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(parametr);
if(naglowek)then
return funkcja1(parametr);
end;
end;
else
local tabela_nazw={};
local function ParametrNR(numer)
return stronicowyparser_potrzebne_modul.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw);
end;
local parametr=ParametrNR(1);
if(parametr)then
if(czy_liczyc)then
local ile_poziom=tonumber(ParametrNR(5)) or 6;
ile_poziom=(ile_poziom>0)and ile_poziom or 1;
ile_poziom=(ile_poziom<=6) and ile_poziom or 6;
local poziom=mw.ustring.rep("=",ile_poziom);
local adres_ksiazki=ParametrNR(2);
local nazwa_modulu_aktualna_czy_biezaca_strony=adres_ksiazki and ParametrNR(2) or nazwa_modulu_aktualna_czy_biezaca;
local adres=nazwa_modulu_aktualna_czy_biezaca_strony..((parametr~="")and ("/"..parametr)or "");
adres=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
adres=html_modul.DecodeHtml(adres,true);
parametr=ParametrNR(3) or parametr;
local dodatek=ParametrNR(4);
parametr=parametr..((dodatek) and (" "..dodatek) or "");
local ile,_=techniczne_modul.PoliczZbiory{[1]=adres,};
local ObiektKodNumer=function(szablon,obiekt)
local tablica_analizy_obiektow_strony_dany_modul_numer=tablica_analizy_obiektow_strony_dany_modul[obiekt];
local kod_numer=1;
for name,_ in pairs(tablica_analizy_obiektow_strony_dany_modul_numer)do
kod_numer=math.max(kod_numer,name);
end;
kod_numer=kod_numer+1;
tablica_analizy_obiektow_strony_dany_modul_numer[kod_numer]=szablon;
local kod_szablonowe=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod_numer);
return kod_szablonowe;
end;
if(ile>0)then
local parametr=poziom..parametr..poziom;
return funkcja1(parametr);
else
local szablon="<span style=\"color:red;\">"..parametr.."</span>";
local kod_parametr=ObiektKodNumer(szablon,"ZNACZNIK");
local parametr=poziom..kod_parametr..poziom;
return funkcja1(parametr);
end;
else
return funkcja1(parametr);
end;
end;
end;
end);
elseif(czy_znacznik)then
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if((zawartosc)and(nazwa))then
if(znaczniki_wprowadzenia_tekstu[nazwa])then
return funkcja2(nazwa,zawartosc,atrybuty);
end;
end;
end;
end;
tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(tekst_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,nil,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");local czy_wikitabelka=(obiekt=="WIKITABELA");
if((czy_szablon)or(czy_znacznik)or(czy_wikitabelka))then
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,false,function()return true;end,function()return true;end);
if(wynik)then return true,nil,nil,true;end;
local rozdzial=mw.ustring.match(szablon,"\n(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n");
if(rozdzial)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial);
if(naglowek)then
return true,nil,nil,true;
end;
end;
end;
end,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,true,
function(parametr)
parametr=mw.ustring.gsub(parametr,"\n"," ");
return "\n"..parametr.."\n ";
end,
function(nazwa,zawartosc,atrybuty)
if((zawartosc)and(nazwa))then
local poziom=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty);
zawartosc=mw.ustring.gsub(zawartosc,"\n"," ");
local poziom_rowna=mw.ustring.rep("=",poziom);
return "\n"..poziom_rowna..zawartosc..poziom_rowna.."\n ";
end;
end);
if(wynik)then return wynik;end;
return nil;
end);
end;
local iterator=stronicowyparser_rozdzialy_modul.IterTekst(tekst_artykulu);
local numeracja;
----
local KtorySzablonMaZwracacKategorieNaglowek=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[1] or nil;
local KtorySzablonMaZwracacKategorieTekst=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[2] or nil;
local CzyJestTakiProblemJakoElementTablicy=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[3] or nil;
----
local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania)
--local nazwa_szablonu=szablonowe_modul["NazwaSzablonuWywołania"](szablon);
local jest_naglowkuj_w_tekscie_rozdzialu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
--local parametry_wywolania_szablonu_naglowek,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
local numeracja_aktualna=parametry_wywolania_szablonu["uchwyt"] or parametry_wywolania_szablonu[1];
----
if(numeracja_aktualna)then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja_aktualna=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja_aktualna,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or numeracja_aktualna;
numeracja_aktualna=html_modul.DecodeHtml(numeracja_aktualna,true);
lista_dwuelementowa={};
lista_dwuelementowa[1]=numeracja_aktualna;
else
numeracja_aktualna=lista_dwuelementowa[1];
end;
if(numeracja_aktualna~="")then
table.insert(numeracja,lista_dwuelementowa);
end;
----
if(powtorka>=1)then
if(self.tabela_listy_danych_analizy_ksiazki)then
KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu_wywolania);
end;
end;
elseif(powtorka>=1)then
KtorySzablonMaZwracacKategorieNaglowek(nil,nazwa_szablonu_wywolania);
end;
powtorka=powtorka+1;
end;
return powtorka;
end;
----
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
----
local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
----
local jest_naglowkuj_w_tekscie_rozdzialu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
local numeracja=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
if((numeracja)and(numeracja~=""))then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
numeracja=html_modul.DecodeHtml(numeracja,true);
else
numeracja=lista_dwuelementowa[1];
end;
end;
KtorySzablonMaZwracacKategorieTekst(numeracja,nazwa_szablonu);
return true;
end;
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end);
end;
return false;
end;
local RefPrzypisowy=function(obiekt,kod)
return "["..((obiekt~="") and (obiekt.." ") or "")..kod.."]";
end;
local specjalne_modul=require("Module:Specjalne");
local nazwa_strony_z_naglowkami=((not tylko_naglowek)and(((nazwa_strony)and(nazwa_strony~=""))and (":"..nazwa_strony) or "") or "");
for naglowek_tab,text_rozdzialu,poziom_rozdzialu in iterator do
local naglowek=naglowek_tab[1];
numeracja={};
if(czy_kodowanie)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(text_rozdzialu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
local powtorka=0;
local czy_szablony=nil;
local czy_indeksowanie=nil;
local function SzablonyWywolywane(szablon,obiekt,kod)
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
powtorka=SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
local czy_naglowek=tab_naglowki[nazwa_szablonu];
local czy_tak_naglowki=((czy_naglowek)and(mw.ustring.match(nazwa_szablonu,"^Link")and true or false) or ((not czy_naglowek)and nil));
if((czy_tak_naglowki~=nil)and(czy_tak_naglowki==false))then
return "";
elseif((tab_szablony[nazwa_szablonu])or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])or (tab_szablony_inne_szablony_stron_zbiorczych[nazwa_szablonu])or((czy_tak_naglowki~=nil)and(czy_tak_naglowki==true)))then
czy_szablony=true;
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif(
(stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
or(stronicowyparser_obiekty_modul.linki_generalne_szablony_linkowe[nazwa_szablonu])
)then
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif((tab_szablony_strona_start[nazwa_szablonu])or(tab_szablony_szablony_stron_zbiorczych[nazwa_szablonu]))then
return "";
elseif(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])then
local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_danych_parametrow_szablonu_strony,kod);
if(wynik)then return wynik;end;
elseif((czy_indeksowanie)and(tab_szablony_indeksowania[nazwa_szablonu]))then
return nil,true;
end;
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end);
end;
--naglowek,_=mw.ustring.gsub(naglowek,"({{[^{}]+}})",SzablonyWywolywaneOgolny);
--naglowek=mw.ustring.gsub(naglowek,"<ref>.-</ref>","");
--naglowek=Korekta(naglowek);
---naglowek=mw.ustring.gsub(naglowek,"[{}|]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
local nazwa_rozdzialu_w_artykule;
if(not czy_kodowanie)then
nazwa_rozdzialu_w_artykule,naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,true,false);
else
local function SzablonyWywolywaneOgolny(naglowek)
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
tekst=naglowek,
["nagłówek"]=true,
nieklasycznie=true,
kodowanie=false,
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},
function(szablon,obiekt,kod)
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end,
function(szablon,obiekt,kod)
return czy_indeksowanie;
end);
return naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne;
end;
czy_indeksowanie=true;
local Znaczniki;local SzablonyStylowe;local ZnakiSpecjalne;
naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=SzablonyWywolywaneOgolny(naglowek);
nazwa_rozdzialu_w_artykule=naglowek;
naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(tab_szablony_indeksowania[nazwa_szablonu])then return "";end;
end);
elseif(obiekt=="ZNACZNIK")then
szablon=Znaczniki(szablon,"li");
szablon=Znaczniki(szablon,"ol");
szablon=Znaczniki(szablon,"ul");
return szablon;
end;
end);
czy_indeksowanie=false;
nazwa_rozdzialu_w_artykule=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_rozdzialu_w_artykule,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="ATRYBUTY")then
return nil,true;
elseif(obiekt=="SZABLON")then
szablon=SzablonyWywolywaneOgolny(szablon);
return szablon;
end;
--szablon=Korekta(szablon);
--szablon=specjalne_modul["UsuńSzablonyStylów"](szablon);
--szablon=specjalne_modul["UsuńZnakiSpecjalne"](szablon);
return szablon;
end);
nazwa_rozdzialu_w_artykule=SzablonyStylowe(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=ZnakiSpecjalne(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=Znaczniki(nazwa_rozdzialu_w_artykule);
if(not czy_szablony)then
nazwa_rozdzialu_w_artykule=html_modul.DecodeKoduHTMLZnaku(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=html_modul.EncodeSpecjalneZnakiHtml(nazwa_rozdzialu_w_artykule);
end;
end;
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"^[%s_]*","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[%s_]*$","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[_%s]+"," ");
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)","(%d+)"),function(obiekt,kod)
return "<sup>"..RefPrzypisowy(obiekt,kod).."</sup>";
end);
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
if(not wzory_zamiast_kodow)then
return szablonowe_modul[((nazwa_strony)and(nazwa_strony=="")) and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
elseif(not czy_artykul_korzystany)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then
local kod=tonumber(kod);
local szablon=tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][kod];
if(szablon)then
szablon=frame:preprocess(szablon);
return szablon;
end;
end;
end
end;
return szablonowe_modul[czy_artykul_korzystany and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)"),function(obiekt,kod)
return RefPrzypisowy(obiekt,kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
return szablonowe_modul.NormaKoduZakodowanegoHtmlTekstu("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
--nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"|","&#"..tostring(mw.ustring.byte('|'))..";");
local numer_tego_samego_naglowka=1;
--local nazwa_rozdzialu_w_artykule_p=mw.ustring.lower(nazwa_rozdzialu_w_artykule);
local numer_tego_samego_naglowka=1;
for s=1,#tablica_powtarzajacych_sie_elementow,1 do
local element=tablica_powtarzajacych_sie_elementow[s];
if(element==nazwa_rozdzialu_w_artykule)then
numer_tego_samego_naglowka=numer_tego_samego_naglowka+1;
end;
end;
if(numer_tego_samego_naglowka==1)then
elementy_linku={nazwa_rozdzialu_w_artykule,naglowek};
else
elementy_linku={nazwa_rozdzialu_w_artykule.."_"..numer_tego_samego_naglowka,naglowek};
end;
if((obiekty)and(numeracja))then
for _,value_numeracja in ipairs(numeracja)do
obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}};
end;
end;
if((poziom_rozdzialu or 0)>0)then
local numer_rozdzialu_ustalony=HNumer(poziom_rozdzialu);
tablica_powtarzajacych_sie_elementow[#tablica_powtarzajacych_sie_elementow+1]=nazwa_rozdzialu_w_artykule;
if(tablica_spisu_tresci==nil)then
tablica_spisu_tresci={};
tablica_spisu_tresci.nazwa_strony=nazwa_strony_z_naglowkami;
end;
tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony};
end;
end;
if(czy_kodowanie)then
if(czy_artykul_korzystany)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not CzyJestTakiProblemJakoElementTablicy())then
local linia_poczatkowa=mw.ustring.match(tekst_artykulu,"^[^\n]+");
if((linia_poczatkowa)and((mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n*"))
or(mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$*")))
)then
return tablica_spisu_tresci;
end;
local tekst_zerowy=mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*\n")
or mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$")
or tekst_artykulu;
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zerowy,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
end;
end;
return tablica_spisu_tresci;
end;
return p;
ml63nfcj4m14ahr5p9htuh94c2o45s4
546619
546617
2026-06-13T18:39:59Z
Persino
2851
546619
Scribunto
text/plain
local p={};
function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self)
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self)
self.tabela_listy_danych_analizy_ksiazki={};
self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron={};
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
self.tabela_listy_danych_analizy_ksiazki.problemy=nil;
self.tabela_listy_danych_analizy_ksiazki.licencja={};
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local function DaneNazw(pelna_nazwa_strony)
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
local strona_aktualna=ksiazkowe_modul["PełnaNazwaArtykułu"]();
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona_aktualna);
local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")
..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")
..nazwa_ksiazki;
local pelna_nazwa_ksiazki_ustawienia="Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki;
local techniczne_modul=require("Module:Techniczne");
local ile,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki_ustawienia.."/config",};
if(ile>0)then
local frame=mw.getCurrentFrame();
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(pelna_nazwa_ksiazki_ustawienia);
local ksiazka=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="książka",}};
local artykul=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="artykuł",}};
if(not mw.ustring.match(ksiazka,"^%s*$"))then
local strona=ksiazka..((artykul~="") and ("/"..artykul) or "");
local pudelko_modul=require("Module:Pudełko");
local czy_strona_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](strona);
if(not czy_strona_niepoprawna)then
local html_modul=require("Module:Html");
strona=html_modul.DecodeHtml(strona,true);
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=strona_aktualna,};
local ile,_=techniczne_modul.PoliczZbiory{[1]=strona,};
if(ile>0)then
strona=ksiazkowe_modul["PełnaNazwaArtykułu"](strona);
if(strona~=strona_aktualna)then
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona);
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=DaneNazw(strona_aktualna);
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni=aktualna_nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki=aktualna_nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki=aktualna_nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu=aktualna_nazwa_artykulu;
if((aktualna_nazwa_przestrzeni~=nazwa_przestrzeni)
or(aktualna_nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki)
or(aktualna_nazwa_ksiazki~=nazwa_ksiazki)
or(aktualna_nazwa_artykulu~=nazwa_artykulu)
)then
local zastepcza=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="zastępcza",}};
local parametry_modul=require("Module:Parametry");
self.tabela_listy_danych_analizy_ksiazki.alternatywna=parametry_modul.CzyTak(zastepcza);
if(not self.tabela_listy_danych_analizy_ksiazki.alternatywna)then
self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca=true;
end;
end;
end;
end;
end;
end;
end;
local tablica_zmiennych={};
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};
tablica_zmiennych.linkobiekt={};
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, true,tablica_zmiennych);
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki))then
local stronicowyparser_numeracjaobiektowstron_modul=require("Module:StronicowyParser/NumeracjaObiektówStron");
stronicowyparser_numeracjaobiektowstron_modul.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow)
----
local czy_kodowanie=((nazwa_modulu_aktualna_czy_biezaca)or(tablica_analizy_obiektow_strony_dany_modul));
----
if(not nazwa_modulu_aktualna_czy_biezaca)then
if czy_artykul_korzystany then
local nazwa_przestrzeni_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local nazwy_modul=require("Module:Nazwy");
nazwa_modulu_aktualna_czy_biezaca=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_aktualna_czy_biezaca,nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca,nazwa_ksiazki_aktualna_czy_biezaca,nazwa_artykulu_aktualna_czy_biezaca);
else
nazwa_modulu_aktualna_czy_biezaca=nazwa_strony;
end;
end;
local html_modul=require("Module:Html");
nazwa_strony=html_modul.EncodeId(nazwa_strony);
-----
local tablica_spisu_tresci=nil;
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca);
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tablica_powtarzajacych_sie_elementow={};
local elementy_linku=nil;
local frame=mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local techniczne_modul=require("Module:Techniczne");
local html_modul=require("Module:Html");
local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
----
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
----
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
local tab_szablony_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.szablony_stron_zbiorczych;
local tab_szablony_inne_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.inne_szablony_stron_zbiorczych;
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local tab_szablony_indeksowania=stronicowyparser_obiekty_modul.szablony_indeksowania;
---
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
----
if(czy_kodowanie)then
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2)
if(czy_szablon)then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local numer_parametru=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(numer_parametru)then
local parametr=tabela_parametrow_szablonu[numer_parametru];
if(parametr)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(parametr);
if(naglowek)then
return funkcja1(parametr);
end;
end;
else
local tabela_nazw={};
local function ParametrNR(numer)
return stronicowyparser_potrzebne_modul.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw);
end;
local parametr=ParametrNR(1);
if(parametr)then
if(czy_liczyc)then
local ile_poziom=tonumber(ParametrNR(5)) or 6;
ile_poziom=(ile_poziom>0)and ile_poziom or 1;
ile_poziom=(ile_poziom<=6) and ile_poziom or 6;
local poziom=mw.ustring.rep("=",ile_poziom);
local adres_ksiazki=ParametrNR(2);
local nazwa_modulu_aktualna_czy_biezaca_strony=adres_ksiazki and ParametrNR(2) or nazwa_modulu_aktualna_czy_biezaca;
local adres=nazwa_modulu_aktualna_czy_biezaca_strony..((parametr~="")and ("/"..parametr)or "");
adres=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
adres=html_modul.DecodeHtml(adres,true);
parametr=ParametrNR(3) or parametr;
local dodatek=ParametrNR(4);
parametr=parametr..((dodatek) and (" "..dodatek) or "");
local ile,_=techniczne_modul.PoliczZbiory{[1]=adres,};
local ObiektKodNumer=function(szablon,obiekt)
local tablica_analizy_obiektow_strony_dany_modul_numer=tablica_analizy_obiektow_strony_dany_modul[obiekt];
local kod_numer=1;
for name,_ in pairs(tablica_analizy_obiektow_strony_dany_modul_numer)do
kod_numer=math.max(kod_numer,name);
end;
kod_numer=kod_numer+1;
tablica_analizy_obiektow_strony_dany_modul_numer[kod_numer]=szablon;
local kod_szablonowe=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod_numer);
return kod_szablonowe;
end;
if(ile>0)then
local parametr=poziom..parametr..poziom;
return funkcja1(parametr);
else
local szablon="<span style=\"color:red;\">"..parametr.."</span>";
local kod_parametr=ObiektKodNumer(szablon,"ZNACZNIK");
local parametr=poziom..kod_parametr..poziom;
return funkcja1(parametr);
end;
else
return funkcja1(parametr);
end;
end;
end;
end);
elseif(czy_znacznik)then
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if((zawartosc)and(nazwa))then
if(znaczniki_wprowadzenia_tekstu[nazwa])then
return funkcja2(nazwa,zawartosc,atrybuty);
end;
end;
end;
end;
tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(tekst_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,nil,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");local czy_wikitabelka=(obiekt=="WIKITABELA");
if((czy_szablon)or(czy_znacznik)or(czy_wikitabelka))then
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,false,function()return true;end,function()return true;end);
if(wynik)then return true,nil,nil,true;end;
local rozdzial=mw.ustring.match(szablon,"\n(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n");
if(rozdzial)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial);
if(naglowek)then
return true,nil,nil,true;
end;
end;
end;
end,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,true,
function(parametr)
parametr=mw.ustring.gsub(parametr,"\n"," ");
return "\n"..parametr.."\n ";
end,
function(nazwa,zawartosc,atrybuty)
if((zawartosc)and(nazwa))then
local poziom=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty);
zawartosc=mw.ustring.gsub(zawartosc,"\n"," ");
local poziom_rowna=mw.ustring.rep("=",poziom);
return "\n"..poziom_rowna..zawartosc..poziom_rowna.."\n ";
end;
end);
if(wynik)then return wynik;end;
return nil;
end);
end;
local iterator=stronicowyparser_rozdzialy_modul.IterTekst(tekst_artykulu);
local numeracja;
----
local KtorySzablonMaZwracacKategorieNaglowek=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[1] or nil;
local KtorySzablonMaZwracacKategorieTekst=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[2] or nil;
local CzyJestTakiProblemJakoElementTablicy=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[3] or nil;
----
local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania)
--local nazwa_szablonu=szablonowe_modul["NazwaSzablonuWywołania"](szablon);
local jest_naglowkuj_w_tekscie_rozdzialu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
--local parametry_wywolania_szablonu_naglowek,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
local numeracja_aktualna=parametry_wywolania_szablonu["uchwyt"] or parametry_wywolania_szablonu[1];
----
if(numeracja_aktualna)then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja_aktualna=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja_aktualna,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or numeracja_aktualna;
numeracja_aktualna=html_modul.DecodeHtml(numeracja_aktualna,true);
lista_dwuelementowa={};
lista_dwuelementowa[1]=numeracja_aktualna;
else
numeracja_aktualna=lista_dwuelementowa[1];
end;
if(numeracja_aktualna~="")then
table.insert(numeracja,lista_dwuelementowa);
end;
----
if(powtorka>=1)then
if(self.tabela_listy_danych_analizy_ksiazki)then
KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu_wywolania);
end;
end;
elseif(powtorka>=1)then
KtorySzablonMaZwracacKategorieNaglowek(nil,nazwa_szablonu_wywolania);
end;
powtorka=powtorka+1;
end;
return powtorka;
end;
----
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
----
local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
----
local jest_naglowkuj_w_tekscie_rozdzialu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
local numeracja=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
if((numeracja)and(numeracja~=""))then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
numeracja=html_modul.DecodeHtml(numeracja,true);
else
numeracja=lista_dwuelementowa[1];
end;
end;
KtorySzablonMaZwracacKategorieTekst(numeracja,nazwa_szablonu);
return true;
end;
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end);
end;
return false;
end;
local RefPrzypisowy=function(obiekt,kod)
return "["..((obiekt~="") and (obiekt.." ") or "")..kod.."]";
end;
local specjalne_modul=require("Module:Specjalne");
local nazwa_strony_z_naglowkami=((not tylko_naglowek)and(((nazwa_strony)and(nazwa_strony~=""))and (":"..nazwa_strony) or "") or "");
for naglowek_tab,text_rozdzialu,poziom_rozdzialu in iterator do
local naglowek=naglowek_tab[1];
numeracja={};
if(czy_kodowanie)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(text_rozdzialu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
local powtorka=0;
local czy_szablony=nil;
local czy_indeksowanie=nil;
local function SzablonyWywolywane(szablon,obiekt,kod)
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
powtorka=SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
local czy_naglowek=tab_naglowki[nazwa_szablonu];
local czy_tak_naglowki=((czy_naglowek)and(mw.ustring.match(nazwa_szablonu,"^Link")and true or false) or ((not czy_naglowek)and nil));
if((czy_tak_naglowki~=nil)and(czy_tak_naglowki==false))then
return "";
elseif((tab_szablony[nazwa_szablonu])or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])or (tab_szablony_inne_szablony_stron_zbiorczych[nazwa_szablonu])or((czy_tak_naglowki~=nil)and(czy_tak_naglowki==true)))then
czy_szablony=true;
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif(
(stronicowyparser_obiekty_modul.linki_generalne_szablony_linkowe[nazwa_szablonu])
or(stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
)then
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif((tab_szablony_strona_start[nazwa_szablonu])or(tab_szablony_szablony_stron_zbiorczych[nazwa_szablonu]))then
return "";
elseif(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])then
local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_danych_parametrow_szablonu_strony,kod);
if(wynik)then return wynik;end;
elseif((czy_indeksowanie)and(tab_szablony_indeksowania[nazwa_szablonu]))then
return nil,true;
end;
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end);
end;
--naglowek,_=mw.ustring.gsub(naglowek,"({{[^{}]+}})",SzablonyWywolywaneOgolny);
--naglowek=mw.ustring.gsub(naglowek,"<ref>.-</ref>","");
--naglowek=Korekta(naglowek);
---naglowek=mw.ustring.gsub(naglowek,"[{}|]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
local nazwa_rozdzialu_w_artykule;
if(not czy_kodowanie)then
nazwa_rozdzialu_w_artykule,naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,true,false);
else
local function SzablonyWywolywaneOgolny(naglowek)
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
tekst=naglowek,
["nagłówek"]=true,
nieklasycznie=true,
kodowanie=false,
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},
function(szablon,obiekt,kod)
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end,
function(szablon,obiekt,kod)
return czy_indeksowanie;
end);
return naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne;
end;
czy_indeksowanie=true;
local Znaczniki;local SzablonyStylowe;local ZnakiSpecjalne;
naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=SzablonyWywolywaneOgolny(naglowek);
nazwa_rozdzialu_w_artykule=naglowek;
naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(tab_szablony_indeksowania[nazwa_szablonu])then return "";end;
end);
elseif(obiekt=="ZNACZNIK")then
szablon=Znaczniki(szablon,"li");
szablon=Znaczniki(szablon,"ol");
szablon=Znaczniki(szablon,"ul");
return szablon;
end;
end);
czy_indeksowanie=false;
nazwa_rozdzialu_w_artykule=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_rozdzialu_w_artykule,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="ATRYBUTY")then
return nil,true;
elseif(obiekt=="SZABLON")then
szablon=SzablonyWywolywaneOgolny(szablon);
return szablon;
end;
--szablon=Korekta(szablon);
--szablon=specjalne_modul["UsuńSzablonyStylów"](szablon);
--szablon=specjalne_modul["UsuńZnakiSpecjalne"](szablon);
return szablon;
end);
nazwa_rozdzialu_w_artykule=SzablonyStylowe(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=ZnakiSpecjalne(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=Znaczniki(nazwa_rozdzialu_w_artykule);
if(not czy_szablony)then
nazwa_rozdzialu_w_artykule=html_modul.DecodeKoduHTMLZnaku(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=html_modul.EncodeSpecjalneZnakiHtml(nazwa_rozdzialu_w_artykule);
end;
end;
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"^[%s_]*","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[%s_]*$","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[_%s]+"," ");
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)","(%d+)"),function(obiekt,kod)
return "<sup>"..RefPrzypisowy(obiekt,kod).."</sup>";
end);
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
if(not wzory_zamiast_kodow)then
return szablonowe_modul[((nazwa_strony)and(nazwa_strony=="")) and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
elseif(not czy_artykul_korzystany)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then
local kod=tonumber(kod);
local szablon=tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][kod];
if(szablon)then
szablon=frame:preprocess(szablon);
return szablon;
end;
end;
end
end;
return szablonowe_modul[czy_artykul_korzystany and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)"),function(obiekt,kod)
return RefPrzypisowy(obiekt,kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
return szablonowe_modul.NormaKoduZakodowanegoHtmlTekstu("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
--nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"|","&#"..tostring(mw.ustring.byte('|'))..";");
local numer_tego_samego_naglowka=1;
--local nazwa_rozdzialu_w_artykule_p=mw.ustring.lower(nazwa_rozdzialu_w_artykule);
local numer_tego_samego_naglowka=1;
for s=1,#tablica_powtarzajacych_sie_elementow,1 do
local element=tablica_powtarzajacych_sie_elementow[s];
if(element==nazwa_rozdzialu_w_artykule)then
numer_tego_samego_naglowka=numer_tego_samego_naglowka+1;
end;
end;
if(numer_tego_samego_naglowka==1)then
elementy_linku={nazwa_rozdzialu_w_artykule,naglowek};
else
elementy_linku={nazwa_rozdzialu_w_artykule.."_"..numer_tego_samego_naglowka,naglowek};
end;
if((obiekty)and(numeracja))then
for _,value_numeracja in ipairs(numeracja)do
obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}};
end;
end;
if((poziom_rozdzialu or 0)>0)then
local numer_rozdzialu_ustalony=HNumer(poziom_rozdzialu);
tablica_powtarzajacych_sie_elementow[#tablica_powtarzajacych_sie_elementow+1]=nazwa_rozdzialu_w_artykule;
if(tablica_spisu_tresci==nil)then
tablica_spisu_tresci={};
tablica_spisu_tresci.nazwa_strony=nazwa_strony_z_naglowkami;
end;
tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony};
end;
end;
if(czy_kodowanie)then
if(czy_artykul_korzystany)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not CzyJestTakiProblemJakoElementTablicy())then
local linia_poczatkowa=mw.ustring.match(tekst_artykulu,"^[^\n]+");
if((linia_poczatkowa)and((mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n*"))
or(mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$*")))
)then
return tablica_spisu_tresci;
end;
local tekst_zerowy=mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*\n")
or mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$")
or tekst_artykulu;
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zerowy,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
end;
end;
return tablica_spisu_tresci;
end;
return p;
hs8b2673v2bor4idwmvf2qkvyad8dck
546628
546619
2026-06-13T19:24:57Z
Persino
2851
546628
Scribunto
text/plain
local p={};
function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self)
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self)
self.tabela_listy_danych_analizy_ksiazki={};
self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron={};
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
self.tabela_listy_danych_analizy_ksiazki.problemy=nil;
self.tabela_listy_danych_analizy_ksiazki.licencja={};
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local function DaneNazw(pelna_nazwa_strony)
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
local strona_aktualna=ksiazkowe_modul["PełnaNazwaArtykułu"]();
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona_aktualna);
local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")
..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")
..nazwa_ksiazki;
local pelna_nazwa_ksiazki_ustawienia="Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki;
local techniczne_modul=require("Module:Techniczne");
local ile,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki_ustawienia.."/config",};
if(ile>0)then
local frame=mw.getCurrentFrame();
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(pelna_nazwa_ksiazki_ustawienia);
local ksiazka=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="książka",}};
local artykul=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="artykuł",}};
if(not mw.ustring.match(ksiazka,"^%s*$"))then
local strona=ksiazka..((artykul~="") and ("/"..artykul) or "");
local pudelko_modul=require("Module:Pudełko");
local czy_strona_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](strona);
if(not czy_strona_niepoprawna)then
local html_modul=require("Module:Html");
strona=html_modul.DecodeHtml(strona,true);
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=strona_aktualna,};
local ile,_=techniczne_modul.PoliczZbiory{[1]=strona,};
if(ile>0)then
strona=ksiazkowe_modul["PełnaNazwaArtykułu"](strona);
if(strona~=strona_aktualna)then
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona);
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=DaneNazw(strona_aktualna);
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni=aktualna_nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki=aktualna_nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki=aktualna_nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu=aktualna_nazwa_artykulu;
if((aktualna_nazwa_przestrzeni~=nazwa_przestrzeni)
or(aktualna_nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki)
or(aktualna_nazwa_ksiazki~=nazwa_ksiazki)
or(aktualna_nazwa_artykulu~=nazwa_artykulu)
)then
local zastepcza=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="zastępcza",}};
local parametry_modul=require("Module:Parametry");
self.tabela_listy_danych_analizy_ksiazki.alternatywna=parametry_modul.CzyTak(zastepcza);
if(not self.tabela_listy_danych_analizy_ksiazki.alternatywna)then
self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca=true;
end;
end;
end;
end;
end;
end;
end;
local tablica_zmiennych={};
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};
tablica_zmiennych.linkobiekt={};
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, true,tablica_zmiennych);
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki))then
local stronicowyparser_numeracjaobiektowstron_modul=require("Module:StronicowyParser/NumeracjaObiektówStron");
stronicowyparser_numeracjaobiektowstron_modul.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow)
----
local czy_kodowanie=((nazwa_modulu_aktualna_czy_biezaca)or(tablica_analizy_obiektow_strony_dany_modul));
----
if(not nazwa_modulu_aktualna_czy_biezaca)then
if czy_artykul_korzystany then
local nazwa_przestrzeni_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local nazwy_modul=require("Module:Nazwy");
nazwa_modulu_aktualna_czy_biezaca=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_aktualna_czy_biezaca,nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca,nazwa_ksiazki_aktualna_czy_biezaca,nazwa_artykulu_aktualna_czy_biezaca);
else
nazwa_modulu_aktualna_czy_biezaca=nazwa_strony;
end;
end;
local html_modul=require("Module:Html");
nazwa_strony=html_modul.EncodeId(nazwa_strony);
-----
local tablica_spisu_tresci=nil;
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca);
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tablica_powtarzajacych_sie_elementow={};
local elementy_linku=nil;
local frame=mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local techniczne_modul=require("Module:Techniczne");
local html_modul=require("Module:Html");
local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
----
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
----
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
local tab_szablony_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.szablony_stron_zbiorczych;
local tab_szablony_inne_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.inne_szablony_stron_zbiorczych;
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local tab_szablony_indeksowania=stronicowyparser_obiekty_modul.szablony_indeksowania;
---
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
----
if(czy_kodowanie)then
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2)
if(czy_szablon)then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local numer_parametru=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(numer_parametru)then
local parametr=tabela_parametrow_szablonu[numer_parametru];
if(parametr)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(parametr);
if(naglowek)then
return funkcja1(parametr);
end;
end;
else
local tabela_nazw={};
local function ParametrNR(numer)
return stronicowyparser_potrzebne_modul.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw);
end;
local parametr=ParametrNR(1);
if(parametr)then
if(czy_liczyc)then
local ile_poziom=tonumber(ParametrNR(5)) or 6;
ile_poziom=(ile_poziom>0)and ile_poziom or 1;
ile_poziom=(ile_poziom<=6) and ile_poziom or 6;
local poziom=mw.ustring.rep("=",ile_poziom);
local adres_ksiazki=ParametrNR(2);
local nazwa_modulu_aktualna_czy_biezaca_strony=adres_ksiazki and ParametrNR(2) or nazwa_modulu_aktualna_czy_biezaca;
local adres=nazwa_modulu_aktualna_czy_biezaca_strony..((parametr~="")and ("/"..parametr)or "");
adres=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
adres=html_modul.DecodeHtml(adres,true);
parametr=ParametrNR(3) or parametr;
local dodatek=ParametrNR(4);
parametr=parametr..((dodatek) and (" "..dodatek) or "");
local ile,_=techniczne_modul.PoliczZbiory{[1]=adres,};
local ObiektKodNumer=function(szablon,obiekt)
local tablica_analizy_obiektow_strony_dany_modul_numer=tablica_analizy_obiektow_strony_dany_modul[obiekt];
local kod_numer=1;
for name,_ in pairs(tablica_analizy_obiektow_strony_dany_modul_numer)do
kod_numer=math.max(kod_numer,name);
end;
kod_numer=kod_numer+1;
tablica_analizy_obiektow_strony_dany_modul_numer[kod_numer]=szablon;
local kod_szablonowe=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod_numer);
return kod_szablonowe;
end;
if(ile>0)then
local parametr=poziom..parametr..poziom;
return funkcja1(parametr);
else
local szablon="<span style=\"color:red;\">"..parametr.."</span>";
local kod_parametr=ObiektKodNumer(szablon,"ZNACZNIK");
local parametr=poziom..kod_parametr..poziom;
return funkcja1(parametr);
end;
else
return funkcja1(parametr);
end;
end;
end;
end);
elseif(czy_znacznik)then
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if((zawartosc)and(nazwa))then
if(znaczniki_wprowadzenia_tekstu[nazwa])then
return funkcja2(nazwa,zawartosc,atrybuty);
end;
end;
end;
end;
tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(tekst_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,nil,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");local czy_wikitabelka=(obiekt=="WIKITABELA");
if((czy_szablon)or(czy_znacznik)or(czy_wikitabelka))then
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,false,function()return true;end,function()return true;end);
if(wynik)then return true,nil,nil,true;end;
local rozdzial=mw.ustring.match(szablon,"\n(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n");
if(rozdzial)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial);
if(naglowek)then
return true,nil,nil,true;
end;
end;
end;
end,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,true,
function(parametr)
parametr=mw.ustring.gsub(parametr,"\n"," ");
return "\n"..parametr.."\n ";
end,
function(nazwa,zawartosc,atrybuty)
if((zawartosc)and(nazwa))then
local poziom=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty);
zawartosc=mw.ustring.gsub(zawartosc,"\n"," ");
local poziom_rowna=mw.ustring.rep("=",poziom);
return "\n"..poziom_rowna..zawartosc..poziom_rowna.."\n ";
end;
end);
if(wynik)then return wynik;end;
return nil;
end);
end;
local iterator=stronicowyparser_rozdzialy_modul.IterTekst(tekst_artykulu);
local numeracja;
----
local KtorySzablonMaZwracacKategorieNaglowek=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[1] or nil;
local KtorySzablonMaZwracacKategorieTekst=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[2] or nil;
local CzyJestTakiProblemJakoElementTablicy=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[3] or nil;
----
local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania)
--local nazwa_szablonu=szablonowe_modul["NazwaSzablonuWywołania"](szablon);
local jest_naglowkuj_w_tekscie_rozdzialu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
--local parametry_wywolania_szablonu_naglowek,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
local numeracja_aktualna=parametry_wywolania_szablonu["uchwyt"] or parametry_wywolania_szablonu[1];
----
if(numeracja_aktualna)then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja_aktualna=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja_aktualna,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or numeracja_aktualna;
numeracja_aktualna=html_modul.DecodeHtml(numeracja_aktualna,true);
lista_dwuelementowa={};
lista_dwuelementowa[1]=numeracja_aktualna;
else
numeracja_aktualna=lista_dwuelementowa[1];
end;
if(numeracja_aktualna~="")then
table.insert(numeracja,lista_dwuelementowa);
end;
----
if(powtorka>=1)then
if(self.tabela_listy_danych_analizy_ksiazki)then
KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu_wywolania);
end;
end;
elseif(powtorka>=1)then
KtorySzablonMaZwracacKategorieNaglowek(nil,nazwa_szablonu_wywolania);
end;
powtorka=powtorka+1;
end;
return powtorka;
end;
----
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
----
local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
----
local jest_naglowkuj_w_tekscie_rozdzialu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
local numeracja=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
if((numeracja)and(numeracja~=""))then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
numeracja=html_modul.DecodeHtml(numeracja,true);
else
numeracja=lista_dwuelementowa[1];
end;
end;
KtorySzablonMaZwracacKategorieTekst(numeracja,nazwa_szablonu);
return true;
end;
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end);
end;
return false;
end;
local RefPrzypisowy=function(obiekt,kod)
return "["..((obiekt~="") and (obiekt.." ") or "")..kod.."]";
end;
local specjalne_modul=require("Module:Specjalne");
local nazwa_strony_z_naglowkami=((not tylko_naglowek)and(((nazwa_strony)and(nazwa_strony~=""))and (":"..nazwa_strony) or "") or "");
for naglowek_tab,text_rozdzialu,poziom_rozdzialu in iterator do
local naglowek=naglowek_tab[1];
numeracja={};
if(czy_kodowanie)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(text_rozdzialu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
local powtorka=0;
local czy_szablony=nil;
local czy_indeksowanie=nil;
local function SzablonyWywolywane(szablon,obiekt,kod)
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
powtorka=SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
local czy_naglowek=tab_naglowki[nazwa_szablonu];
local czy_tak_naglowki=((czy_naglowek)and(mw.ustring.match(nazwa_szablonu,"^Link")and true or false) or ((not czy_naglowek)and nil));
if((czy_tak_naglowki~=nil)and(czy_tak_naglowki==false))then
return "";
elseif((tab_szablony[nazwa_szablonu])or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])or (tab_szablony_inne_szablony_stron_zbiorczych[nazwa_szablonu])or((czy_tak_naglowki~=nil)and(czy_tak_naglowki==true)))then
czy_szablony=true;
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif((tab_szablony_strona_start[nazwa_szablonu])or(tab_szablony_szablony_stron_zbiorczych[nazwa_szablonu]))then
return "";
elseif(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])then
local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_danych_parametrow_szablonu_strony,kod);
if(wynik)then return wynik;end;
elseif((czy_indeksowanie)and(tab_szablony_indeksowania[nazwa_szablonu]))then
return nil,true;
else
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
end;
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end);
end;
--naglowek,_=mw.ustring.gsub(naglowek,"({{[^{}]+}})",SzablonyWywolywaneOgolny);
--naglowek=mw.ustring.gsub(naglowek,"<ref>.-</ref>","");
--naglowek=Korekta(naglowek);
---naglowek=mw.ustring.gsub(naglowek,"[{}|]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
local nazwa_rozdzialu_w_artykule;
if(not czy_kodowanie)then
nazwa_rozdzialu_w_artykule,naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,true,false);
else
local function SzablonyWywolywaneOgolny(naglowek)
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
tekst=naglowek,
["nagłówek"]=true,
nieklasycznie=true,
kodowanie=false,
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},
function(szablon,obiekt,kod)
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end,
function(szablon,obiekt,kod)
return czy_indeksowanie;
end);
return naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne;
end;
czy_indeksowanie=true;
local Znaczniki;local SzablonyStylowe;local ZnakiSpecjalne;
naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=SzablonyWywolywaneOgolny(naglowek);
nazwa_rozdzialu_w_artykule=naglowek;
naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(tab_szablony_indeksowania[nazwa_szablonu])then return "";end;
end);
elseif(obiekt=="ZNACZNIK")then
szablon=Znaczniki(szablon,"li");
szablon=Znaczniki(szablon,"ol");
szablon=Znaczniki(szablon,"ul");
return szablon;
end;
end);
czy_indeksowanie=false;
nazwa_rozdzialu_w_artykule=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_rozdzialu_w_artykule,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="ATRYBUTY")then
return nil,true;
elseif(obiekt=="SZABLON")then
szablon=SzablonyWywolywaneOgolny(szablon);
return szablon;
end;
--szablon=Korekta(szablon);
--szablon=specjalne_modul["UsuńSzablonyStylów"](szablon);
--szablon=specjalne_modul["UsuńZnakiSpecjalne"](szablon);
return szablon;
end);
nazwa_rozdzialu_w_artykule=SzablonyStylowe(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=ZnakiSpecjalne(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=Znaczniki(nazwa_rozdzialu_w_artykule);
if(not czy_szablony)then
nazwa_rozdzialu_w_artykule=html_modul.DecodeKoduHTMLZnaku(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=html_modul.EncodeSpecjalneZnakiHtml(nazwa_rozdzialu_w_artykule);
end;
end;
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"^[%s_]*","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[%s_]*$","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[_%s]+"," ");
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)","(%d+)"),function(obiekt,kod)
return "<sup>"..RefPrzypisowy(obiekt,kod).."</sup>";
end);
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
if(not wzory_zamiast_kodow)then
return szablonowe_modul[((nazwa_strony)and(nazwa_strony=="")) and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
elseif(not czy_artykul_korzystany)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then
local kod=tonumber(kod);
local szablon=tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][kod];
if(szablon)then
szablon=frame:preprocess(szablon);
return szablon;
end;
end;
end
end;
return szablonowe_modul[czy_artykul_korzystany and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)"),function(obiekt,kod)
return RefPrzypisowy(obiekt,kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
return szablonowe_modul.NormaKoduZakodowanegoHtmlTekstu("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
--nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"|","&#"..tostring(mw.ustring.byte('|'))..";");
local numer_tego_samego_naglowka=1;
--local nazwa_rozdzialu_w_artykule_p=mw.ustring.lower(nazwa_rozdzialu_w_artykule);
local numer_tego_samego_naglowka=1;
for s=1,#tablica_powtarzajacych_sie_elementow,1 do
local element=tablica_powtarzajacych_sie_elementow[s];
if(element==nazwa_rozdzialu_w_artykule)then
numer_tego_samego_naglowka=numer_tego_samego_naglowka+1;
end;
end;
if(numer_tego_samego_naglowka==1)then
elementy_linku={nazwa_rozdzialu_w_artykule,naglowek};
else
elementy_linku={nazwa_rozdzialu_w_artykule.."_"..numer_tego_samego_naglowka,naglowek};
end;
if((obiekty)and(numeracja))then
for _,value_numeracja in ipairs(numeracja)do
obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}};
end;
end;
if((poziom_rozdzialu or 0)>0)then
local numer_rozdzialu_ustalony=HNumer(poziom_rozdzialu);
tablica_powtarzajacych_sie_elementow[#tablica_powtarzajacych_sie_elementow+1]=nazwa_rozdzialu_w_artykule;
if(tablica_spisu_tresci==nil)then
tablica_spisu_tresci={};
tablica_spisu_tresci.nazwa_strony=nazwa_strony_z_naglowkami;
end;
tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony};
end;
end;
if(czy_kodowanie)then
if(czy_artykul_korzystany)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not CzyJestTakiProblemJakoElementTablicy())then
local linia_poczatkowa=mw.ustring.match(tekst_artykulu,"^[^\n]+");
if((linia_poczatkowa)and((mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n*"))
or(mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$*")))
)then
return tablica_spisu_tresci;
end;
local tekst_zerowy=mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*\n")
or mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$")
or tekst_artykulu;
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zerowy,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
end;
end;
return tablica_spisu_tresci;
end;
return p;
l2r4d84xqw39wroqyr1waqvkkb4kv5x
546635
546628
2026-06-13T19:53:09Z
Persino
2851
546635
Scribunto
text/plain
local p={};
function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self)
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self)
self.tabela_listy_danych_analizy_ksiazki={};
self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron={};
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
self.tabela_listy_danych_analizy_ksiazki.problemy=nil;
self.tabela_listy_danych_analizy_ksiazki.licencja={};
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local function DaneNazw(pelna_nazwa_strony)
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw);
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
local strona_aktualna=ksiazkowe_modul["PełnaNazwaArtykułu"]();
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona_aktualna);
local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")
..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")
..nazwa_ksiazki;
local pelna_nazwa_ksiazki_ustawienia="Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki;
local techniczne_modul=require("Module:Techniczne");
local ile,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki_ustawienia.."/config",};
if(ile>0)then
local frame=mw.getCurrentFrame();
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(pelna_nazwa_ksiazki_ustawienia);
local ksiazka=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="książka",}};
local artykul=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="artykuł",}};
if(not mw.ustring.match(ksiazka,"^%s*$"))then
local strona=ksiazka..((artykul~="") and ("/"..artykul) or "");
local pudelko_modul=require("Module:Pudełko");
local czy_strona_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](strona);
if(not czy_strona_niepoprawna)then
local html_modul=require("Module:Html");
strona=html_modul.DecodeHtml(strona,true);
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=strona_aktualna,};
local ile,_=techniczne_modul.PoliczZbiory{[1]=strona,};
if(ile>0)then
strona=ksiazkowe_modul["PełnaNazwaArtykułu"](strona);
if(strona~=strona_aktualna)then
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona);
local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=DaneNazw(strona_aktualna);
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni=aktualna_nazwa_przestrzeni;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki=aktualna_nazwa_przestrzeni_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki=aktualna_nazwa_ksiazki;
self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu=aktualna_nazwa_artykulu;
if((aktualna_nazwa_przestrzeni~=nazwa_przestrzeni)
or(aktualna_nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki)
or(aktualna_nazwa_ksiazki~=nazwa_ksiazki)
or(aktualna_nazwa_artykulu~=nazwa_artykulu)
)then
local zastepcza=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="zastępcza",}};
local parametry_modul=require("Module:Parametry");
self.tabela_listy_danych_analizy_ksiazki.alternatywna=parametry_modul.CzyTak(zastepcza);
if(not self.tabela_listy_danych_analizy_ksiazki.alternatywna)then
self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca=true;
end;
end;
end;
end;
end;
end;
end;
local tablica_zmiennych={};
tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};
tablica_zmiennych.linkobiekt={};
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, true,tablica_zmiennych);
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki))then
local stronicowyparser_numeracjaobiektowstron_modul=require("Module:StronicowyParser/NumeracjaObiektówStron");
stronicowyparser_numeracjaobiektowstron_modul.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
return self.tabela_listy_danych_analizy_ksiazki;
end;
function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow)
----
local czy_kodowanie=((nazwa_modulu_aktualna_czy_biezaca)or(tablica_analizy_obiektow_strony_dany_modul));
----
if(not nazwa_modulu_aktualna_czy_biezaca)then
if czy_artykul_korzystany then
local nazwa_przestrzeni_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local nazwy_modul=require("Module:Nazwy");
nazwa_modulu_aktualna_czy_biezaca=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_aktualna_czy_biezaca,nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca,nazwa_ksiazki_aktualna_czy_biezaca,nazwa_artykulu_aktualna_czy_biezaca);
else
nazwa_modulu_aktualna_czy_biezaca=nazwa_strony;
end;
end;
local html_modul=require("Module:Html");
nazwa_strony=html_modul.EncodeId(nazwa_strony);
-----
local tablica_spisu_tresci=nil;
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local szablonowe_modul=require("Module:Szablonowe");
local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca);
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tablica_powtarzajacych_sie_elementow={};
local elementy_linku=nil;
local frame=mw.getCurrentFrame();
local parametry_modul=require("Module:Parametry");
local techniczne_modul=require("Module:Techniczne");
local html_modul=require("Module:Html");
local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe;
local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu;
----
local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe;
----
local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego;
local tab_szablony_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.szablony_stron_zbiorczych;
local tab_szablony_inne_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.inne_szablony_stron_zbiorczych;
local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu;
----
local tab_szablony_indeksowania=stronicowyparser_obiekty_modul.szablony_indeksowania;
---
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
----
if(czy_kodowanie)then
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu;
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2)
if(czy_szablon)then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local numer_parametru=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(numer_parametru)then
local parametr=tabela_parametrow_szablonu[numer_parametru];
if(parametr)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(parametr);
if(naglowek)then
return funkcja1(parametr);
end;
end;
else
local tabela_nazw={};
local function ParametrNR(numer)
return stronicowyparser_potrzebne_modul.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw);
end;
local parametr=ParametrNR(1);
if(parametr)then
if(czy_liczyc)then
local ile_poziom=tonumber(ParametrNR(5)) or 6;
ile_poziom=(ile_poziom>0)and ile_poziom or 1;
ile_poziom=(ile_poziom<=6) and ile_poziom or 6;
local poziom=mw.ustring.rep("=",ile_poziom);
local adres_ksiazki=ParametrNR(2);
local nazwa_modulu_aktualna_czy_biezaca_strony=adres_ksiazki and ParametrNR(2) or nazwa_modulu_aktualna_czy_biezaca;
local adres=nazwa_modulu_aktualna_czy_biezaca_strony..((parametr~="")and ("/"..parametr)or "");
adres=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres;
adres=html_modul.DecodeHtml(adres,true);
parametr=ParametrNR(3) or parametr;
local dodatek=ParametrNR(4);
parametr=parametr..((dodatek) and (" "..dodatek) or "");
local ile,_=techniczne_modul.PoliczZbiory{[1]=adres,};
local ObiektKodNumer=function(szablon,obiekt)
local tablica_analizy_obiektow_strony_dany_modul_numer=tablica_analizy_obiektow_strony_dany_modul[obiekt];
local kod_numer=1;
for name,_ in pairs(tablica_analizy_obiektow_strony_dany_modul_numer)do
kod_numer=math.max(kod_numer,name);
end;
kod_numer=kod_numer+1;
tablica_analizy_obiektow_strony_dany_modul_numer[kod_numer]=szablon;
local kod_szablonowe=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod_numer);
return kod_szablonowe;
end;
if(ile>0)then
local parametr=poziom..parametr..poziom;
return funkcja1(parametr);
else
local szablon="<span style=\"color:red;\">"..parametr.."</span>";
local kod_parametr=ObiektKodNumer(szablon,"ZNACZNIK");
local parametr=poziom..kod_parametr..poziom;
return funkcja1(parametr);
end;
else
return funkcja1(parametr);
end;
end;
end;
end);
elseif(czy_znacznik)then
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if((zawartosc)and(nazwa))then
if(znaczniki_wprowadzenia_tekstu[nazwa])then
return funkcja2(nazwa,zawartosc,atrybuty);
end;
end;
end;
end;
tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(tekst_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,nil,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");local czy_wikitabelka=(obiekt=="WIKITABELA");
if((czy_szablon)or(czy_znacznik)or(czy_wikitabelka))then
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,false,function()return true;end,function()return true;end);
if(wynik)then return true,nil,nil,true;end;
local rozdzial=mw.ustring.match(szablon,"\n(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n");
if(rozdzial)then
local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial);
if(naglowek)then
return true,nil,nil,true;
end;
end;
end;
end,
function(szablon,obiekt,kod)
local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");
local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,true,
function(parametr)
parametr=mw.ustring.gsub(parametr,"\n"," ");
return "\n"..parametr.."\n ";
end,
function(nazwa,zawartosc,atrybuty)
if((zawartosc)and(nazwa))then
local poziom=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty);
zawartosc=mw.ustring.gsub(zawartosc,"\n"," ");
local poziom_rowna=mw.ustring.rep("=",poziom);
return "\n"..poziom_rowna..zawartosc..poziom_rowna.."\n ";
end;
end);
if(wynik)then return wynik;end;
return nil;
end);
end;
local iterator=stronicowyparser_rozdzialy_modul.IterTekst(tekst_artykulu);
local numeracja;
----
local KtorySzablonMaZwracacKategorieNaglowek=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[1] or nil;
local KtorySzablonMaZwracacKategorieTekst=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[2] or nil;
local CzyJestTakiProblemJakoElementTablicy=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[3] or nil;
----
local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania)
--local nazwa_szablonu=szablonowe_modul["NazwaSzablonuWywołania"](szablon);
local jest_naglowkuj_w_tekscie_rozdzialu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
--local parametry_wywolania_szablonu_naglowek,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
local numeracja_aktualna=parametry_wywolania_szablonu["uchwyt"] or parametry_wywolania_szablonu[1];
----
if(numeracja_aktualna)then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja_aktualna=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja_aktualna,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or numeracja_aktualna;
numeracja_aktualna=html_modul.DecodeHtml(numeracja_aktualna,true);
lista_dwuelementowa={};
lista_dwuelementowa[1]=numeracja_aktualna;
else
numeracja_aktualna=lista_dwuelementowa[1];
end;
if(numeracja_aktualna~="")then
table.insert(numeracja,lista_dwuelementowa);
end;
----
if(powtorka>=1)then
if(self.tabela_listy_danych_analizy_ksiazki)then
KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu_wywolania);
end;
end;
elseif(powtorka>=1)then
KtorySzablonMaZwracacKategorieNaglowek(nil,nazwa_szablonu_wywolania);
end;
powtorka=powtorka+1;
end;
return powtorka;
end;
----
local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu;
----
local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
----
local jest_naglowkuj_w_tekscie_rozdzialu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu];
if(jest_naglowkuj_w_tekscie_rozdzialu)then
local numeracja=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
if((numeracja)and(numeracja~=""))then
local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1];
local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil;
if(not lista_dwuelementowa)then
numeracja=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu;
numeracja=html_modul.DecodeHtml(numeracja,true);
else
numeracja=lista_dwuelementowa[1];
end;
end;
KtorySzablonMaZwracacKategorieTekst(numeracja,nazwa_szablonu);
return true;
end;
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return false;
end);
end;
return false;
end;
local RefPrzypisowy=function(obiekt,kod)
return "["..((obiekt~="") and (obiekt.." ") or "")..kod.."]";
end;
local specjalne_modul=require("Module:Specjalne");
local nazwa_strony_z_naglowkami=((not tylko_naglowek)and(((nazwa_strony)and(nazwa_strony~=""))and (":"..nazwa_strony) or "") or "");
for naglowek_tab,text_rozdzialu,poziom_rozdzialu in iterator do
local naglowek=naglowek_tab[1];
numeracja={};
if(czy_kodowanie)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(text_rozdzialu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
local powtorka=0;
local czy_szablony=nil;
local czy_indeksowanie=nil;
local function SzablonyWywolywane(szablon,obiekt,kod)
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
powtorka=SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow);
local czy_naglowek=tab_naglowki[nazwa_szablonu];
local czy_tak_naglowki=((czy_naglowek)and(mw.ustring.match(nazwa_szablonu,"^Link")and true or false) or ((not czy_naglowek)and nil));
if((czy_tak_naglowki~=nil)and(czy_tak_naglowki==false))then
return "";
elseif((tab_szablony[nazwa_szablonu])or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])or (tab_szablony_inne_szablony_stron_zbiorczych[nazwa_szablonu])or((czy_tak_naglowki~=nil)and(czy_tak_naglowki==true)))then
czy_szablony=true;
if(not czy_artykul_korzystany)then
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""))
if(self)then
local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz");
if(czy_link_lub_pobierz)then
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca);
else
stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu);
end;
end;
end;
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif(
(stronicowyparser_obiekty_modul.linki_generalne_szablony_linkowe[nazwa_szablonu])
or(stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))
)then
return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true);
elseif((tab_szablony_strona_start[nazwa_szablonu])or(tab_szablony_szablony_stron_zbiorczych[nazwa_szablonu]))then
return "";
elseif(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])then
local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_danych_parametrow_szablonu_strony,kod);
if(wynik)then return wynik;end;
elseif((czy_indeksowanie)and(tab_szablony_indeksowania[nazwa_szablonu]))then
return nil,true;
end;
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return szablon;
end);
end;
--naglowek,_=mw.ustring.gsub(naglowek,"({{[^{}]+}})",SzablonyWywolywaneOgolny);
--naglowek=mw.ustring.gsub(naglowek,"<ref>.-</ref>","");
--naglowek=Korekta(naglowek);
---naglowek=mw.ustring.gsub(naglowek,"[{}|]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
local nazwa_rozdzialu_w_artykule;
if(not czy_kodowanie)then
nazwa_rozdzialu_w_artykule,naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,true,false);
else
local function SzablonyWywolywaneOgolny(naglowek)
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
tekst=naglowek,
["nagłówek"]=true,
nieklasycznie=true,
kodowanie=false,
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},
function(szablon,obiekt,kod)
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end,
function(szablon,obiekt,kod)
return czy_indeksowanie;
end);
return naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne;
end;
czy_indeksowanie=true;
local Znaczniki;local SzablonyStylowe;local ZnakiSpecjalne;
naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=SzablonyWywolywaneOgolny(naglowek);
nazwa_rozdzialu_w_artykule=naglowek;
naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(tab_szablony_indeksowania[nazwa_szablonu])then return "";end;
end);
elseif(obiekt=="ZNACZNIK")then
szablon=Znaczniki(szablon,"li");
szablon=Znaczniki(szablon,"ol");
szablon=Znaczniki(szablon,"ul");
return szablon;
end;
end);
czy_indeksowanie=false;
nazwa_rozdzialu_w_artykule=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_rozdzialu_w_artykule,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod)
if(obiekt=="ATRYBUTY")then
return nil,true;
elseif(obiekt=="SZABLON")then
szablon=SzablonyWywolywaneOgolny(szablon);
return szablon;
end;
--szablon=Korekta(szablon);
--szablon=specjalne_modul["UsuńSzablonyStylów"](szablon);
--szablon=specjalne_modul["UsuńZnakiSpecjalne"](szablon);
return szablon;
end);
nazwa_rozdzialu_w_artykule=SzablonyStylowe(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=ZnakiSpecjalne(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=Znaczniki(nazwa_rozdzialu_w_artykule);
if(not czy_szablony)then
nazwa_rozdzialu_w_artykule=html_modul.DecodeKoduHTMLZnaku(nazwa_rozdzialu_w_artykule);
nazwa_rozdzialu_w_artykule=html_modul.EncodeSpecjalneZnakiHtml(nazwa_rozdzialu_w_artykule);
end;
end;
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"^[%s_]*","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[%s_]*$","");
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[_%s]+"," ");
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)","(%d+)"),function(obiekt,kod)
return "<sup>"..RefPrzypisowy(obiekt,kod).."</sup>";
end);
naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
if(not wzory_zamiast_kodow)then
return szablonowe_modul[((nazwa_strony)and(nazwa_strony=="")) and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
elseif(not czy_artykul_korzystany)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul)then
if(tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then
local kod=tonumber(kod);
local szablon=tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][kod];
if(szablon)then
szablon=frame:preprocess(szablon);
return szablon;
end;
end;
end
end;
return szablonowe_modul[czy_artykul_korzystany and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)"),function(obiekt,kod)
return RefPrzypisowy(obiekt,kod);
end);
nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod)
return szablonowe_modul.NormaKoduZakodowanegoHtmlTekstu("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod);
end);
--nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"|","&#"..tostring(mw.ustring.byte('|'))..";");
local numer_tego_samego_naglowka=1;
--local nazwa_rozdzialu_w_artykule_p=mw.ustring.lower(nazwa_rozdzialu_w_artykule);
local numer_tego_samego_naglowka=1;
for s=1,#tablica_powtarzajacych_sie_elementow,1 do
local element=tablica_powtarzajacych_sie_elementow[s];
if(element==nazwa_rozdzialu_w_artykule)then
numer_tego_samego_naglowka=numer_tego_samego_naglowka+1;
end;
end;
if(numer_tego_samego_naglowka==1)then
elementy_linku={nazwa_rozdzialu_w_artykule,naglowek};
else
elementy_linku={nazwa_rozdzialu_w_artykule.."_"..numer_tego_samego_naglowka,naglowek};
end;
if((obiekty)and(numeracja))then
for _,value_numeracja in ipairs(numeracja)do
obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}};
end;
end;
if((poziom_rozdzialu or 0)>0)then
local numer_rozdzialu_ustalony=HNumer(poziom_rozdzialu);
tablica_powtarzajacych_sie_elementow[#tablica_powtarzajacych_sie_elementow+1]=nazwa_rozdzialu_w_artykule;
if(tablica_spisu_tresci==nil)then
tablica_spisu_tresci={};
tablica_spisu_tresci.nazwa_strony=nazwa_strony_z_naglowkami;
end;
tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony};
end;
end;
if(czy_kodowanie)then
if(czy_artykul_korzystany)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not CzyJestTakiProblemJakoElementTablicy())then
local linia_poczatkowa=mw.ustring.match(tekst_artykulu,"^[^\n]+");
if((linia_poczatkowa)and((mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n*"))
or(mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$*")))
)then
return tablica_spisu_tresci;
end;
local tekst_zerowy=mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*\n")
or mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$")
or tekst_artykulu;
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zerowy,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod);
if(wynik)then break;end;
end;
end;
end;
end;
return tablica_spisu_tresci;
end;
return p;
hs8b2673v2bor4idwmvf2qkvyad8dck
Sosy/Pomoc
0
63672
546603
546548
2026-06-13T17:14:56Z
EdytaT
2664
546603
wikitext
text/x-wiki
{{Podrozdział|[[Sosy]]|Słowniczek}}
{{SpisAlfabetyczny}}
== B ==
* bain-marie → [[Sosy/Pomoc#K|kąpiel wodna]].
== K ==
* kąpiel wodna → technika kulinarna, w której potrawy są podgrzewane na parze w mniejszym naczyniu, umieszczonym w większym garnku nad lekko gotującą się wodą. Metoda ta nadaje się np. do ubijania białek i żółtek z cukrem, topienia czekolady lub polewy, topienia i ubijania masła z innymi składnikami itp.
== S ==
* sosy bazowe - francuskie sosy podstawowe (les sauces mères) to pięć klasycznych sosów sztuki kulinarnej. Stanowią one podstawę, z której poprzez dodanie ziół, przypraw, sera lub wina powstają setki innych sosów pochodnych (Petites Sauces) (zob. też [[w:Sosy bazowe|Sosy bazowe]] w Wikipedii).
== U ==
* ubijanie na parze - ubijanie składników w [[Sosy/Pomoc#K/kąpieli wodnej]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
ojad2qycjku78ltxjic1qifpo552dex
546604
546603
2026-06-13T17:15:34Z
EdytaT
2664
546604
wikitext
text/x-wiki
{{Podrozdział|[[Sosy]]|Słowniczek}}
{{SpisAlfabetyczny}}
== B ==
* bain-marie → [[Sosy/Pomoc#K|kąpiel wodna]].
== K ==
* kąpiel wodna → technika kulinarna, w której potrawy są podgrzewane na parze w mniejszym naczyniu, umieszczonym w większym garnku nad lekko gotującą się wodą. Metoda ta nadaje się np. do ubijania białek i żółtek z cukrem, topienia czekolady lub polewy, topienia i ubijania masła z innymi składnikami itp.
== S ==
* sosy bazowe - francuskie sosy podstawowe (les sauces mères) to pięć klasycznych sosów sztuki kulinarnej. Stanowią one podstawę, z której poprzez dodanie ziół, przypraw, sera lub wina powstają setki innych sosów pochodnych (Petites Sauces) (zob. też [[w:Sosy bazowe|Sosy bazowe]] w Wikipedii).
== U ==
* ubijanie na parze - ubijanie składników w [[Sosy/Pomoc#K|kąpieli wodnej]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
2t4jh2ns82csq0msaj86x1try2q0zde
546609
546604
2026-06-13T17:44:53Z
EdytaT
2664
546609
wikitext
text/x-wiki
{{Podrozdział|[[Sosy]]|Słowniczek}}
{{SpisAlfabetyczny}}
== B ==
* bain-marie → [[Sosy/Pomoc#K|kąpiel wodna]].
== K ==
* kąpiel wodna → technika kulinarna, w której potrawy są podgrzewane na parze w mniejszym naczyniu, umieszczonym w większym garnku z lekko gotującą się wodą. Metoda ta nadaje się np. do ubijania białek i żółtek z cukrem na puszysto, topienia czekolady lub polewy, topienia i ubijania masła z innymi składnikami itp.
== S ==
* sosy bazowe - francuskie sosy podstawowe (les sauces mères) to pięć klasycznych sosów sztuki kulinarnej. Stanowią one podstawę, z której poprzez dodanie ziół, przypraw, sera lub wina powstają setki innych sosów pochodnych (Petites Sauces) (zob. też [[w:Sosy bazowe|Sosy bazowe]] w Wikipedii).
== U ==
* ubijanie na parze - ubijanie składników w [[Sosy/Pomoc#K|kąpieli wodnej]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
po53zjericsc0p25yp51jh85ryqio2a
546610
546609
2026-06-13T17:46:24Z
EdytaT
2664
546610
wikitext
text/x-wiki
{{Podrozdział|[[Sosy]]|Słowniczek}}
{{SpisAlfabetyczny}}
== B ==
* bain-marie → [[Sosy/Pomoc#K|kąpiel wodna]].
== K ==
* kąpiel wodna → technika kulinarna, w której potrawy są podgrzewane na parze w misce, umieszczonej w większym garnku nad lekko gotującą się wodą. Miska nie powinna dotykać wody. Metoda ta nadaje się np. do ubijania białek i żółtek z cukrem na puszysto, topienia czekolady lub polewy, topienia i ubijania masła z innymi składnikami itp.
== S ==
* sosy bazowe - francuskie sosy podstawowe (les sauces mères) to pięć klasycznych sosów sztuki kulinarnej. Stanowią one podstawę, z której poprzez dodanie ziół, przypraw, sera lub wina powstają setki innych sosów pochodnych (Petites Sauces) (zob. też [[w:Sosy bazowe|Sosy bazowe]] w Wikipedii).
== U ==
* ubijanie na parze - ubijanie składników w [[Sosy/Pomoc#K|kąpieli wodnej]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
gxz2xfb4reuc51dm9gr2zl3ed4tqksa
Śpiewnik/A w Krakowie na ulicy
0
63675
546584
2026-06-13T12:28:23Z
Ashaio
4702
nowa ballada
546584
wikitext
text/x-wiki
{{T|Śpiewnik/NawigacjaOpis}}
== Muzyka ==
'''Autor:''' nieznany (melodia ludowa)
'''Opracowanie:''' Gustaw Gizewiusz, Oskar Kolberg
<score raw="1" vorbis="1">
\version "2.20.0"
\header{
title="A w Krakowie na ulicy"
poet ="Słowa: autor nieznany (pieśń ludowa)"
composer = "Muzyka: autor nieznany (melodia ludowa)"
arranger = "Opracowanie: Gustaw Gizewiusz"
tagline = ""
}
\score{
<<
\new Staff \with { midiInstrument = "flute"} {
\clef "violin"
\key d \minor
\time 3/4
\tempo 4=110
\autoBeamOff
\relative d'{
d8 d a'4 f |
g8 g a4 f |
d8 d16[ f] g4 e |
c8 e g8[a ] d,4 |
g8 a bes8[ g] a4 |
bes16[ a] f8 d4 d \fermata \bar "|."
}
}
\addlyrics{ \small {
A w_Lu -- ba -- wie na ry -- ne -- czku
pi -- ją pi -- wko z_go -- rza -- łe -- czką,
pi -- ją pi -- wko z_go -- rza -- łe -- czką.
} }
>>
\layout{}
\midi{}
}
</score>
'''Źródło:''' Oskar Kolberg, ''[https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=260 Pieśni ludu polskiego : serya I]''. Warszawa, 1857. S. 243.
== Tekst ==
'''Autor:''' nieznany (pieśń ludowa)
'''Opracowanie:''' Zygmunt Gloger
{{Kolumny|3|
<poem>
1. A w Krakowie w kamienicy
Piją piwo pacholicy,
Piją, piją, przepijają,
Włodarzównę namawiają.
2. A skoro ją namówili,
Do kolasy posadzili:
Siadaj Kasiu, siadaj z nami,
Będzie z ciebie grzeczna pani.
3. Matka z ojcem nie słyszała,
Kiedy Kasia wędrowała;
Wstaje matka od kądzieli,
Szuka córki po pościeli.
4. — Wstańcie, wstańcie syny moje!
Gońcie, gońcie siostrę swoję.
Bracia gnali, nie dognali,
Aż we Lwowie ją spotkali.
5. I spotkali ją we Lwowie,
Ona chodzi w złotogłowie.
Chodzi sobie po ryneczku,
Ubiór na niej po niemiecku.
6. — Witaj, witaj siostro nasza,
Gdzieś podziała szwagra Jasia?
— Jabym wam go pokazała,
Gdybym się zdrady nie bała.
7. — Ty się, siostro, nie bój zdrady,
O Jasieńku nam powiadaj.
— Ano siedzi za stołami,
Pije piwo z dworzanami.
8. — A jak się masz szwagrze młody,
Napijesz się krwie jak wody.
— Nie w takich ja wojnach bywał,
Krwie jak wody ja nie pijał.
9. A on do nich ze szklaneczką,
A oni go szabeleczką.
Jeden ciął go wedle pasa:
— To za ciebie siostro nasza.
10. Ciął go drugi wedle szyje,
Jasio krew jak wodę pije.
A brat trzeci nic nie rzecze,
Jeno z góry mieczem siecze.
11. — Siadaj, siadaj siostro nasza,
Bo już nie masz swego Jasia.
— Przynieś ręcznik haftowany,
Co zawiniesz moje rany.
12. Idź Kasieńko do szkatuły,
Odlicz sobie tysiąc który,
A jak będziesz syna miała,
To mu będziesz tak śpiewała:
13. Lulaj, lulaj miły synku,
Zabili ci ojca w rynku.
Oj, zabili go we Lwowie,
Twoi, synku, wujaszkowie.
</poem>
}}
'''Żródło:''' Zygmunt Gloger, Zygmunt Noskowski (muz.), ''[https://polona.pl/item-view/3865dea0-ea71-48b4-98a8-30a8e3493033?page=152 Pieśni ludu]''. Kraków, 1892. S. 149.
== Zobacz też ==
* w serwisie ''[http://antologia.oskarkolberg.pl/ Antologia Pieśni Polskiej]'' ''[http://oskarkolberg.pl/ Instytutu im. Oskara Kolbega]'':
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8084 A w Warszawie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8127 A w Warszawie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8027 A Warszawie na dybowie]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8109 A w Warsawie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8026 A w Krakowie, da, w Krakowie]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8028 A w Krakowie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8085 A w Krakowie na ulicy, hej, hej]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8248 A w Poznaniu w kamienicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8677 A w Poznaniu w kamienicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8675 A w Poznaniu, w kamienicy]''
* ''[https://bibliotekapiosenki.pl/utwory/A_w_Krakowie_na_ulicy A w Krakowie na ulicy]'' w serwisie ''[https://bibliotekapiosenki.pl Cyfrowa Biblioteka Polskiej Piosenki]''
cx2xh8z2tp2v22rxs4wrxvq354faywl
546633
546584
2026-06-13T19:47:42Z
Ashaio
4702
uzupełnienie opisu
546633
wikitext
text/x-wiki
{{T|Śpiewnik/NawigacjaOpis}}
== Opis ==
Ballada ludowa, przedstawiająca motyw „bracia zabijają uwodziciela siostry”. W niektórych regionach śpiewana na melodię ''[[Śpiewnik/Idzie_żołnierz_borem,_lasem|Idzie żołnierz borem, lasem]]''.
Prawdopodobnie najstarszy zapis tej pieśni pojawia się w ''[https://polona.pl/item-view/842c6e89-1302-458f-b448-3613cf98225f?page=570 Pieśniach polskich i ruskich ludu galicyjskiego]'' Wacława Zaleskigo z 1833 roku, bez muzyki. Oskar Kolberg w ''[https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=8 Pieśniach ludu polskiego]'' z 1857 roku podaje 17 wariantów tej pieśni<ref>Pieśn nr 25, warianty oznaczone literami od „a” do „r”, na stronach od [https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=258 241] do [https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=268 251].</ref>; najdłuższa wersja (25 d) składa się z 32 dwuwersowych strof. Wersja przedstawiona przez Zygmunta Glogera w ''[https://polona.pl/item-view/3865dea0-ea71-48b4-98a8-30a8e3493033?page=152 Pieśniach ludu]'' z 1892 roku przypuszczalnie jest kompilacją opublikowanych wcześniej wariantów.
Szczegóły zdarzenia przedstawionego w pieśni różnią się znacznie pomiędzy wersjami. Pierwszy wers brzmi m.in.: „A w Krakowie na ulicy”, „A w Warszawie na ulicy”, „A w Poznaniu w kamienicy” lub „W Lublineczku na ryneczku”. Odnalezienie siostry zdarza się we Lwowie, w Warszawie, w Krakowie lub w jeszcze innych miastach. Grupa społeczna „Jasia” to m.in.: rzemieślnicy, szewczykowie, krawczykowie, pacholicy lub pułkownicy.
Co do zakończenia, spadek lub rekompensata dla „Kasi” bywa w naturze:
<poem>
Idźże Kasiu do obory,
Wypuść sobie cztery woły,
Czetry woły, cztery krowy.
Jak się moi bracia zjadą,
Tobie Kasiu nic nie dadzą.<ref>Oskar Kolberg, ''[https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=265 Pieśni ludu polskiego : serya I]''. Warszawa, 1857. S. 248.</ref>
</poem>
W innych wersjach w pieniądzach lub kosztownościach:
<poem>
Bież że Kasiu do skrzyneczki,
Wybież że tam talareczki.<ref>Oskar Kolberg, ''[https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=262 Pieśni ludu polskiego : serya I]''. Warszawa, 1857. S. 245.</ref>
</poem>
Jednak zdarza sie też, że to bracia przejmują majątek zabitego:
<poem>
Srebro, złoto zabierajcie,
A Jasieńka nie rąbajcie. (...)
Srebro, złoto zrabowali
i Jasieńka porąbali.<ref>Oskar Kolberg, ''[https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=263 Pieśni ludu polskiego : serya I]''. Warszawa, 1857. S. 246.</ref>
</poem>
W niektórych wariantach Kasia, która splamiła honor rodziny, ma być ukarana równie krwawo, jak uwodziciel:
<poem>
Wstańcie, wstańcie syny moje,
Gońcie, gońcie siostrę swoję.
A jak ci ją dogonicie,
Ręce, nogi obetnijcie.<ref>Oskar Kolberg, ''[https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=259 Pieśni ludu polskiego : serya I]''. Warszawa, 1857. S. 242.</ref>
</poem>
== Muzyka ==
'''Autor:''' nieznany (melodia ludowa)
'''Opracowanie:''' Gustaw Gizewiusz, Oskar Kolberg
<score raw="1" vorbis="1">
\version "2.20.0"
\header{
title="A w Krakowie na ulicy"
poet ="Słowa: autor nieznany (pieśń ludowa)"
composer = "Muzyka: autor nieznany (melodia ludowa)"
arranger = "Opracowanie: Gustaw Gizewiusz"
tagline = ""
}
\score{
<<
\new Staff \with { midiInstrument = "flute"} {
\clef "violin"
\key d \minor
\time 3/4
\tempo 4=110
\autoBeamOff
\relative d'{
d8 d a'4 f |
g8 g a4 f |
d8 d16[ f] g4 e |
c8 e g8[a ] d,4 |
g8 a bes8[ g] a4 |
bes16[ a] f8 d4 d \fermata \bar "|."
}
}
\addlyrics{ \small {
A w_Lu -- ba -- wie na ry -- ne -- czku
pi -- ją pi -- wko z_go -- rza -- łe -- czką,
pi -- ją pi -- wko z_go -- rza -- łe -- czką.
} }
>>
\layout{}
\midi{}
}
</score>
'''Źródło:''' Oskar Kolberg, ''[https://polona.pl/item-view/285340e6-7268-42ef-ae04-52e70451569b?page=260 Pieśni ludu polskiego : serya I]''. Warszawa, 1857. S. 243.
== Tekst ==
'''Autor:''' nieznany (pieśń ludowa)
'''Opracowanie:''' Zygmunt Gloger
{{Kolumny|3|
<poem>
1. A w Krakowie w kamienicy
Piją piwo pacholicy,
Piją, piją, przepijają,
Włodarzównę namawiają.
2. A skoro ją namówili,
Do kolasy posadzili:
Siadaj Kasiu, siadaj z nami,
Będzie z ciebie grzeczna pani.
3. Matka z ojcem nie słyszała,
Kiedy Kasia wędrowała;
Wstaje matka od kądzieli,
Szuka córki po pościeli.
4. — Wstańcie, wstańcie syny moje!
Gońcie, gońcie siostrę swoję.
Bracia gnali, nie dognali,
Aż we Lwowie ją spotkali.
5. I spotkali ją we Lwowie,
Ona chodzi w złotogłowie.
Chodzi sobie po ryneczku,
Ubiór na niej po niemiecku.
6. — Witaj, witaj siostro nasza,
Gdzieś podziała szwagra Jasia?
— Jabym wam go pokazała,
Gdybym się zdrady nie bała.
7. — Ty się, siostro, nie bój zdrady,
O Jasieńku nam powiadaj.
— Ano siedzi za stołami,
Pije piwo z dworzanami.
8. — A jak się masz szwagrze młody,
Napijesz się krwie jak wody.
— Nie w takich ja wojnach bywał,
Krwie jak wody ja nie pijał.
9. A on do nich ze szklaneczką,
A oni go szabeleczką.
Jeden ciął go wedle pasa:
— To za ciebie siostro nasza.
10. Ciął go drugi wedle szyje,
Jasio krew jak wodę pije.
A brat trzeci nic nie rzecze,
Jeno z góry mieczem siecze.
11. — Siadaj, siadaj siostro nasza,
Bo już nie masz swego Jasia.
— Przynieś ręcznik haftowany,
Co zawiniesz moje rany.
12. Idź Kasieńko do szkatuły,
Odlicz sobie tysiąc który,
A jak będziesz syna miała,
To mu będziesz tak śpiewała:
13. Lulaj, lulaj miły synku,
Zabili ci ojca w rynku.
Oj, zabili go we Lwowie,
Twoi, synku, wujaszkowie.
</poem>
}}
'''Żródło:''' Zygmunt Gloger, Zygmunt Noskowski (muz.), ''[https://polona.pl/item-view/3865dea0-ea71-48b4-98a8-30a8e3493033?page=152 Pieśni ludu]''. Kraków, 1892. S. 149.
== Zobacz też ==
* w serwisie ''[http://antologia.oskarkolberg.pl/ Antologia Pieśni Polskiej]'' ''[http://oskarkolberg.pl/ Instytutu im. Oskara Kolbega]'':
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8084 A w Warszawie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8127 A w Warszawie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8027 A Warszawie na dybowie]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8109 A w Warsawie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8026 A w Krakowie, da, w Krakowie]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8028 A w Krakowie na ulicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8085 A w Krakowie na ulicy, hej, hej]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8248 A w Poznaniu w kamienicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8677 A w Poznaniu w kamienicy]''
** ''[http://antologia.oskarkolberg.pl/pl-PL/Home/Song?id=8675 A w Poznaniu, w kamienicy]''
* ''[https://bibliotekapiosenki.pl/utwory/A_w_Krakowie_na_ulicy A w Krakowie na ulicy]'' w serwisie ''[https://bibliotekapiosenki.pl Cyfrowa Biblioteka Polskiej Piosenki]''
== Przypisy ==
<references/>
nd0aqpy7xpmepbyylb6b5xj0tu4o7d1
Pszczelarstwo/Produkty/Miód jeżynowy
0
63676
546645
2026-06-14T06:12:01Z
EdytaT
2664
Utworzono nową stronę " {{Podrozdział|[[Pszczelarstwo]]|Miód jeżynowy}} [[Grafika:Blackberry flower 02.jpg|thumb|right|Jeżyny]] == Miód jeżynowy == === Pochodzenie === Miód jeżynowy to rzadki, aromatyczny specjał, który pszczoły zbierają z nektaru kwiatów jeżyny. === Właściwości === Wyróżnia się jasnym, złocistym lub czerwono-brązowym kolorem. Jest delikatnie słodki, z lekko kwaskowatym posmakiem. Ma konsystencję od płynnej do kremowo-delikatnej. Ponieważ je…"
546645
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód jeżynowy}}
[[Grafika:Blackberry flower 02.jpg|thumb|right|Jeżyny]]
== Miód jeżynowy ==
=== Pochodzenie ===
Miód jeżynowy to rzadki, aromatyczny specjał, który pszczoły zbierają z nektaru kwiatów jeżyny.
=== Właściwości ===
Wyróżnia się jasnym, złocistym lub czerwono-brązowym kolorem. Jest delikatnie słodki, z lekko kwaskowatym posmakiem. Ma konsystencję od płynnej do kremowo-delikatnej. Ponieważ jeżyny kwitną przy wilgotnej i ciepłej pogodzie, miód ten jest prawdziwą rzadkością i zazwyczaj jest sprzedawany przez pasieki ekologiczne.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
cnecs7brq8kleo5wxuttuofe1tt9v8r
546646
546645
2026-06-14T06:16:30Z
EdytaT
2664
546646
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód jeżynowy}}
[[Grafika:Honey bee on blackberry flowers, Bedfordshire (4805377944).jpg|thumb|right|Jeżyny]]
== Miód jeżynowy ==
=== Pochodzenie ===
Miód jeżynowy to rzadki, aromatyczny specjał, który pszczoły zbierają z nektaru kwiatów jeżyny.
=== Właściwości ===
Wyróżnia się jasnym, złocistym lub czerwono-brązowym kolorem. Jest delikatnie słodki, z lekko kwaskowatym posmakiem. Ma konsystencję od płynnej do kremowo-delikatnej. Ponieważ jeżyny kwitną przy wilgotnej i ciepłej pogodzie, miód ten jest prawdziwą rzadkością i zazwyczaj jest sprzedawany przez pasieki ekologiczne.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
2mm4jy3f7qqehrfty0zsge285k3k1wo
546647
546646
2026-06-14T06:18:41Z
EdytaT
2664
546647
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód jeżynowy}}
[[Grafika:Honey bee on blackberry flowers, Bedfordshire (4805377944).jpg|thumb|right|Jeżyny]]
== Miód jeżynowy ==
=== Pochodzenie ===
Miód jeżynowy to rzadki, aromatyczny specjał, który pszczoły zbierają z nektaru kwiatów jeżyny.
=== Właściwości ===
Wyróżnia się jasnym, złocistym lub czerwono-brązowym kolorem. Jest delikatnie słodki, z lekko kwaskowatym posmakiem. Ma konsystencję od płynnej do kremowo-delikatnej. Ponieważ jeżyny kwitną przy wilgotnej i ciepłej pogodzie, miód ten jest prawdziwą rzadkością i zazwyczaj jest sprzedawany przez pasieki ekologiczne. Idealny na chleb lub bułkę, ale także doskonale pasuje do świeżego sera (np. ricotty) lub jako dodatek do wypieków. Bogaty w przeciwutleniacze, które wzmacniają układ odpornościowy.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
jo8gqerbop2new7qo203ibdrd8bnq7u
546648
546647
2026-06-14T06:19:04Z
EdytaT
2664
546648
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód jeżynowy}}
[[Grafika:Honey bee on blackberry flowers, Bedfordshire (4805377944).jpg|thumb|right|Jeżyny]]
== Miód jeżynowy ==
=== Pochodzenie ===
Miód jeżynowy to rzadki, aromatyczny specjał, który pszczoły zbierają z nektaru kwiatów jeżyny.
=== Właściwości ===
Wyróżnia się jasnym, złocistym lub czerwono-brązowym kolorem. Jest delikatnie słodki, z lekko kwaskowatym posmakiem. Ma konsystencję od płynnej do kremowo-delikatnej. Ponieważ jeżyny kwitną przy wilgotnej i ciepłej pogodzie, miód ten jest prawdziwą rzadkością i zazwyczaj jest sprzedawany przez pasieki ekologiczne. Idealny na chleb lub bułkę, ale także doskonale pasuje do świeżego sera (np. twarogu, ricotty) lub jako dodatek do wypieków. Bogaty w przeciwutleniacze, które wzmacniają układ odpornościowy.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
4ofjoz3n6d6pe83a2r7k9669bkya3qw
546649
546648
2026-06-14T06:21:11Z
EdytaT
2664
546649
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód jeżynowy}}
[[Grafika:Honey bee on blackberry flowers, Bedfordshire (4805377944).jpg|thumb|right|Jeżyny]]
== Miód jeżynowy ==
=== Pochodzenie ===
Miód jeżynowy to rzadki, aromatyczny specjał, który pszczoły zbierają z nektaru kwiatów jeżyny. Ponieważ jeżyny kwitną przy wilgotnej i ciepłej pogodzie, miód ten jest prawdziwą rzadkością i zazwyczaj jest sprzedawany przez pasieki ekologiczne.
=== Właściwości ===
Wyróżnia się jasnym, złocistym lub czerwono-brązowym kolorem. Jest delikatnie słodki, z lekko kwaskowatym posmakiem. Ma konsystencję od płynnej do kremowo-delikatnej. Szybko krystalizuje. Idealny na chleb lub bułkę, ale także doskonale pasuje do świeżego sera (np. twarogu, ricotty) lub jako dodatek do wypieków. Bogaty w przeciwutleniacze, które wzmacniają układ odpornościowy.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
57v8o9mx3sehyb08f37odo8g3xl3ph1
546650
546649
2026-06-14T06:21:38Z
EdytaT
2664
546650
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Miód jeżynowy}}
[[Grafika:Honey bee on blackberry flowers, Bedfordshire (4805377944).jpg|thumb|right|Jeżyny]]
== Miód jeżynowy ==
=== Pochodzenie ===
Miód jeżynowy to rzadki, aromatyczny specjał, który pszczoły zbierają z nektaru kwiatów jeżyny. Ponieważ jeżyny kwitną przy wilgotnej i ciepłej pogodzie, miód ten jest prawdziwą rzadkością i zazwyczaj jest sprzedawany przez pasieki ekologiczne.
=== Właściwości ===
Wyróżnia się jasnym, złocistym lub bursztynowym kolorem. Jest delikatnie słodki, z lekko kwaskowatym posmakiem. Ma konsystencję od płynnej do kremowo-delikatnej. Szybko krystalizuje. Idealny na chleb lub bułkę, ale także doskonale pasuje do świeżego sera (np. twarogu, ricotty) lub jako dodatek do wypieków. Bogaty w przeciwutleniacze, które wzmacniają układ odpornościowy.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
g2u1cdlh9c5kyxjihkuvp4bfbc6nz8w