Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.47.0-wmf.4 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 Pomoc:Spis treści 12 89 544899 542119 2026-06-01T18:46:46Z Persino 2851 /* Wizualne opisy szablonów */ 544899 wikitext text/x-wiki <noinclude><!-- -->{{UnikatowaStronaStart | nagłówek = {{Rozdział|Pomoc Wikibooks}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Rozdział|Koniec}} }}</noinclude> == Pomoc Wikibooks == '''{{lr|Czym jest Wikibooks|Wikibooks}}''' jest zbiorem darmowych książek pisanych przez internautów. Poniższe strony pomocy zawierają porady i informacje o naszym projekcie. Projekt ten – będący siostrzanym projektem Wikipedii – powstał 10 lipca 2003 r. Polska wersja została uruchomiona '''24 stycznia 2004 roku''' i w tej chwili posiada już {{Forma wyrazu podręcznik po liczbie|'''{{LICZBAPODRĘCZNIKÓW}}'''}}, a w nich {{Forma wyrazu artykuł po liczbie|'''{{NUMBEROFARTICLES}}'''}}. == Wstęp == {{Osobny artykuł|Pomoc:Spis treści/Wstęp|obserwowane=Wstęp}} Posiada wiadomości, jakimi musi się posługiwać {{Np|User|link=tak}}, by zacząć pisać na projekcie. Zawiera wstępne informacje na temat edycji stron w przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}. Jakimi licencjami opatrzyć pisane książki (podręczniki wielomodułowe) i broszury (podręczniki jednomodułowe), aby one były na polskim {{NAZWASERWISU|po=ie|link=tak|wikipedia=tak}} podręcznikami, a nie artykułami encyklopedycznymi. Zawiera podstawowe odzywki wikipedystów, wikietykietę oraz zasady i wskazówki, tzn. jak zachowywać się na tym projekcie. Posiada szybką pomoc o projekcie. Informuje dlaczego nie wybierać tego serwisu, gdy nie chcemy czegoś podręcznikowego ogłaszać na wolnych licencjach. Przedstawia nowym użytkownikom dla przyszłych twórców podręczników w serwisie, co powinni wiedzieć, aby zacząć tam pisać podręczniki. Przedstawia, dlaczego używać książek o licencjach wolnych, jakie są tego zalety. Mówi, kiedy nie pisać na {{NAZWASERWISU|link=tak}}. Na końcu posiada Informacje prawne na temat używania woluminów i licencji (praw autorskich), na nim stworzonych. == Edycja == {{Osobny artykuł|Pomoc:Spis treści/Edycja|obserwowane=Edycja}} Posiada w informacjach stronę brudnopisu informującą, gdzie można nauczyć się pisać poszczególne moduły. Mówi jak przeprowadzać edycje poszczególnych artykułów w książce. Przedstawia jak przeprowadzać import stron przez administratorów projektu. Posiada informacje na temat nazewnictwa książek i w nich artykułów, czyli modułów. Informuje on o opatrzeniu książek o poziom rozwoju edycji podręcznika. Mówi jak ilustrować poszczególne artykuły pozycji książkowych i zawiera informacje na temat ilustracji plików w przestrzeni nazw {{Np|File|link=tak}}. Ma informacje na temat nauki edycji edytując {{NAZWASERWISU|po=a|link=tak}}. Informuje jak uzyskać podświetlanie składni kodów informatycznych. Jeśli są problemy ze z polskimi znakami, to jak je wpisać umiejętnie na projekcie. Pomaga tworzyć Quiz'e, tzn. testy wyboru, by nauczyć się logicznie myśleć. Dzięki tego rozdziałowi możemy się nauczyć edytować artykuły, w tym jego stronę główną. Możemy tam znaleźć stronę ze zbiorem szablonów do wykorzystania. Te dział ma elementy na temat tworzenia podręcznika, co to jest wandalizm, i jak je usuwać. Przedstawia jak zrobić podręcznik w formie do wydruku, np. jak go przeformatować na format PDF, i za pomocą jakiego narzędzia można to zrobić. Informuje jak zarządzać kolekcjami książek stworzonych przez użytkowników. == Wkład miesiąca == {{Osobny artykuł|Pomoc:Spis treści/Wkład miesiąca|obserwowane=Wkład miesiąca}} Możemy przeprowadzić konkurs, w których wybieramy najlepsze i wyróżnione książki miesiąca, tzn. powstałe w ciągu ostatniego miesiąca lub w ogólne powstałe na projekcie. Posiada regulamin, jak przeprowadzać to owo głosowanie. Przedstawia jakimi szablonami opatrzyć stronę główną podręcznika, gdy zostanie ona wyróżniona jako: '''Nowe podręczniki miesiąc''' albo '''Wyróżnione podręczniki miesiąca'''. Dana książka może być wyróżniona tylko raz. Ile należy mieć edycji, aby zacząć tam głosować, by wyróżnić takowy podręcznik. == Komunikacja == {{Osobny artykuł|Pomoc:Spis treści/Komunikacja|obserwowane=Komunikacja}} Zawiera strony, z jakich może korzystać wikipedysta, by się nauczyć pisać na projekcie. Strony dzięki, których autorzy mogą się ze sobą komunikować. Stronę główną komunikacji, tablicę ogłoszeń, stronę dla obcokrajowców i strony dyskusji stron artykułu (w których osoby mogą pisać wszystko na temat danego artykułu, czy strony). Posiada jakimi narzędziami to robić, tzn. na głównej stronie rozmowy, czy na kanale IRC. Posiada jak skontaktować się z zarządcą projektu. Posiada również stronę ogłoszeń, na którym każdy wikipedysta może zostawić ogłoszenie. Informuje, jak komunikować się pomiędzy użytkownikami. == Korzystanie z Wikibooks == {{Osobny artykuł|Pomoc:Spis treści/Korzystanie z Wikibooks|obserwowane=Korzystanie z Wikibooks}} Zawiera stronę zbioru książek w projekcie i jak go przeglądać. Propozycję tematów książek. Promocji {{NAZWASERWISU|link=tak|po=a}}. Jak wyszukiwać podręczniki losowo, powstałe ostatnio. Ma wiadomości, na temat przeglądania po liście woluminów. Posiada elementy na temat trybu ciemnego na wyświetlaczach z oszczędnością energii elektrycznej. == Historia Wikibooks == {{Osobny artykuł|Pomoc:Spis treści/Historia Wikibooks|obserwowane=Historia Wikibooks}} Zawiera informacje statystyczne o podręcznikach. Dostarcza wiadomości na temat historii powstania projektu i dalszego istnienie serwisu, o urodzinach Projektu, sprzątania {{NAZWASERWISU|link=tak|po=a}} itp., jak i o kalendarzu serwisu. == Technikalia == {{Osobny artykuł|Pomoc:Spis treści/Technikalia|obserwowane=Technikalia}} Zawiera zestaw stron technicznych na temat {{NAZWASERWISU|po=a|link=tak}}, jak w przypadku przestrzeni nazw, czy też o wizualnym edytorze, potrzebny do edycji artykułów w przestrzeni głównej, jak i o najnowszych skórkach, które może sobie włączyć użytkownik, strony księgozbiorów po książkach i istniejące portale, jako zestawy kategorii książkowych, do których zaliczamy woluminy. Opisuje kategorie jakie są na projekcie w podstawowej kategorii {{lk|Kategorie}} i jej podkategoriach. Posiada linki do najważniejszych stron specjalnych (strony w przestrzeni nazw {{Np|Special|link=tak}}), które dostarczają informacje na temat, co jest nie tak ze stronami w projekcie, i dodatkowe funkcje. Informuje jakie są strony techniczne głównej strony rozmów i innych administracyjnych stron (np. aby zgłosić problem, czy też dać zadania administratorowi, nawet interfejsu), te strony mogą być do usuwania, czy też naprawy stron, a nawet ogłasza o naruszeniach praw autorskich. Pokazuje jak edytować lewą nawigację środowiska graficznego każdej skórki. == Strona główna == {{Osobny artykuł|Pomoc:Spis treści/Strona główna|obserwowane=Strona główna}} Zawiera moduły, czyli składowe strony głównej projektu ({{lr2|Strona główna}}), jak i strony głównej dla dzieci ({{lj2|Strona główna}}). Zawiera w opisie, jakie szablony są wykorzystywane, które one wykorzystuje się do ich stworzenia, aby wszystko działało poprawnie. == Wybrane książki == {{Osobny artykuł|Pomoc:Spis treści/Wybrane książki|obserwowane=Wybrane książki}} Zawiera strony na temat: ''' Polecanych książek ''' ({{Forma wyrażenia po liczbie|{{Liczba list wybranych książek|Polecane książki}}|zestawów|zestaw|zestawy}} po trzy podręczniki), ''' Wyróżnionych książek miesiąca ''' ({{Forma wyrażenia po liczbie|{{Liczba list wybranych książek|Wyróżnienia książek miesiąca}}|zestawów|zestaw|zestawy}} po dwa podręczniki) i ''' Nowych książek miesiąca ''' ({{Forma wyrażenia po liczbie|{{Liczba list wybranych książek|Nowe podręczniki miesiąca}}|zestawów|zestaw|zestawy}} po dwa podręczniki). Posiadają też one stronę zbiorczą kolejno: {{s|Wikibooks:Polecane książki}}, {{s|Wyróżnienia książek miesiąca/Wyróżniony}} i {{s|Nowe podręczniki miesiąca/Zwycięzca}}. == Szablony == ==== Szablony na projekcie ==== {{lz|s=Specjalna:Wszystkie strony|c=from=&namespace=10|n=Wszystkie szablony na Wikibooks}} - strona specjalna wyświetlająca wszystkie szablony istniejące na polskim projekcie {{NAZWASERWISU|wikipedia=tak|link=tak}}. Tam szablony są skategoryzowane alfabetycznie względem jego nazwy, nie pełnej nazwy. Są podzielone na okna, między którymi możemy się przesuwać. ==== Wizualne opisy szablonów ==== Szablony przedstawione w postaci wizualnej, tzn. jak wyglądają po wywołaniu: {{Pozioma lista| | {{lr|Szablony}} | {{lru|Szablony/Ogólne}} | {{lru|Szablony/Informacje}} | {{lru|Szablony/PrzypisStrona}} | {{lru|Szablony/Podręcznikowe}} | {{lru|Szablony/Książkowe}} | {{lru|Szablony/Tekst}} | {{lru|Szablony/Zawartość}} | {{lru|Szablony/Nagłówki}} | {{lru|Szablony/Przekierowania}} | {{lru|Szablony/Języki}} | {{lru|Szablony/Liczby}} | {{lru|Szablony/Kategorie}} | {{lru|Szablony/Opisy}} | {{lru|Szablony/Znaczniki}} | {{lru|Szablony/Szablony opływania}} | {{lru|Szablony/Stronicowe}} | {{lru|Szablony/Kontenerowe}} | {{lru|Szablony/Elastyczne}} | {{lr|Szablony/Infoboksy/Prolog|Infoboksy - Prolog}} | {{lr|Szablony/Infoboksy/Tom I|Infoboksy - Tom I}} | {{lr|Szablony/Infoboksy/Tom II|Infoboksy - Tom II}} | {{lr|Szablony/Infoboksy/Tom III|Infoboksy - Tom III}} | {{lr|Szablony/Infoboksy/Tom IV|Infoboksy - Tom IV}} | {{lr|Szablony/Infoboksy/Tom V|Infoboksy - Tom V}} | {{lr|Szablony/Infoboksy/Tom VI|Infoboksy - Tom VI}} | {{lr|Szablony/Infoboksy/Komponenty|Infoboksy - Komponenty}} | {{lr|Szablony/Infoboksy/Komponenty (organizmy żywe)|Infoboksy - Komponenty (organizmy żywe)}} | {{lru|Szablony/Porządkowe}} | {{lru|Szablony/Źródła artykułów}} | {{lru|Szablony/Linki}} | {{lru|Szablony/Linki inteligentne}} | {{lru|Szablony/Do usunięcia}} | {{lru|Szablony/Nawigacja}} | {{lru|Szablony/Media}} | {{lru|Szablony/Grafika}} | {{lru|Szablony/Licencjonowanie}} | {{lru|Szablony/Techniczne}} | {{lru|Szablony/Wikipedysta}} | {{lru|Szablony/Dyskusja Wikipedysty}} | {{lru|Szablony/MediaWiki}} | {{lru|Szablony/Systemowe}} }} ==== Opisowe zestawy szablonów ==== Szablony podzielone na zestawy względem postępujących jego fragmentów od podstawowych do zaawansowanych: {{Pozioma lista | {{lp|Spis treści/Szablony/Tom I|Szablony - Tom I}} | {{lp|Spis treści/Szablony/Tom II|Szablony - Tom II}} | {{lp|Spis treści/Szablony/Tom III|Szablony - Tom III}} | {{lp|Spis treści/Szablony/Tom IV|Szablony - Tom IV}} }} ==== Ogólny opis szablonów ==== Zawiera informacje na temat szablonów w projekcie, opisuje je, jak działają, do czego one służą. Ma do nich w sobie linki do stron szablonów w przestrzeni nazw {{Np|Template|link=tak}}. W kolejnych częściach opisowach są opisane coraz bardziej skomplikowane szablony, jakie są na polskim {{NAZWASERWISU|link=tak|po=ie}}, a w wersji wizualnej są za to podzielone je na kategorie. == Administracja == {{Osobny artykuł|Pomoc:Spis treści/Administracja|obserwowane=Administracja}} Zawiera strony informujące do czego służą poszczególne uprawnienia projektu. Jak komunikować się z użytkownikami administracji serwisu, aby pomogli w zrobieniu ściśle określonego celu, ale ze spełnionymi pewnymi zasadami, i jak dać zadanie administratorowi bota do zrobienia pewnych operacji. Mówi jak uzyskać uprawnienia administracyjne przez danego użytkownika. Informuje, jak komunikować się użytkownikami administracji całego projektu {{lpg|MediaWiki}}. Propaguje, jak zmienić swoją nazwę użytkownika na projekcie. {{BrClear}} <noinclude> {{UnikatowaStronaKoniec}} {{Kategorie | 1 = Pomoc - Strony pomocy | sortuj spacją 1 = tak | 2 = Pomoc - Spis treści | sortuj spacją 2 = tak }} </noinclude> h79vplj6vw6kbbj3kzacxoi2v66huqz Wikibooks:Szablony 4 1449 544901 542121 2026-06-01T18:48:44Z Persino 2851 544901 wikitext text/x-wiki <noinclude>{{Skrót|'''[[WB:S]]'''}}__NOTOC__<!-- -->{{StandardowaStronaStart | nagłówek = {{Rozdział|Pomoc Wikibooks|Mechanizm MediaWiki - Szablony}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Rozdział|Koniec}} }}</noinclude> Strona ta zawiera spis używanych na Wikibooks '''szablonów''' wraz ze sposobem ich użycia. Szablony to specjalne strony, które mogą być wielokrotnie wstawiane do innych. Wstawienie szablonu odbywa się przez umieszczenie w tekście jego nazwy w podwójnych nawiasach klamrowych: {{Tt|{{s|ek}}}}. Warto zapoznać się również z zasadami tworzenia szablonów na Wikipedii: {{lpr2|Szablony}} i {{lpp2|Tworzenie szablonów}}. Zanim zaczniesz samemu układać szablony, spróbuj modyfikować w swoim podręczniku te już istniejące. Zdobędziesz dzięki temu potrzebne doświadczenie i nauczysz się lepiej wiki-kodu. {{Spis treści zwinięty|none}} == Szablony do wstawiania w artykułach (opis wizualny) == {{Kolumny|2| {{SpisTreści|Ogólne|bez przypisów=tak}} {{SpisTreści|Informacje}} {{SpisTreści|PrzypisStrona}} {{SpisTreści|Podręcznikowe}} {{SpisTreści|Książkowe}} {{SpisTreści|Tekst|bez przypisów=tak}} {{SpisTreści|Zawartość}} {{SpisTreści|Nagłówki}} {{SpisTreści|Przekierowania}} {{SpisTreści|Języki}} {{SpisTreści|Liczby}} {{SpisTreści|Kategorie}} {{SpisTreści|Opisy}} {{SpisTreści|Znaczniki}} {{SpisTreści|Szablony opływania}} {{SpisTreści|Stronicowe}} {{SpisTreści|Kontenerowe}} {{SpisTreści|Elastyczne}} {{SpisTreści|Infoboksy/Prolog|3=Infoboksy - Prolog}} {{SpisTreści|Infoboksy/Tom I|3=Infoboksy - Tom I}} {{SpisTreści|Infoboksy/Tom II|3=Infoboksy - Tom II|bez przypisów=tak}} {{SpisTreści|Infoboksy/Tom III|3=Infoboksy - Tom III}} {{SpisTreści|Infoboksy/Tom IV|3=Infoboksy - Tom IV}} {{SpisTreści|Infoboksy/Tom V|3=Infoboksy - Tom V}} {{SpisTreści|Infoboksy/Tom VI|3=Infoboksy - Tom VI}} {{SpisTreści|Infoboksy/Komponenty|3=Infoboksy - Komponenty|bez przypisów=tak}} {{SpisTreści|Infoboksy/Komponenty (organizmy żywe)|3=Infoboksy - Komponenty (organizmy żywe)}} {{SpisTreści|Porządkowe}} {{SpisTreści|Źródła artykułów}} {{SpisTreści|Linki}} {{SpisTreści|Linki inteligentne}} {{SpisTreści|Do usunięcia}} {{SpisTreści|Nawigacja}} {{SpisTreści|Media}} {{SpisTreści|Grafika}} {{SpisTreści|Licencjonowanie}} {{SpisTreści|Techniczne}} {{SpisTreści|Wikipedysta}} {{SpisTreści|Dyskusja Wikipedysty}} {{SpisTreści|MediaWiki}} {{SpisTreści|Systemowe}} }} == Szablony do wstawiania w artykułach (opis tekstowy) == {{Kolumny|2| {{SpisTreści|Szablony/Tom I|{{ns:Help}}:Spis treści|Szablony - Tom I}} {{SpisTreści|Szablony/Tom II|{{ns:Help}}:Spis treści|Szablony - Tom II}} {{SpisTreści|Szablony/Tom III|{{ns:Help}}:Spis treści|Szablony - Tom III}} {{SpisTreści|Szablony/Tom IV|{{ns:Help}}:Spis treści|Szablony - Tom IV}} }} == Tworzenie szablonów == Szablony tworzyć może każdy - wbrew pozorom nie jest to zbyt trudne. Najlepiej popatrz, jak zbudowane i stosowane są inne szablony i wzoruj się na nich. Pamiętaj o [[Wikibooks:Nazewnictwo artykułów#Szablony|Regułach nazewnictwa dla szablonów]]. == Zobacz też == * [[w:Wikipedia:Szablon|Wikipedia:Szablony]] * [{{fullurl:Specjalna:Allpages|from=&namespace=10}} Automatyczna lista wszystkich szablonów] * [[meta:Help:Magic words|Magic words]] - różne specjalne kody {{BrClear}} <noinclude><!-- -->{{StandardowaStronaKoniec}}<!-- -->{{Kategorie | Wizualne opisy techniczne szablonów | sortuj spacją 1 = tak | Pomoc - Problemy wywołań mechanizmu MediaWiki }}</noinclude> euam6j86tlj9ma4ztke426481fc2n48 Wikibooks:Szablony/Ogólne 4 2990 544894 533958 2026-06-01T18:29:32Z Persino 2851 /* Wersje do druku */ 544894 wikitext text/x-wiki <noinclude>{{Autonawigacja|Pomoc:Spis treści}}</noinclude> == Szablony przypisów bibliograficznych i rzeczowych oraz referencji == Obecnie MediaWiki umożliwia tworzenie przypisów za pomocą specjalnej składni. Jest to objaśnione na stronie {{lpr2|Przypisy}}. Na Wikibooks przykładem użycia przypisów jest np. artykuł {{lg|Ruby/Moduły}}. {{EfektKodów|kod-rozmiar=50% | 1 = {{Pre start}} To jest tekst z uwagą{{s|u|uwaga 1}}. A to jest drugi tekst z inną uwagą{{s|u|uwaga 1}}{{s|u|uwaga 2}} do siebie zawierającą{{s|u|uwaga 2}} przypis{{s|r|Ala|Ola}}. {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Uwagi}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Uwagi| |uwaga 1{{=}}To jest uwaga z przypisem{{s|r|P1}} |uwaga 2{{=}}To jest inna{{s|r|P1}} uwaga{{s|u|uwaga 1}} z innym przypisem{{s|r|P2}} i uwagą{{s|u|uwaga 2}} do siebie }} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Przypisy| |P1{{=}}To jest przypis do uwagi |P2{{=}}To jest inny przypis do innej uwagi |Ala{{=}}Ala |Ola{{=}}Ola }}{{Pre koniec}} | _1 = To jest tekst z uwagą{{u|uwaga 1}}. A to jest drugi tekst z inną uwagą{{u|uwaga 1}}{{u|uwaga 2}} do siebie zawierającą{{u|uwaga 2}} przypis{{r|Ala|Ola}}. {{OpakujKategorieZeSortowaniem| == Uwagi == {{Uwagi| |uwaga 1=To jest uwaga z przypisem{{r|P1}} |uwaga 2=To jest inna{{r|P1}} uwaga{{u|uwaga 1}} z innym przypisem{{r|P2}} i uwagą{{u|uwaga 2}} do siebie }}}} {{OpakujKategorieZeSortowaniem| == Przypisy == {{Przypisy| |P1=To jest przypis do uwagi |P2=To jest inny przypis do innej uwagi |Ala=Ala |Ola=Ola }}}} | 2 = {{Tt|{{s|RNota}}}} (jego skrót: {{Tt|{{s|RN}}}}), dla {{Tt|{{s|UNota}}}} (jego skrót: {{Tt|{{s|UN}}}}). {{Hr}} {{Pre start}} To jest tekst z uwagą{{s|UN|To jest uwaga 1}}. A to jest drugi tekst z inną uwagą{{s|UN|To jest uwaga 2}}{{s|RN|To jest przypis 1}} do siebie zawierającą{{s|UN|To jest uwaga 3}} przypis{{s|RN|To jest przypis 2}}. {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Uwagi}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Uwagi}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Przypisy}}{{Pre koniec}} | _2 = To jest tekst z uwagą{{UN|To jest uwaga 1}}. A to jest drugi tekst z inną uwagą{{UN|To jest uwaga 2}}{{RN|To jest przypis 1}} do siebie zawierającą{{UN|To jest uwaga 3}} przypis{{RN|To jest przypis 2}}. {{OpakujKategorieZeSortowaniem| == Uwagi == {{Uwagi}}}} {{OpakujKategorieZeSortowaniem| == Przypisy == {{Przypisy}}}} | 3 = {{Pre start}} To jest jakiś przykładowy tekst nie należy na niego zwracać uwagę{{s|r|Nazwa przypisu}}, chyba że akurat gdzieś pojawi się coś przypisowatego{{s|r|Wydawca: Jakiś tytuł}}. {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Przypisy-lista| {{s|Ref|Nazwa przypisu|W przypisie może być cokolwiek}} {{s|Ref|Wydawca: Jakiś tytuł|Franciszka Tłumacząca, ''Przypisy często zawierają odniesienia do literatury lub źródeł internetowych''}} }} {{Pre koniec}} | _3 = To jest jakiś przykładowy tekst nie należy na niego zwracać uwagę{{r|Nazwa przypisu}}, chyba że akurat gdzieś pojawi się coś przypisowatego{{r|Wydawca: Jakiś tytuł}}. {{OpakujKategorieZeSortowaniem| == Przypisy == {{Przypisy-lista| {{Ref|Nazwa przypisu|W przypisie może być cokolwiek}} {{Ref|Wydawca: Jakiś tytuł|Franciszka Tłumacząca, ''Przypisy często zawierają odniesienia do literatury lub źródeł internetowych''}} }} }} | 4 = {{Pre start}} Oto jest tekst przed referencją, by zademonstrować działanie tego szablonu.{{s|Ref|ref{{=}}{{s|Przypiswiki|Oto jest tekst referencji jeden, by zademonstrować działanie tego szablonu z użyciem szablonu {{s|Ref}}.}}}} Oto jest tekst po referencji, by zademonstrować działanie tego szablonu.{{s|Ref|ref{{=}}{{s|Przypiswiki|Oto jest tekst referencji dwa, by zademonstrować działanie tego szablonu z użyciem szablonu {{s|Ref}}.}}}} Oto dalszy tekst, by zademonstrować działanie tego szablonu. {{Span|<nowiki>==</nowiki>|styl=color:green}} {{Strong|Przypisy}} {{Span|<nowiki>==</nowiki>|styl=color:green}} {{s|Przypisy}} {{Pre koniec}} | _4 = Oto jest tekst przed referencją, by zademonstrować działanie tego szablonu.{{Ref|ref={{Przypiswiki|Oto jest tekst referencji jeden, by zademonstrować działanie tego szablonu z użyciem szablonu {{s|Ref}}.}}}} Oto jest tekst po referencji, by zademonstrować działanie tego szablonu.{{Ref|ref={{Przypiswiki|Oto jest tekst referencji dwa, by zademonstrować działanie tego szablonu z użyciem szablonu {{s|Ref}}.}}}} Oto dalszy tekst, by zademonstrować działanie tego szablonu. {{OpakujKategorieZeSortowaniem| ==Przypisy== {{Przypisy}} }} | 5 = {{Pre| Oto jest tekst{{s|r|nazwa referencji 1}}{{s|r|nazwa referencji 2}}{{s|u|nazwa referencji 3}}{{s|u|nazwa referencji 4}}{{s|u|nazwa referencji 5}}. {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Przypisy| {{s|Ref|nazwa referencji 1|Treść referencji 1}} {{s|Ref|nazwa referencji 2|Treść referencji 2}} }} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Uwagi}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Uwagi| {{s|Ref|nazwa referencji 3|Treść referencji 3}} {{s|Ref|nazwa referencji 4|Treść referencji 4}} {{s|Ref|nazwa referencji 5|Treść referencji 5}} }}}} | _5 = Oto jest tekst{{r|nazwa referencji 1}}{{r|nazwa referencji 2}}{{u|nazwa referencji 3}}{{u|nazwa referencji 4}}{{u|nazwa referencji 5}}. {{OpakujKategorieZeSortowaniem| == Przypisy == {{Przypisy| {{Ref|nazwa referencji 1|Treść referencji 1}} {{Ref|nazwa referencji 2|Treść referencji 2}} }}}} {{OpakujKategorieZeSortowaniem| == Uwagi == {{Uwagi| {{Ref|nazwa referencji 3|Treść referencji 3}} {{Ref|nazwa referencji 4|Treść referencji 4}} {{Ref|nazwa referencji 5|Treść referencji 5}} }}}} | 6 = {{Pre start}} Ala ma kota{{s|odn|Kowalski|2007}}. Pchnąć w tę łódź jeża{{s|odn|Kowalski|2007|s{{=}}42}}{{s|odn|Malinowski|Nowak|2005|s{{=}}138}} lub ośm skrzyń fig{{s|odn|Malinowski|Nowak|Kowalski|Smith|1998|s{{=}}138}}. Zażółć gęślą jaźń{{s|odn|Kowalski|2007|s{{=}}58, 97}}{{s|odn|Wikipedyści|2012}}. Sen to zdrowie{{s|odn|Malinowski|Nowak|2005|loc{{=}}Rozdział 13. Porady medyczne}}{{s|odn|Iksiński|2012|s{{=}}12}}. {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Przypisy}} {{Pre koniec}} | _6 = Ala ma kota{{odn|Kowalski|2007}}. Pchnąć w tę łódź jeża{{odn|Kowalski|2007|s=42}}{{odn|Malinowski|Nowak|2005|s=138}} lub ośm skrzyń fig{{odn|Malinowski|Nowak|Kowalski|Smith|1998|=138}}. Zażółć gęślą jaźń{{odn|Kowalski|2007|s=58, 97}}{{odn|Wikipedyści|2012}}. Sen to zdrowie{{odn|Malinowski|Nowak|2005|loc=Rozdział 13. Porady medyczne}}{{odn|Iksiński|2012|s=12}}. {{OpakujKategorieZeSortowaniem| == Przypisy == {{Przypisy}} }} | 7 = {{Pre start}} Tekst artykułu{{s|r|P}}, w którym umieszczamy uwagę{{s|refn|grupa{{=}}uwaga|Tekst uwagi{{Mniejszy}}ref name{{=}}"P"{{Większy}}Przypis wewnątrz uwagi.{{Mniejszy}}/ref{{Większy}}.}} z przypisem wewnątrz niej. {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Uwagi}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Uwagi}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Przypisy}} {{Pre koniec}} | _7 = Tekst artykułu{{r|P}}, w którym umieszczamy uwagę{{refn|grupa=uwaga|Tekst uwagi<ref name="P">Przypis wewnątrz uwagi.</ref>.}} z przypisem wewnątrz niej. {{OpakujKategorieZeSortowaniem| == Uwagi == {{Uwagi}} }} {{OpakujKategorieZeSortowaniem| == Przypisy == {{Przypisy}} }} | 8 = {{Pre start}} Ana w świecie początku epoki turystyki masowej{{s|Odn|Березовая Л. Г.|2014|s{{=}}463}}. {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{s|Przypisy}} {{Span|styl=color:green|<nowiki>==</nowiki>}} {{Strong|Bibliografia}} {{Span|styl=color:green|<nowiki>==</nowiki>}} <nowiki>*</nowiki> {{s|Source|Q42256584|ref{{=}}Березовая Л. Г.}} {{Pre koniec}} | _8 = Ana w świecie początku epoki turystyki masowej{{Odn|Березовая Л. Г.|2014|s=463}}. {{OpakujKategorieZeSortowaniem| == Przypisy == {{Przypisy}} }} == Bibliografia == * {{Source|Q42256584|ref=Березовая Л. Г.}} }} == Prawa autorskie (licencja) == {{EfektKodów|kod-rozmiar=50% | 1 = {{Pre| <nowiki>== Licencja ==</nowiki> {{s|Licencja | Autor {{=}} <nowiki>[[Wikipedysta:Użytkownik|Imię i nazwisko]]</nowiki> | Ukończone szkoły {{=}} Absolwent Szkoły Wyższej w Miejscowości | Email {{=}} imię(kropka)nazwisko(małpa)moja(kropka)poczta(kropka)pl }}}} | _1 = {{OpakujKategorieZeSortowaniem|1={{DivLinia}} == Licencja == {{Licencja | Autor = [[Wikipedysta:Użytkownik|Imię i nazwisko]] | Ukończone szkoły = Absolwent Szkoły Wyższej w Miejscowości | Email = imię(kropka)nazwisko(małpa)moja(kropka)poczta(kropka)pl }}}} | 2 = {{Pre| <nowiki>== Licencja ==</nowiki> {{s|Licencja | Autor {{=}} <nowiki>[[Wikipedysta:Użytkownik|Imię i nazwisko]]</nowiki> | Ukończone szkoły {{=}} Absolwent Szkoły Wyższej w Miejscowości | Email {{=}} imię(kropka)nazwisko(małpa)moja(kropka)poczta(kropka)pl | Dotyczy {{=}} Tej strony i jego podstron. | Licencjonowanie {{=}} Książka jest udzielana na licencji: GNU GPL Licence, a więc można kopiować i modyfikować dowolnie, jeżeli w treści zmodyfikowanej został wskazany autor lub autorzy wersji przed edycją. | Umowa prawna {{=}} Pomiędzy {{s|NAZWASERWISU|Wikiboosem|link{{=}}tak}}, a czytającym lub ten modyfikującym tę książkę (strona główna) i jego podartykuły. | Konsekwencje {{=}} Autor dołożył wszelkich , by informacje zawarte w podręczniku były poprawne, ale nie bierze na siebie odpowiedzialności karnej za sposób wykorzystania wiadomości zawartej w książce, a w przypadku wystąpieniu szkód lub naruszenia praw patentowych, nawet gdy {{S|NAZWASERWISU|link{{=}}tak}} lub autor książki zostanie powiadomiony, czytający nie może ubiegać się o odszkodowanie, a więc nie może być udzielona żadna rękojmia, czy też gwarancja. }} }} | _2 = {{OpakujKategorieZeSortowaniem|{{DivLinia}} == Licencja == {{Licencja | Autor = [[Wikipedysta:Użytkownik|Imię i nazwisko]] | Ukończone szkoły = Absolwent Szkoły Wyższej w Miejscowości | Email = imię(kropka)nazwisko(małpa)moja(kropka)poczta(kropka)pl | Dotyczy = Tej strony i jego podstron. | Licencjonowanie = Książka jest udzielana na licencji: GNU GPL Licence, a więc można kopiować i modyfikować dowolnie, jeżeli w treści zmodyfikowanej został wskazany autor lub autorzy wersji przed edycją. | Umowa prawna = Pomiędzy {{NAZWASERWISU|Wikiboosem|link=tak}}, a czytającym lub ten modyfikującym tę książkę (strona główna) i jego podartykuły. | Konsekwencje = Autor dołożył wszelkich starań, by informacje zawarte w podręczniku były poprawne, ale nie bierze na siebie odpowiedzialności karnej za sposób wykorzystania wiadomości zawartej w książce, a w przypadku wystąpieniu szkód lub naruszenia praw patentowych, nawet gdy {{NAZWASERWISU|link=tak}} lub autor książki zostanie powiadomiony, czytający nie może ubiegać się o odszkodowanie, a więc nie może być udzielona żadna rękojmia, czy też gwarancja. }}}} }} == Szablony cytowań tematycznych == {{EfektKodów|kod-rozmiar=50% | 1 = {{Tt|{{s|Cytuj grę komputerową | tytuł {{=}} <nowiki>[[w:Mass Effect: Andromeda|Mass Effect: Andromeda]]</nowiki> | producent {{=}} <nowiki>[[BioWare]]</nowiki>|miejsce{{=}}<nowiki>[[w:Warszawa|Warszawa]]</nowiki> | wydawca {{=}} <nowiki>[[w:Electronic Arts|Electronic Arts Polska]]</nowiki> | data {{=}} 23.03.2017 | platforma {{=}} <nowiki>[[w:PlayStation 4|PlayStation 4]]</nowiki> | dokument {{=}} Leksykon: Kettowie – Archont | język {{=}} pl | cytat {{=}} Osobnik zwany archontem jest dowódcą sił kettów w gromadzie Helejosa. Choć jest rzadko widywany, według doniesień jego wizytom w obiektach należących do kettów towarzyszą pokazy szacunku połączonego ze strachem, egzekucje dysydentów i prezentacje cennej technologii Porzuconych.}}}} | _1 = {{Cytuj grę komputerową | tytuł = [[w:Mass Effect: Andromeda|Mass Effect: Andromeda]] | producent = [[w:BioWare|BioWare]]| miejsce = [[w:Warszawa|Warszawa]] | wydawca = [[w:Electronic Arts|Electronic Arts Polska]] | data = 23.03.2017 | platforma = [[w:PlayStation 4|PlayStation 4]] | dokument = Leksykon: Kettowie – Archont|język=pl|cytat=Osobnik zwany archontem jest dowódcą sił kettów w gromadzie Helejosa. Choć jest rzadko widywany, według doniesień jego wizytom w obiektach należących do kettów towarzyszą pokazy szacunku połączonego ze strachem, egzekucje dysydentów i prezentacje cennej technologii Porzuconych.}} | 2 = {{Tt|{{s|Cytuj książkę |autor {{=}} Anil Kumar Maini | tytuł {{=}} Digital Electronics: Principles, Devices and Applications | url {{=}} <nowiki>https://books.google.com/?id=NQSpNAEACAAJ&pg=PA28</nowiki> | rok {{=}} 2007 | wydawca {{=}} John Wiley and Sons | isbn {{=}} 978-0-470-03214-5 | strony {{=}} 28 | cytat {{=}} In addition, it defines codes for 33 nonprinting, mostly obsolete control characters that affect how the text is processed. | język {{=}} en }}}} | _2 = {{Cytuj książkę | autor = Anil Kumar Maini | tytuł = Digital Electronics: Principles, Devices and Applications | url = https://books.google.com/?id=NQSpNAEACAAJ&pg=PA28 | rok = 2007 | wydawca = John Wiley and Sons | isbn = 978-0-470-03214-5 | strony = 28 | cytat = In addition, it defines codes for 33 nonprinting, mostly obsolete control characters that affect how the text is processed. | język = en }} | 3 = {{Tt|{{s|Cytuj odcinek | tytuł {{=}} BBC-TV Presents: The 2008 World Snooker Championship Live at The Crucible | odcinek link {{=}} w:BBC Snooker World Championship coverage (2008) | serial {{=}} Wide World of Snooker | serial link {{=}} w:Wide World of Snooker (program telewizyjny) | autorzy {{=}} Prezenterzy: <nowiki>[[w:Dennis Taylor|Dennis Taylor]] </nowiki> and <nowiki>[[w:Clive Everton|Clive Everton]]</nowiki> | stacja {{=}} <nowiki>[[w:British Broadcasting Corporation|BBC]]</nowiki> | stacja2 {{=}} <nowiki>[[w:BBC Two|BBC Two]]</nowiki> | miasto {{=}} <nowiki>[[w:Sheffield|Sheffield]]</nowiki>, <nowiki>[[w:Anglia|Anglia]]</nowiki> | emisja {{=}} 27 kwietnia 2004 | minuta {{=}} 2:34 | transkrypcja url {{=}} <nowiki>http://bbc.com/transkrypcjaaudycji.html</nowiki> | data dostępu {{=}} 23 czerwca 2008 }}}} | _3 = {{Cytuj odcinek | tytuł = BBC-TV Presents: The 2008 World Snooker Championship Live at The Crucible | odcinek link = w:BBC Snooker World Championship coverage (2008) | serial = Wide World of Snooker | serial link = w:Wide World of Snooker (program telewizyjny) | autorzy = Prezenterzy: [[w:Dennis Taylor|Dennis Taylor]] and [[w:Clive Everton|Clive Everton]] | stacja = [[w:British Broadcasting Corporation|BBC]] | stacja2 = [[w:BBC Two|BBC Two]] | miasto = [[w:Sheffield|Sheffield]], [[w:Anglia|Anglia]] |emisja = 27 kwietnia 2004 | minuta = 2:34 | transkrypcja url = http://bbc.com/transkrypcjaaudycji.html | data dostępu = 23 czerwca 2008 }} | 4 = {{Tt|{{s|Cytuj pismo | tytuł {{=}} Binary Computer Codes and ASCII | autor {{=}} Ed Bukstein | czasopismo {{=}} Electronics World | rok {{=}} 1964 | miesiąc {{=}} 07 | wolumin {{=}} 72 | wydawca {{=}} Poptronix Inc. | strony {{=}} 28–29 | język {{=}} en | url {{=}} <nowiki>http://www.swtpc.com/mholley/ElectronicsWorld/Jul1964/EW_Jul1964.htm</nowiki>| data dostępu {{=}} 2016-05-22 }}}} | _4 = {{Cytuj pismo | tytuł = Binary Computer Codes and ASCII | autor = Ed Bukstein | czasopismo = Electronics World | rok = 1964 | miesiąc = 07 | wolumin = 72 | wydawca = Poptronix Inc. | strony = 28–29 | język = en | url = http://www.swtpc.com/mholley/ElectronicsWorld/Jul1964/EW_Jul1964.htm | data dostępu = 2016-05-22 }} | 5 = {{Tt|{{s|Cytuj stronę | url {{=}} <nowiki>http://sjp.pwn.pl/poradnia/haslo/b-alternatywa-b;2079.html</nowiki> | tytuł {{=}} alternatywa | autor {{=}} [[w:Mirosław Bańko|Mirosław Bańko]] | praca {{=}} Poradnia językowa | opublikowany {{=}} PWN | data {{=}} 2002 | data dostępu {{=}} 2016-10-14 | odn {{=}} {{s|odn/id|Bańko|2002}} }}}} | _5 = {{Cytuj stronę | url = http://sjp.pwn.pl/poradnia/haslo/b-alternatywa-b;2079.html | tytuł = alternatywa | autor = [[w:Mirosław Bańko|Mirosław Bańko]] | praca = Poradnia językowa | opublikowany = PWN | data = 2002 | data dostępu = 2016-10-14 | odn = {{odn/id|Bańko|2002}} }} | 6 = {{Tt|{{s|Cytuj | autor {{=}} Benoit Viollet, Fabrizio Andreelli, Sebastian B. Jørgensen, Christophe Perrin, Alain Geloen, Daisy Flamez, James Mu, Claudia Lenzner, Olivier Baud, Myriam Bennoun, Emmanuel Gomas, Gaël Nicolas, Jørgen F.P. Wojtaszewski, Axel Kahn, David Carling, Frans C. Schuit, Morris J. Birnbaum, Erik A. Richter, Rémy Burcelin, Sophie Vaulont | tytuł {{=}} The AMP-activated protein kinase α2 catalytic subunit controls whole-body insulin sensitivity | data {{=}} 2003 | czasopismo {{=}} The Journal of Clinical Investigation | doi {{=}} 10.1172/JCI16567 | wolumin {{=}} 111 | numer {{=}} 1 | pmid {{=}} 12511592 | pmc {{=}} 151837| s {{=}} 91-98 }}}} | _6 = {{Cytuj | autor = Benoit Viollet, Fabrizio Andreelli, Sebastian B. Jørgensen, Christophe Perrin, Alain Geloen, Daisy Flamez, James Mu, Claudia Lenzner, Olivier Baud, Myriam Bennoun, Emmanuel Gomas, Gaël Nicolas, Jørgen F.P. Wojtaszewski, Axel Kahn, David Carling, Frans C. Schuit, Morris J. Birnbaum, Erik A. Richter, Rémy Burcelin, Sophie Vaulont | tytuł = The AMP-activated protein kinase α2 catalytic subunit controls whole-body insulin sensitivity | data = 2003 | czasopismo = The Journal of Clinical Investigation | doi = 10.1172/JCI16567 | wolumin = 111 | numer = 1 | pmid = 12511592 | pmc = 151837 | s = 91-98 }} }} == Szablony cytatów == {{EfektKodów|kod-rozmiar=50% | 1 = {{Pre|{{s|Cytat|Wpłynąłem na suchego przestwór oceanu;{{s|Br}} Wóz nurza się w zieloność i jak łódka brodzi:{{s|Br}} Śród fali łąk szumiących, śród kwiatów powodzi,{{s|Br}} Omijam koralowe ostrowy burzanu.}}}} | _1 = {{Cytat|Wpłynąłem na suchego przestwór oceanu;{{Br}} Wóz nurza się w zieloność i jak łódka brodzi:{{Br}} Śród fali łąk szumiących, śród kwiatów powodzi,{{Br}} Omijam koralowe ostrowy burzanu.}} | 2 = {{Pre|{{s|Cytat box |cytat {{=}} Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam eget ligula eu lectus lobortis condimentum. Aliquam nonummy auctor massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla at risus. Quisque purus magna, auctor et, sagittis ac, posuere eu, lectus. Nam mattis, felis ut adipiscing. |źródło {{=}} <nowiki>[[w:Cyceron|Cyceron]]</nowiki>, ''De finibus bonorum et malorum'' |width {{=}} 40% |align {{=}} right }}}} | _2 = {{Cytat box |cytat = Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam eget ligula eu lectus lobortis condimentum. Aliquam nonummy auctor massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla at risus. Quisque purus magna, auctor et, sagittis ac, posuere eu, lectus. Nam mattis, felis ut adipiscing. |źródło = [[w:Cyceron|Cyceron]], ''De finibus bonorum et malorum'' |width = 40% |align = right }} | 3 = {{Pre|{{s|CytatD |Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam eget ligula eu lectus lobortis condimentum. Aliquam nonummy auctor massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla at risus. Quisque purus magna, auctor et, sagittis ac, posuere eu, lectus. Nam mattis, felis ut adipiscing. |<nowiki>[[w:Cyceron|Cyceron]]</nowiki>|De finibus bonorum et malorum }}}} | _3 = {{CytatD |Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam eget ligula eu lectus lobortis condimentum. Aliquam nonummy auctor massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla at risus. Quisque purus magna, auctor et, sagittis ac, posuere eu, lectus. Nam mattis, felis ut adipiscing. |[[w:Cyceron|Cyceron]]|De finibus bonorum et malorum }} | 4 = {{Pre|{{s|CytatDłuższy|Nie można się oprzeć wrażeniu, że niektóre czynniki chciałyby widzieć Ligę przede wszystkim jako instrument, zwrócony przeciw t. zw. państwom totalnym. Uderzające jest, że te same czynniki chcą jakoby stotalizować życie międzynarodowe drogą tej samej Ligi Narodów. Wydaje mi się, że ta jaskrawa sprzeczność nie wymaga dalszych komentarzy.}}}} | _4 = {{CytatDłuższy| Nie można się oprzeć wrażeniu, że niektóre czynniki chciałyby widzieć Ligę przede wszystkim jako instrument, zwrócony przeciw t. zw. państwom totalnym. Uderzające jest, że te same czynniki chcą jakoby stotalizować życie międzynarodowe drogą tej samej Ligi Narodów. Wydaje mi się, że ta jaskrawa sprzeczność nie wymaga dalszych komentarzy.}} }} == Szablony tematyczne tekstowe == {{EfektKodów|kod-rozmiar=40% | 1 = {{Tt|{{s|Chem|C|n|H|2n&nbsp;+&nbsp;2}}}} | _1 = {{Chem|C|n|H|2n&nbsp;+&nbsp;2}} | 2 = {{Tt|{{s|Chem2|H2C\dCH\sCH(CH3)2 + HCl → CH3\sCH2\sCCl(CH3)2 + CH3\sCHCl\sCH(CH3)2}}}} | _2 = {{Chem2|H2C\dCH\sCH(CH3)2 + HCl → CH3\sCH2\sCCl(CH3)2 + CH3\sCHCl\sCH(CH3)2}} }} == Szablony pudełkowe komunikatów informujących (mboksy) == {{EfektKodów|kod-rozmiar=40% | 1 = {{Tt|{{s|Ambox|typ{{=}}wiadomość|tekst{{=}}typ{{=}}{{s|Un|wiadomość}} – informacje o artykule, jak {{s|s|Aktualne}} i {{s|s|W edycji}}.}}}} | _1 = {{Ambox|typ=wiadomość|tekst=typ={{Un|wiadomość}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}.}} | 2 = {{Tt|{{s|AmboxProsty|typ{{=}}pułapka|tekst{{=}}Użycie tej wartości nie jest dozwolone!}}}} | _2 = {{AmboxProsty|typ=pułapka|tekst=Użycie tej wartości nie jest dozwolone!}} | 3 = {{Tt|{{s|Tmbox|typ{{=}}poważny|tekst{{=}}<nowiki>'''</nowiki>typ{{=}}poważny<nowiki>'''</nowiki>{{s|Br}}Poważne problemy z artykułem/szablonem, takie, jak {{s|s|ek}}. Powinien być używany do informowania o błędnym wywołaniu jakiegoś szablonu wykorzystującego tmbox.}}}} | _3 = {{Tmbox|typ=poważny|tekst='''typ=poważny'''{{Br}}Poważne problemy z artykułem/szablonem, takie, jak {{s|ek}}. Powinien być używany do informowania o błędnym wywołaniu jakiegoś szablonu wykorzystującego tmbox.}} | 4 = {{Tt|{{s|Fmbox|typ{{=}}ostrzeżenie|tekst{{=}}typ{{=}}{{s|Un|ostrzeżenie}} – Systemowe ostrzeżenie.}}}} | _4 = {{Fmbox|typ=ostrzeżenie|tekst=typ={{Un|ostrzeżenie}} – Systemowe ostrzeżenie.}} | 5 = {{Tt|{{s|Ombox|typ{{=}}integruj|tekst{{=}}<nowiki>'''</nowiki>typ{{=}}integruj<nowiki>'''</nowiki>{{s|Br}}Artykuł musi zostać zintegrowany z innym. Wykorzystywany także do informacji o tłumaczeniu, źródle i wymaganym zintegrowaniu historii edycji.}}}} | _5 = {{Ombox|typ=integruj|tekst='''typ=integruj'''{{Br}}Artykuł musi zostać zintegrowany z innym. Wykorzystywany także do informacji o tłumaczeniu, źródle i wymaganym zintegrowaniu historii edycji.}} | 6 = {{Tt|{{s|Cmbox|typ{{=}}wiadomość|tekst{{=}}{{s|Parametr|typ|{{s|Un|wiadomość}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}.}}}} | _6 = {{Cmbox|typ=wiadomość|tekst={{Parametr|typ|{{Un|wiadomość}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}.}} | 7 = {{Tt|{{s|Imbox|typ{{=}}wiadomość|tekst{{=}}{{s|Parametr|typ|{{s|Un|wiadomość}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}.}}}} | _7 = {{Imbox|typ=wiadomość|tekst={{Parametr|typ|{{Un|wiadomość}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}.}} | 8 = {{Tt|{{s|Mbox|typ{{=}}poważny|tekst{{=}}typ{{=}}{{s|Un|poważny}} – Poważne problemy, jak {{S|s|ek}} i {{s|s|NPA}}.}}}} | _8 = {{Mbox|typ=poważny|tekst=typ={{Un|poważny}} – Poważne problemy, jak {{S|ek}} i {{S|NPA}}.}} | 9 = {{Tt|{{s|Dmbox|grafika{{=}}{{s|ikona|info|25}}|tekst{{=}}Nie mylić z {{s|s|tmbox}}}}}} | _9 = {{Dmbox|grafika={{ikona|info|25}}|tekst=Nie mylić z {{s|tmbox}}}} | 10 = {{Tt|{{s|Mbox-strona|typ{{=}}notatki|tekst{{=}}Ta książka wymaga znajomości: {{s|lg|Struktury danych}}.}}}} | _10 = {{Mbox-strona|typ=notatki|tekst=Ta książka wymaga znajomości: {{lg|Struktury danych}}.}} }} == Pudełka zbierające wiele elementów w jednej ramce == {{EfektKodów|kod-rozmiar=40% | 1 = {{Pre|{{s|Ramka| {{s|Plik|plik{{=}}Water-charge-surface.png|rozmiar{{=}}100px|pozycja{{=}}lewo}} {{s|Plik|plik{{=}}Water molecule 3D.svg|rozmiar{{=}}100px|pozycja{{=}}prawo}} {{s|Plik|plik{{=}}Water molecule dimensions.png|rozmiar{{=}}200px}} | Kolejno: rozkład ładunku elektrycznego dookoła cząsteczki wody, widok 3D, wymiary i kąty w cząsteczce wody. | 250px | right }}}} | _1 = {{Ramka| {{Plik|plik=Water-charge-surface.png|rozmiar=100px|pozycja=lewo}} {{Plik|plik=Water molecule 3D.svg|rozmiar=100px|pozycja=prawo}} {{Plik|plik=Water molecule dimensions.png|rozmiar=200px}} | Kolejno: rozkład ładunku elektrycznego dookoła cząsteczki wody, widok 3D, wymiary i kąty w cząsteczce wody. | 250px | right }} }} == Inne pudełka komórkowe (tabelki) i ramkowe ({{Tag|div}}) - niesystemowe == {{EfektKodów|kod-rozmiar=40% | 1 = {{Pre|{{s|Tabela|styl{{=}}width:100%|liczba wierszy{{=}}1|liczba kolumn{{=}}1 | komórka 1_1 {{=}} {{s|Pudełko komórkowe|kolor1{{=}}#C0C0C0|kolor2{{=}}#FFFBF4|kolor3{{=}}#00FFFF|kolor4{{=}}#000080|grafika-bez-div{{=}}|styl{{=}}width: 100%|grafika{{=}}<nowiki>[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]</nowiki>|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}} }}}} |_1 = {{Tabela|styl=width:100%|liczba wierszy=1|liczba kolumn=1 | komórka 1_1 = {{Pudełko komórkowe|kolor1=#C0C0C0|kolor2=#FFFBF4|kolor3=#00FFFF|kolor4=#000080|grafika-bez-div=|styl=width: 100%|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} }} | 2 = {{Pre|{{s|Tabela|styl{{=}}width:100%|liczba wierszy{{=}}1|liczba kolumn{{=}}1 | komórka 1_1 {{=}} {{s|Pudełko komórkowe 1|grafika-bez-div{{=}}|styl{{=}}width: 100%|grafika{{=}}<nowiki>[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]</nowiki>|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}} }}}} | _2 = {{Tabela|styl=width:100%|liczba wierszy=1|liczba kolumn=1 | komórka 1_1 = {{Pudełko komórkowe 1|grafika-bez-div=|styl=width: 100%|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} }} | 3 = {{Pre|{{s|Tabela|styl{{=}}width:100%|liczba wierszy{{=}}1|liczba kolumn{{=}}1 | komórka 1_1 {{=}} {{s|Pudełko komórkowe 2|grafika-bez-div{{=}}|styl{{=}}width: 100%|grafika{{=}}<nowiki>[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]</nowiki>|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}} }}}} | _3 = {{Tabela|styl=width:100%|liczba wierszy=1|liczba kolumn=1 | komórka 1_1 = {{Pudełko komórkowe 2|grafika-bez-div=|styl=width: 100%|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} }} | 4 = {{Pre|{{s|Tabela|styl{{=}}width:100%|liczba wierszy{{=}}1|liczba kolumn{{=}}1 | komórka 1_1 {{=}} {{s|Pudełko komórkowe 3|grafika-bez-div{{=}}|styl{{=}}width: 100%|grafika{{=}}<nowiki>[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]</nowiki>|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}} }}}} | _4 = {{Tabela|styl=width:100%|liczba wierszy=1|liczba kolumn=1 | komórka 1_1 = {{Pudełko komórkowe 3|grafika-bez-div=|styl=width: 100%|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} }} | 5 = {{Pre|{{s|Tabela|styl{{=}}width:100%|liczba wierszy{{=}}1|liczba kolumn{{=}}1 | komórka 1_1 {{=}} {{s|Pudełko komórkowe 4|grafika-bez-div{{=}}|styl{{=}}width: 100%|grafika{{=}}<nowiki>[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]</nowiki>|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}} }}}} | _5 = {{Tabela|styl=width:100%|liczba wierszy=1|liczba kolumn=1 | komórka 1_1 = {{Pudełko komórkowe 4|grafika-bez-div=|styl=width: 100%|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} }} | 6 = {{Pre|{{s|Tabela|styl{{=}}width:100%|liczba wierszy{{=}}1|liczba kolumn{{=}}1 | komórka 1_1 {{=}} {{s|Pudełko komórkowe 5|grafika-bez-div{{=}}|styl{{=}}width: 100%|grafika{{=}}<nowiki>[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]</nowiki>|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}} }}}} | _6 = {{Tabela|styl=width:100%|liczba wierszy=1|liczba kolumn=1 | komórka 1_1 = {{Pudełko komórkowe 5|grafika-bez-div=|styl=width: 100%|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} }} | 7 = {{Tt|{{s|Pudełko ramkowe|kolor1{{=}}#C0C0C0|kolor2{{=}}#FFFBF4|kolor3{{=}}#00FFFF|kolor4{{=}}#000080|grafika-bez-div{{=}}|styl{{=}}width: 100%;box-sizing:border-box|grafika{{=}}{{!((}}[[:File:Nuvola apps bookcase pastel.svg]]{{!}}40px{{!}}Link{{=}}Strona Główna{{))!}}|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}}}} | _7 = {{Pudełko ramkowe|kolor1=#C0C0C0|kolor2=#FFFBF4|kolor3=#00FFFF|kolor4=#000080|grafika-bez-div=|styl=width: 100%;box-sizing:border-box;|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} | 8 = {{Tt|{{s|Pudełko ramkowe 1|grafika-bez-div{{=}}|styl{{=}}width: 100%;box-sizing:border-box|grafika{{=}}{{!((}}[[:File:Nuvola apps bookcase pastel.svg]]{{!}}40px{{!}}Link{{=}}Strona Główna{{))!}}|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}}}} | _8 = {{Pudełko ramkowe 1|grafika-bez-div=|styl=width: 100%;box-sizing:border-box|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} | 9 = {{Tt|{{s|Pudełko ramkowe 2|grafika-bez-div{{=}}|styl{{=}}width: 100%;box-sizing:border-box||grafika{{=}}{{!((}}[[:File:Nuvola apps bookcase pastel.svg]]{{!}}40px{{!}}Link{{=}}Strona Główna{{))!}}|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}}}} | _9 = {{Pudełko ramkowe 2|grafika-bez-div=|styl=width: 100%;box-sizing:border-box|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} | 10 = {{Tt|{{s|Pudełko ramkowe 3|grafika-bez-div{{=}}|styl{{=}}width: 100%;box-sizing:border-box||grafika{{=}}{{!((}}[[:File:Nuvola apps bookcase pastel.svg]]{{!}}40px{{!}}Link{{=}}Strona Główna{{))!}}|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}}}} | _10 = {{Pudełko ramkowe 3|grafika-bez-div=|styl=width: 100%;box-sizing:border-box|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} | 11 = {{Tt|{{s|Pudełko ramkowe 4|grafika-bez-div{{=}}|styl{{=}}width: 100%;box-sizing:border-box|grafika{{=}}{{!((}}[[:File:Nuvola apps bookcase pastel.svg]]{{!}}40px{{!}}Link{{=}}Strona Główna{{))!}}|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}}}} | _11 = {{Pudełko ramkowe 4|grafika-bez-div=|styl=width: 100%;box-sizing:border-box|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} | 12 = {{Tt|{{s|Pudełko ramkowe 5|grafika-bez-div{{=}}|styl{{=}}width: 100%;box-sizing:border-box|grafika{{=}}{{!((}}[[:File:Nuvola apps bookcase pastel.svg]]{{!}}40px{{!}}Link{{=}}Strona Główna{{))!}}|tytuł{{=}}Tytuł nagłówka|tekst{{=}}Tekst ramki}}}} | _12 = {{Pudełko ramkowe 5|grafika-bez-div=|styl=width: 100%;box-sizing:border-box|grafika=[[File:Nuvola apps bookcase pastel.svg|40px|Link=Strona Główna]]|tytuł=Tytuł nagłówka|tekst=Tekst ramki}} }} == Bloki komórkowe (tabelki) i ramkowe ({{Tag|div}}) == {{EfektKodów|kod-rozmiar=40% | 1 = {{Pre|{{s|Tabela|styl{{=}}width:100%|liczba wierszy{{=}}1|liczba kolumn{{=}}1 | komórka 1_1 {{=}} {{s|Blok tabelowy|temat{{=}}1|tytuł{{=}}Kolor1}} <nowiki>''</nowiki>To jest przykładowy tekst...<nowiki>''</nowiki> {{s|Blok tabelowy/Zamknij}} }}}} | _1 = {{Tabela|styl=width:100%|liczba wierszy=1|liczba kolumn=1 | komórka 1_1 = {{Blok tabelowy|temat=1|tytuł=Kolor1}} ''To jest przykładowy tekst...'' {{Blok tabelowy/Zamknij}} }} | 2 = {{Pre|{{s|Blok ramkowy|temat{{=}}1|tytuł{{=}}Kolor1|szerokość{{=}}auto|margines{{=}}0 5px}} <nowiki>''</nowiki>To jest przykładowy tekst...<nowiki>''</nowiki> {{s|Blok ramkowy/Zamknij}}}} | _2 = {{Blok ramkowy|temat=1|tytuł=Kolor1|szerokość=auto|margines=0 5px}} ''To jest przykładowy tekst...'' {{Blok ramkowy/Zamknij}} }} == Szablony sekcji (formy komórkowe i ramkowe) == {{EfektKodów|kod-rozmiar=40% | 1 = {{Pre|{{s|Tabela|liczba wierszy{{=}}0|liczba kolumn{{=}}1 | nagłówek 1 {{=}} {{s|Sekcja komórkowa | tytuł {{=}} {{s|Span|styl{{=}}color:#1443C7|Warto zajrzeć}} | grafika {{=}} HSCategory.svg | treść {{=}} {{s|Strona główna/Warto zajrzeć}} | łącze {{=}} | id {{=}} Warto }}}}}} | _1 = {{Tabela|liczba wierszy=0|liczba kolumn=1 | nagłówek 1 = {{Sekcja komórkowa | tytuł = {{Span|styl=color:#1443C7|Warto zajrzeć}} | grafika = HSCategory.svg | treść = {{Strona główna/Warto zajrzeć}} | łącze = | id = Warto }} }} | 2 = {{Pre|{{s|Sekcja ramkowa | tytuł {{=}} {{s|Span|styl{{=}}color:#1443C7|Warto zajrzeć}} | grafika {{=}} HSCategory.svg | treść {{=}} {{s|Strona główna/Warto zajrzeć}} | łącze {{=}} | id {{=}} Warto }}}} | _2 = {{Sekcja ramkowa | tytuł = {{Span|styl=color:#1443C7|Warto zajrzeć}} | grafika = HSCategory.svg | treść = {{Strona główna/Warto zajrzeć}} | łącze = | id = Warto }} }} == Ramki informujące == Przedstawia wszystkie pudełka informacyjne, do których wstawia się tekst ich zawartości. === Szablony do zastosowań ogólnych === {{EfektKodów | 1 = {{Tt|{{s|Uwaga|Tekst ostrzeżenia}}}} | _1 = {{Uwaga|Tekst ostrzeżenia}} | 2 = {{Tt|{{s|Porada|Tekst porady}}}} | _2 = {{Porada|Tekst porady}} | 3 = {{Tt|{{s|Infobox|Tekst informacji}}}} | _3 = {{Infobox|Tekst informacji}} | 4 = {{Tt|{{s|Info|Tekst informacji}}}} | _4 = {{Info|Tekst informacji}} | 5 = {{Tt|{{s|Zapamiętaj|2=Co należy zapamiętać}}}} | _5 = {{Zapamiętaj|Co należy zapamiętać}} | 6 = {{Tt|{{s|Definicja|Tekst definicji}}}} | _6 = {{Definicja|Tekst definicji}} | 7 = {{Tt|{{s|Definicja2|Tekst definicji}}}} | _7 = {{Definicja2|Tekst definicji}} | 8 = {{Tt|{{s|Definicja3|Tekst definicji}}}} | _8 = {{Definicja3|Tekst definicji}} | 9 = {{Tt|{{s|Ćwiczenie|Tekst ćwiczenia}}}} | _9 = {{Ćwiczenie|Tekst ćwiczenia}} | 10 = {{Tt|{{s|InfoRamka|Tekst ramki}}}} | _10 = {{InfoRamka|Tekst ramki}} | 11 = {{Tt|{{s|InfoReguła|Tekst reguły}}}} | _11 = {{InfoReguła|Tekst reguły}} | 12 = {{Tt|{{s|Ważne informacje|symbol{{=}}Klepsydra.svg|Nagłówek informacji|Tekst ważnej informacji}}}}| _12 = {{Ważne informacje|symbol=Klepsydra.svg|Nagłówek informacji|Tekst ważnej informacji}} | 13 = {{Tt|{{s|RightBox|Wyróżniony tekst z prawej strony{{s|Br}}Szerokość zależna od zawartości}}}} | _13 = {{RightBox|Wyróżniony tekst z prawej strony{{Br}}Szerokość zależna od zawartości}} | 14 = {{Tt|{{s|BlueBox|Wyróżniony tekst z prawej strony{{s|Br}}Szerokość zależna od zawartości}}}} | _14 = {{BlueBox|Wyróżniony tekst z prawej strony{{Br}}Szerokość zależna od zawartości}} }} Uwaga: Jeżeli w jednym z parametrów pojawi się znak równości, zastępujemy go {{lpg|Odwołania znakowe SGML|encją}} {{Tt|&amp;#64;}}, czyli: {{Tt|{{s|Porada|argument tekstowy &amp;#64; szablonu}}}}, lub zastosować go przez szablon {{s|{{=}}}}, czyli: {{Tt|{{s|Porada|argument tekstowy {{s|{{=}}}} szablonu}}}}, albo zmieniamy treść, wg wzoru: zamiast {{Tt|{{s|Porada|argument}}}} piszemy {{Tt|{{s|Porada|1{{=}}argument}}}}. === Ramki powiadające === {{EfektKodów | 1 = {{Tt|{{s|W skrócie|to bełkot}}}} | _1 = {{W skrócie|to bełkot}} | 2 = {{Tt|{{s|W skrócie|po pierwsze|po drugie|i po trzecie}}}} | _2 = {{W skrócie|po pierwsze|po drugie|i po trzecie}} }} === Szablony do zastosowań tworzenia ramek w oparciu o szablony uniwersalne === {{EfektKodów|kod-rozmiar=50% | 1 = {{Pre|{{s|Uniwersalny szablon językowy | kolor_tła {{=}} #f2fff2 | kolor_ramki {{=}} blue | flaga {{=}} Flag of Poland.svg{{!}}border | podpis_flagi {{=}} Język polski | ikonka {{=}} Nuvola apps edu languages.svg | podpis_ikonki {{=}} Dialog | nazwa_szablonu {{=}} Dialog | tytuł {{=}} Powitanie | treść {{=}} <nowiki>''Cześć''</nowiki> – Hello }}}} | _1 = {{Uniwersalny szablon językowy | kolor_tła = #f2fff2 | kolor_ramki = blue | flaga = Flag of Poland.svg{{!}}border | podpis_flagi = Język polski | ikonka = Nuvola apps edu languages.svg | podpis_ikonki = Dialog | nazwa_szablonu = Dialog | tytuł = Powitanie | treść = ''Cześć'' – Hello }} }} == Szablony do usuwania lub naprawiania albo diagnoz stron == Przedstawia szablony potrzebne do natychmiastowego usuwania stron oraz do naprawy lub ich usuwania. === Szablony do natychmiastowego usuwania stron lub do diagnozowania błędów === Szablony, które służą do usuwania stron, gdy ta strona będzie niepotrzebna lub ona narusza zasady polskiego {{NAZWASERWISU|po=a|link=tak}}. ==== Szablony do natychmiastowego usuwania artykułów ==== {{EfektKodów | 1 = {{Tt|{{s|ek|powód}}}} i jego przekierowania: {{Tt|{{s|EK|powód}}}}{{•}} {{Tt|{{s|Delete|powód}}}}{{•}} {{Tt|{{s|Screenshot|powód}}}} (do zastosowań do rysunków) | _1 = {{OpakujKategorieZeSortowaniem|{{ek|powód}}}} | 2 = {{Tt|{{s|ek2|powód}}}} | _2 = {{OpakujKategorieZeSortowaniem|{{ek2|powód}}}} | 3 = {{Tt|{{s|Admin usuń}}}} - wynik w postaci tekstowej po działaniu szablonem {{Tt|{{s|Nowiki}}}} | _3= {{Nowiki|{{Admin usuń}}}} }} ==== Diagnozowanie błędów ==== {{EfektKodów | 1 = {{Tt|{{s|#iferror:{{s|Błąd|Foo}} | {{s|Tak}} | {{s|Nie}} }}}} |_1 = {{#iferror:{{Błąd|Foo}} | {{Tak}} | {{Nie}} }} }} === Szablony potwierdzeń, oznaczające zgodę na tak lub nie, na jakieś operacje === {{EfektKodów | 1 = {{Tt|{{s|Tak}}}} | _1 = {{Tak}} | 2 = {{Tt|{{s|Nie}}}} | _2 = {{Nie}} | 3 = {{Tt|{{s|Za}}}} | _3 = {{Za}} | 4 = {{Tt|{{s|Przeciw}}}} | _4 = {{Przeciw}} | 5 = {{Tt|{{s|Usunąć}}}} | _5 = {{Usunąć}} | 6 = {{Tt|{{s|Załatwione}}}} | _6 = {{Załatwione}} | 7 = {{Tt|{{s|Zostawić}}}} | _7 = {{Zostawić}} | 8 = {{Tt|{{s|Zrobione}}}} i jego przekierowanie {{Tt|{{s|Done}}}} | _8 = {{Zrobione}}{{•}} {{Done}} | 9 = {{Tt|{{s|Niezrobione}}}} | _9 = {{Niezrobione}} | 10 = {{Tt|{{s|Niezałatwione}}}} i jego przekierowanie {{Tt|{{s|Brak}}}} | _10 = {{Niezałatwione}}{{•}} {{Brak}} }} === Szablony {{lr|Poczekalnia|poczekalni}} (do naprawiania i usuwania stron w wyniku przeprowadzonej dyskusji) === {{EfektKodów | 1 = {{Tt|{{s|SdU|artykuły}}}} i jego przekierowanie {{Tt|{{S|DoSkasowania}}}} | _1 = {{OpakujKategorieZeSortowaniem|{{SdU|artykuły|nazwa przestrzeni nazw={{Np|(main)}}|typ jednostki=artykuł}}}} | 2 = {{Tt|{{s|SdUwynik|usuwane}}}} | _2 = {{OpakujKategorieZeSortowaniem|{{SdUwynik|usuwane|nazwij jednostką=tak|nazwa przestrzeni nazw=(main)}}}} | 3 = {{Tt|{{s|1=DNU|2=artykuł|3=podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}}}} | _3 = {{OpakujKategorieZeSortowaniem|{{DNU|artykuł|podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|nazwa przestrzeni nazw=(main)|nazwij jednostką=tak}}}} | 4 = {{Tt|{{s|Kasowanie po przeniesieniu|{{Czas|d.m.Y}}}}}} i jego przekierowanie {{Tt|{{s|Kpp|{{Czas|d.m.Y}}}}}} | _4 = {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=artykuł}}}} | 5 = {{Tt|{{s|DNU|usuwane|zakończenie{{=}}2023-10-06|podstrona{{=}}Wikibooks:Poczekalnia/artykuły/2023:10:06:Strona główna podręcznika/Nazwa podstrony}}}} | _5 = {{OpakujKategorieZeSortowaniem|{{DNU|usuwane|zakończenie=2023-10-06|podstrona=Wikibooks:Poczekalnia/artykuły/2023:10:06:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik}}}} | 6 = {{Tt|{{s|DNUinfo|Fizyka wyższa|artykuł}}}} |_6 = {{DNUinfo|Fizyka wyższa|artykuł|typ jednostki=strona główna użytkownika}} | 7 = {{Tt|{{s|DNUinfo|Fizyka wyższa|2018:11:08|artykuł|tak}}}} | _7 = {{DNUinfo|Fizyka wyższa|2018:11:08|artykuł|tak|typ jednostki=strona główna użytkownika}} | 8 = {{Tt|{{s|DNU/info|Fizyka wyższa|artykuł}}}} |_8 = {{DNU/info|Fizyka wyższa|artykuł|typ jednostki=strona główna użytkownika}} | 9 = {{Tt|{{s|DNU/info|Fizyka wyższa|2018:11:08|artykuł|tak}}}} |_9 = {{DNU/info|Fizyka wyższa|2018:11:08|artykuł|tak|typ jednostki=strona główna użytkownika}} | 10 = {{Tt|{{s|LnDNU|Fizyka wyższa|rezultat{{=}}usuwane}}}} | _10 = {{OpakujKategorieZeSortowaniem|{{LnDNU|Fizyka wyższa|rezultat=usuwane|nazwa przestrzeni nazw=Project|nazwa jednostki=Poczekalnia/artykuły/2018:11:08:Fizyka wyższa}}}} | 11 = {{Tt|{{s|KSdU|strona{{=}}Aneks/Nazwy aminokwasów|nazwa{{=}}Nazwy aminokwasów}}}} | _11 = {{KSdU|strona=Aneks/Nazwy aminokwasów|nazwa=Nazwy aminokwasów}} | 12 ={{Tabela nawigacyjna|tytuł=Szablon: {{s|SDU}}, z dodanymi przykładowymi archiwami|spis={{Pre| {{s|SDU |naprawa{{=}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/naprawa/1{{!}}Archiwum 1{{))!}}}} (11 lis 2005 – 23 wrz 2006)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/naprawa/2{{!}}Archiwum 2{{))!}}}} (20 lis 2006 – 11 gru 2008)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/naprawa/3{{!}}Archiwum 3{{))!}}}} (22 sty 2009 – 31 gru 2009)}}}} |prowokacje{{=}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/prowokacje/1{{!}}Archiwum 1{{))!}}}} (12 gru 2005 – 31 sie 2006)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/prowokacje/2{{!}}Archiwum 2{{))!}}}} (1 lip 2006 – 17 lis 2008)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/prowokacje/3{{!}}Archiwum 3{{))!}}}} (19 lis 2008 – 29 gru 2009)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/prowokacje/4{{!}}Archiwum 4{{))!}}}} (1 sty 2010 – 24 mar 2011)}}}} |artykuły{{=}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/artykuły/1{{!}}Archiwum 1{{))!}}}} (30 sty 2006 – 29 sie 2006)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/artykuły/2{{!}}Archiwum 2{{))!}}}} (30 sie 2006 – 15 lis 2008)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/artykuły/3{{!}}Archiwum 3{{))!}}}} (16 lis 2008 – 29 gru 2009)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/artykuły/4{{!}}Archiwum 4{{))!}}}} (29 gru 2009 – 23 mar 2011)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/artykuły/5{{!}}Archiwum 5{{))!}}}} (30 mar 2011 – 30 gru 2011)}}}} |kwestie techniczne{{=}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/kwestie techniczne/1{{!}}Archiwum 1{{))!}}}} (19 paź 2005 – 27 sie 2006)}}}} {{s|Wiersz|{{s|Komórka|{{Nowiki|{{!((}}Wikibooks:Poczekalnia/archiwa/kwestie techniczne/2{{!}}Archiwum 2{{))!}}}} (28 sie 2006 – 14 lis 2008)}}}} }}}}}} |_12={{OpakujKategorieZeSortowaniem|{{SDU |naprawa= {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/naprawa/1|Archiwum 1]] (11 lis 2005 – 23 wrz 2006)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/naprawa/2|Archiwum 2]] (20 lis 2006 – 11 gru 2008)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/naprawa/3|Archiwum 3]] (22 sty 2009 – 31 gru 2009)}}}} |prowokacje= {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/prowokacje/1|Archiwum 1]] (12 gru 2005 – 31 sie 2006)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/prowokacje/2|Archiwum 2]] (1 lip 2006 – 17 lis 2008)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/prowokacje/3|Archiwum 3]] (19 lis 2008 – 29 gru 2009)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/prowokacje/4|Archiwum 4]] (1 sty 2010 – 24 mar 2011)}}}} |artykuły= {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/artykuły/1|Archiwum 1]] (30 sty 2006 – 29 sie 2006)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/artykuły/2|Archiwum 2]] (30 sie 2006 – 15 lis 2008)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/artykuły/3|Archiwum 3]] (16 lis 2008 – 29 gru 2009)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/artykuły/4|Archiwum 4]] (29 gru 2009 – 23 mar 2011)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/artykuły/5|Archiwum 5]] (30 mar 2011 – 30 gru 2011)}}}} |kwestie techniczne= {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/kwestie techniczne/1|Archiwum 1]] (19 paź 2005 – 27 sie 2006)}}}} {{wiersz|{{komórka|[[Wikibooks:Poczekalnia/archiwa/kwestie techniczne/2|Archiwum 2]] (28 sie 2006 – 14 lis 2008)}} }}}}}} | 13 = {{Tt|{{s|SDU/Archiwum}}}} | _13={{OpakujKategorieZeSortowaniem|{{SDU/Archiwum}}}} }} == Ikony kompletności == {{EfektKodów | 1 = {{Tt|{{S|Etapy}}}} * ''Zobacz {{lr2|Etapy rozwoju książek}}.'' | _1 = {{Etapy}} | 2 = {{Tt|{{s|Etapy-junior}}}} * ''Zobacz {{lr2|Etapy rozwoju książek}}.'' | _2 = {{Etapy-junior}} | 3 = {{Tt|{{s|Kompletność|0%|04.11.2021}}}} | _3 = {{Kompletność|0%|04.11.2021}} | 4 = {{Tt|{{s|Kompletność|25%|04.11.2021}}}} | _4 = {{Kompletność|25%|04.11.2021}} | 5 = {{Tt|{{s|Kompletność|50%|04.11.2021}}}} | _5 = {{Kompletność|50%|04.11.2021}} | 6 = {{Tt|{{s|Kompletność|75%|04.11.2021}}}} | _6 = {{Kompletność|75%|04.11.2021}} | 7 = {{Tt|{{s|Kompletność|100%|04.11.2021}}}} | _7 = {{Kompletność|100%|04.11.2021}} | 8 = {{Tt|{{s|Kompletność|2-3|04.11.2021}}}} | _8 = {{Kompletność|2-3|04.11.2021}} | 9 = {{Tt|{{s|Kompletność|030|04.11.2021}}}} | _9 = {{Kompletność|030|04.11.2021}} | 10 = {{Tt|{{s|Kompletność junior|0|04.11.2021}}}} | _10 = {{Kompletność junior|0|04.11.2021}} | 11 = {{Tt|{{s|Kompletność junior|1|04.11.2021}}}} | _11 = {{Kompletność junior|1|04.11.2021}} | 12 = {{Tt|{{s|Kompletność junior|2|04.11.2021}}}} | _12 = {{Kompletność junior|2|04.11.2021}} | 13 = {{Tt|{{s|Kompletność junior|3|04.11.2021}}}} | _13 = {{Kompletność junior|3|04.11.2021}} | 14 = {{Tt|{{s|Książka|Fale|0%|04.11.2021|książka jest źródłem wiadomości o falach.}}}} | _14 = {{Książka|Fale|0%|04.11.2021|książka jest źródłem wiadomości o falach.}} | 15 = {{Tt|{{s|Książka|Fale|25%|04.11.2021|książka jest źródłem wiadomości o falach.}}}} | _15 = {{Książka|Fale|25%|04.11.2021|książka jest źródłem wiadomości o falach.}} | 16 = {{Tt|{{s|Książka|Fale|50%|04.11.2021|książka jest źródłem wiadomości o falach.}}}} | _16 = {{Książka|Fale|50%|04.11.2021|książka jest źródłem wiadomości o falach.}} | 17 = {{Tt|{{s|Książka|Fale|75%|04.11.2021|książka jest źródłem wiadomości o falach.}}}} | _17 = {{Książka|Fale|75%|04.11.2021|książka jest źródłem wiadomości o falach.}} | 18 = {{Tt|{{s|Książka|Fale|100%|04.11.2021|książka jest źródłem wiadomości o falach.}}}} | _18 = {{Książka|Fale|100%|04.11.2021|książka jest źródłem wiadomości o falach.}} | 19 = {{Tt|{{s|Książka|Fale|2-3|04.11.2021|książka jest źródłem wiadomości o falach.}}}} | _19 = {{Książka|Fale|2-3|04.11.2021|książka jest źródłem wiadomości o falach.}} | 20 = {{Tt|{{s|Książka|Fale|030|04.11.2021|książka jest źródłem wiadomości o falach.}}}} | _20 = {{Książka|Fale|030|04.11.2021|książka jest źródłem wiadomości o falach.}} }} == Nowe i wyróżnione podręczniki podręczniki miesiąca == Przedstawia podręczniki nowe i wyróżnione podręczniki miesiąca w wyniku przeprowadzonego głosowania. === Nowe podręczniki miesiąca === {{EfektKodów | 1 = {{Tt|{{s|NPM}}}} | _1 = {{OpakujKategorieZeSortowaniem|{{NPM|nazwa przestrzeni nazw=(main)}}}} | 2 = {{Tt|{{s|Zwycięzca NPM}}}} | _2 = {{OpakujKategorieZeSortowaniem|{{Zwycięzca NPM|nazwa przestrzeni nazw=(main)}}}} | 3 = {{Tt|{{s|Zwycięzca NPM krótki}}}} |_3 = {{OpakujKategorieZeSortowaniem|{{Zwycięzca NPM krótki|nazwa przestrzeni nazw=(main)}}}} }} Stare wyróżnienia (patrz: {{lru|Nowy podręcznik miesiąca#Nowe podręczniki miesiąca w latach 2005 - 2006}} i {{lru|Nowy podręcznik miesiąca#Podręczniki uznane za "wkład miesiąca" w latach 2006 - 2007}}), a kategoria: {{lk2|Nowe podręczniki miesiąca}}, a je wszystko w postaci strony zbiorczej: {{ls2|Nowe podręczniki miesiąca/Zwycięzca}}. === Wyróżnione podręczniki miesiąca=== {{EfektKodów | 1 = {{Tt|{{s|WM|w czerwcu 2006|„''Wkład miesiąca czerwca 2006 roku''”}}}} | _1 = {{OpakujKategorieZeSortowaniem|{{WM|w czerwcu 2006|„''Wkład miesiąca czerwca 2006 roku''”|nazwa przestrzeni nazw=(main)}}}} | 2 = {{Tt|{{s|WM/Info|wrzesień|2006}}}} | _2 = {{OpakujKategorieZeSortowaniem|{{WM/Info|wrzesień|2006|nazwa przestrzeni nazw=(main)}}}} | 3 = {{Tt|{{s|WM/Info krótkie|wrzesień|2006}}}} |_3 = {{OpakujKategorieZeSortowaniem|{{WM/Info krótkie|wrzesień|2006|nazwa przestrzeni nazw=}}}} | 4 = {{Tt|{{s|WM/Zegar|start{{=}}1 marca 2007|stop{{=}}8 marca 2007}}}} |_4 = {{WM/Zegar|start=1 marca 2007|stop=8 marca 2007}} }} Kategoria wszystkich wyróżnień: {{lk2|Wyróżnienia książek miesiąca}}, a je wszystko w postaci strony zbiorczej: {{ls2|Wyróżnienia książek miesiąca/Wyróżniony}}. {{BrClear}} <noinclude>{{Kategoria|Wizualne opisy techniczne szablonów}}</noinclude> 4nmf1x8sdqfxxp35vbggw994v8o3b74 Kategoria:Strony zbiorcze podręczników przystosowane do czytania lub druku 14 3511 544847 518770 2026-06-01T16:07:21Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Podręczniki przystosowane do druku]] do [[Kategoria:Strony zbiorcze podręczników przystosowane do druku]], bez pozostawienia przekierowania pod starym tytułem 518770 wikitext text/x-wiki W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do druku. Aby umieścić tu stronę, należy wstawić szabon {{s|Drukowanie porada}}. Lista może być nieaktualna, zobacz też {{lc|Whatlinkshere/Szablon:Drukowanie porada}} Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. {{Kategoria|Kategorie podręcznikowe}} i9he78q791g5spa0xvkkd08z410p6c2 544849 544847 2026-06-01T16:11:24Z Persino 2851 544849 wikitext text/x-wiki W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do druku. Aby umieścić tu stronę, należy wstawić szabon {{s|Drukowanie porada}}. Lista może być nieaktualna, zobacz też {{lc|Whatlinkshere/Szablon:Drukowanie porada}} Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. {{Kategoria|Podręczniki z wersją do druku}} 4qeiperrajxv8jpu9rsqk4vbcpe7ia2 544860 544849 2026-06-01T16:30:05Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Strony zbiorcze podręczników przystosowane do druku]] do [[Kategoria:Strony zbiorcze podręczników przystosowane do druku lub czytania]], bez pozostawienia przekierowania pod starym tytułem 544849 wikitext text/x-wiki W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do druku. Aby umieścić tu stronę, należy wstawić szabon {{s|Drukowanie porada}}. Lista może być nieaktualna, zobacz też {{lc|Whatlinkshere/Szablon:Drukowanie porada}} Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. {{Kategoria|Podręczniki z wersją do druku}} 4qeiperrajxv8jpu9rsqk4vbcpe7ia2 544861 544860 2026-06-01T16:31:01Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Strony zbiorcze podręczników przystosowane do druku lub czytania]] do [[Kategoria:Strony zbiorcze podręczników przystosowane do czytania lub druku]] 544849 wikitext text/x-wiki W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do druku. Aby umieścić tu stronę, należy wstawić szabon {{s|Drukowanie porada}}. Lista może być nieaktualna, zobacz też {{lc|Whatlinkshere/Szablon:Drukowanie porada}} Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. {{Kategoria|Podręczniki z wersją do druku}} 4qeiperrajxv8jpu9rsqk4vbcpe7ia2 544868 544861 2026-06-01T16:40:56Z Persino 2851 544868 wikitext text/x-wiki W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do druku. Aby umieścić tu stronę, należy wstawić szabon {{s|Drukowanie porada}}. Lista może być nieaktualna, zobacz też {{lc|Whatlinkshere/Szablon:Drukowanie porada}} Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. {{Kategorie | Podręczniki z wersją do czytania | Podręczniki z wersją do druku }} 025rnx59ai9o2jliw8kcwk7d58fbapv 544871 544868 2026-06-01T16:52:22Z Persino 2851 544871 wikitext text/x-wiki W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do druku. Aby umieścić tu stronę, należy wstawić szabon {{s|Drukowanie porada}}. Lista może być nieaktualna, zobacz też {{lc2|Linkujące/Szablon:Drukowanie porada}} Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. {{Kategorie | Podręczniki z wersją do czytania | Podręczniki z wersją do druku }} l9u8hi8pqml5qmyzqqro7pcf8av2dgh 544875 544871 2026-06-01T17:10:09Z Persino 2851 544875 wikitext text/x-wiki W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do czytania lub druku. Aby umieścić tu stronę, należy wstawić szabon {{s|Drukowanie porada}}. Lista może być nieaktualna, zobacz też {{lc2|Linkujące/Szablon:Drukowanie porada}} Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. {{Kategorie | Podręczniki z wersją do czytania | Podręczniki z wersją do druku }} cdrr4n18z6uaoublw4rorbk7t5o0wdb 544876 544875 2026-06-01T17:15:06Z Persino 2851 544876 wikitext text/x-wiki {{Opis kategorii | grupuje = W kategorii tej znajdują się podręczniki, które posiadają podstronę zbierającą wszystkie rozdziały w jednym miejscu w formie gotowej do czytania lub druku. | uwagi = Strona {{lr|Podręczniki do druku}} wyjaśnia, jak tworzyć podręczniki przystosowane do druku. | liczba stron = | osobne grupują = | główne strony = | portal = | wikiprojekt = | zobacz = Lista może być nieaktualna, zobacz też {{lc2|Linkujące/Szablon:Drukowanie porada}} | szablony = | zgłaszające = Aby umieścić tu stronę, należy wstawić szablon {{s|Drukowanie porada}}. | związane = | zobacz opisy = | dokumentacje = | opis stron = | przykłady = | dalsze pozycje = | zmiany = | siostrzane = }} {{Kategorie | Podręczniki z wersją do czytania | Podręczniki z wersją do druku }} s0obfpx2pndg1gpq92uo6rr53qzj8rs Szablon:Wersja do druku 10 6275 544838 544765 2026-06-01T15:52:17Z Persino 2851 544838 wikitext text/x-wiki <templatestyles src="Szablon:Wersja do druku/styles.css" />{{Div|klasa=noprint szablon_wersji_linków_do_stron wersja_do_druku| {{Div|{{Div|{{plik|plik=Exquisite-print printer.png|rozmiar=50px|opis=Wikibooks|rys=tak}}}}}} {{Div|{{Div|Jest dostępny podręcznik w formie biblii: {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}} {{Small|({{Span|klasa=plainlinks|{{LinkURL|strona={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|parametry=action=edit|nazwa=edycja}}}})}}, w wersji do druku.}}}}}}<!---->{{#switch:{{NAMESPACE}}||Wikijunior={{Kategoria|Podręczniki z wersją do druku}}}}<!-- --><noinclude>{{Dokumentacja}}</noinclude> itypyakxsrzfh57kt7hd1yhphqzeetp Chemia organiczna/Podstawy teoretyczne chemii organicznej/Budowa atomu 0 14269 545070 220365 2026-06-02T01:01:51Z CommonsDelinker 1569 Replacing Atom.svg with [[File:Helium_atom_(not_to_scale).svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:COM:FR#FR2|Criterion 2]] (meaningless or ambiguous name) · Naming according meaning.). 545070 wikitext text/x-wiki ==Budowa atomu== Atomy składają się z '''jądra''' i '''elektronów''' które krążą wokół jądra. Jądro zbudowane jest z protonów i neutronów. Atom w stanie naturalnym, ma taką samą ilość protonów i elektronów. ===Jądro=== Jądro składa się z protonów, które są naładowane dodatnio i neutronów, które nie mają w sobie ładunku. Protony i neutrony mają praktycznie identyczną masę i ich sumaryczna masa stanowi znaczną część masy atomu. Każda z tych cząstek jest zbudowana z jeszcze mniejszych cząstek, kwarków. Stosunek protonów do neutronów jest ustalony i każde odstępstwo może prowadzić do niestabilności atomu oraz do radioaktywności. ===Elektrony=== Elektrony posiadają ładunek ujemny. Masa elektrony jest ok. 2000 razy mniejsza od masy protonu czy neutronu. Elektrony poruszają się tak szybko, że nie jesteśmy w stanie stwierdzić w którym miejscu się znajdują w konkretnej chwili, możemy jedynie mówić o prawdopodobieństwie znalezienia elektronu w otoczeniu jądra. [[Grafika:Helium atom (not to scale).svg|right|thumb|Atom helu]] Rysunek pokazuje stary model atomu opisany przez Bohra, na którym elektrony znajdują się na abstrakcyjnym "orbitalu", co przypomina planety krążące wokół słońca. Model ten jest obecnie nieaktualny. Obecnie model atomu pokazuje "orbital" jako chmurę elektronową o specyficznym kształcie, sfery, hantla, oraz innych bardziej złożonych kształtach. Pomimo, iż model Bohra został już zastąpiony, chmurę elektronową określa się jako "orbital". Liczba elektronów i ich rozmieszczenie na poszczególnych orbitalach decyduje o właściwościach chemicznych atomów i cząsteczek. ==Powłoki i orbitale== ===Orbitale elektronowe=== Elektrony obiegają jądra w chmurach elektronowych o ściśle określonym kształcie. Chmury elektronowe są składnikiem powłoki elektronowej, w których elektrony obsadzają zawsze powłokę o najniższej energii. Elektrony znajdujące się na wyższej powłoce posiadają wyższą energię, tak samo jak skała na szczycie góry posiada większą energię potencjalną niż skała na dnie doliny. Głównym powodem obsadzania przez elektrony wyższych powłok jest to, iż na każdym orbitalu mogą znajdować się jedynie dwa elektrony. Tak więc elektrony zawsze obsadzają orbitale o najniższej energii. Elektron może zostać wypchnięty na orbital o wyższej energii np. przez foton. Zazwyczaj stan taki jest nietrwały i elektron szybko wraca na orbital o niższej energii, emitując przy tym foton. Powyższe koncepcje będą pomocne przy zrozumieniu późniejszych tematów takich jak aktywność związków chiralnych i wielu innych zjawiskowych występujących w chemii organicznej. ===Natura falowa elektronu=== {{Wikipedia|Dualizm korpuskularno-falowy|dualizmu korpuskularno-falowego}} Cechą elektronów jest to iż posiadają one cechy dualistyczne, polegające na tym, że w pewnych sytuacjach, zachowują się one jakby były cząstkami (korpuskułami), a w innych sytuacjach jakby były falami. Jeśli skaczemy na skakance możemy sobie wyobrazić, że linka jest fala o określonej częstotliwości. Linia wokół której obraca się linka ze skakanki wypada w miejscu gdzie linka porusza się nieznacznie (przy uchwytach), występuje to tylko na dwóch końcach. Jeśli potrząśniemy rytmicznie linką wystarczająco szybko, używając więcej energii niż do zwykłego skakania będziesz zdolny do wytworzenia wibracji i długości fali krótszej niż podstawowa. Będziemy mogli wtedy zauważyć, że linka ma więcej niż jedno "wybrzuszenie" i wibruje ono od wyższego punktu do niższego. Dodatkowo będzie można zauważyć miejsca w których linka będzie wychylać się bardzo lekko, lub nie będzie się wychylać wcale. ===Powłoki elektronowe=== Każda powłoka składa się z jednego lub liku "orbitali", które mają różne poziomy energetyczne, aczkolwiek różnica w energii pomiędzy orbitalami jest mniejsza niż różnica energii między powłokami. Dłuższe fale maja mniejszą energię. Orbital s posiada najdłuższe fale w elektronie będzie miał najniższą energię. Każdy orbital posiada charakterystyczny kształt pokazujący główne miejsca występowania elektronów. Orbitale nazwane są literami alfabetu. Orbitale uszeregowane zgodnie z wzrastającą energią: '''s''', '''p''', '''d''' oraz '''f'''. Wraz ze wzrostem głównej liczby kwantowej ('''n''') opisującej powłokę elektronową możliwe jest tworzenie nowych orbitali. Powłoki są opisane liczbami całkowitymi, więc orbital 2s oznacza orbital s na drugiej powłoce. ===Orbital s=== '''Orbital s''' posiada najniższą energię. Kształtem orbitalu s jest sfera. Orbital może zostać obsadzony maksymalnie przez dwa elektrony. ===Orbital p=== [[Grafika:S-p-Orbitals.svg|250px|thumb|Orbitale s i p]] Kolejnym orbitalem jest '''orbital p'''. Jego kształt jest często określany jako sztangielek. Wyróżniamy trzy orbitale p zorientowane wzdłuż osi trójwymiarowego układu współrzędnych (x, y, z). Każdy z trzech orbitali może pomieścić dwa elektrony. Trzy orbitale p można zapisać jako p<sub>x</sub>, p<sub>y</sub> i p<sub>z</sub>. Orbitale '''s''' i '''p''' są bardzo ważne w zrozumieniu większości zagadnień chemii organicznej, ponieważ te orbitale występują w atomach najczęściej występujących w chemii organicznej. ===Orbitale d i f=== Istnieją także orbitale '''d''' i '''f'''. Orbital d występuje w metalach przejściowych. Siarka i fosfor posiadają puste orbitale d. Orbitale f występują u lantanowców i aktynowców. Lantanowce i aktynowce są bardzo rzadko stosowane w chemii organicznej. ==Zapełnianie powłok elektronowych== Kiedy atom lub jon przyjmuje elektrony na swoje orbitale, zapełniają się one w szczególny sposób. Są trzy główne zasady obsadzania elektronów: #'''Zakaz Pauliego''' #'''Zasada rozbudowy''' #'''Reguła Hunda''' ===Zakaz Pauliego=== {{Wikipedia|Reguła Pauliego|reguły Pauliego}} Nie ma dwóch elektronów w atomie opisanych czterema identycznymi liczbami kwantowymi. Jest to tłumaczone tym, że każdy z dwóch elektronów zajmujących orbital ma inny spin, jeden "w górę" a drugi "w dół". Zakaz Pauliego jest jedną z zasad mechaniki kwantowej. Został sformułowany przez Wolfganga Pauliego w 1925 roku. Mówi, że że w danym stanie kwantowym może znajdować się tylko jeden fermion. Jest to jedna z najważniejszych zasad fizyki, głównie przez to, iż opisuje własności materii, czyli protonów, elektronów i neutronów. === Zasada rozbudowy === Zgodnie z tą zasadą elektrony zapełniają orbitale zaczynając od tego o najniższej energii, a kończąc na tych o najwyższej (np. 1s przed 2s). === Reguła Hunda === Reguła ta mówi, iż najkorzystniejszym stanem energetycznym dla atomu jest posiadanie na orbitalach atomowych jak najwięcej niesparowanych elektronów. ==Oktet elektronowy== Zaobserwowano, że oktet elektronowy, czyli osiem elektronów na zewnętrznej powłoce (walencyjnej), nadaje pierwiastkom największą trwałość upodabniając je do ósmej grupy głównej (gazów szlachetnych). Ogólnie mówiąc atomu są stabilne kiedy mają w całości wypełnioną zewnętrzną powłokę. Powszechnym wyjątkiem tej reguły jest wodór, który na zewnętrznej powłoce posiada tylko 2 elektrony. Inne wyjątki to glin i bor które są stabilne mając sześć elektronów na zewnętrznych powłokach, oraz kilka atomów za trzecią grupą które maja ponad osiem elektronów walencyjnych. Przykładem jest siarka. Także niektóre gazy szlachetne mogą tworzyć związki "rozszerzając" swoją powłokę walencyjną. ==Orbitale molekularne== [[Image:Tetrahedron.jpg|150px|thumb|left|Tetraedr]] W chemii organicznej rozpatrujemy także hybrydyzację orbitali elektronowych zwanych orbitalami molekularnymi. [[Image:Sp3-Orbital.svg|right|150px|thumb|Orbital sp<sup>3</sup>]] Orbitale '''s''' i '''p''' w atomie węgla ulegają wymieszaniu dając cztery hybrydy sp<sup>3</sup> które wyglądają mniej więcej tak jak cztery balony związane razem. Węgiel przyjmuje kształt tetraedru ponieważ posiada tylko sześć własnych elektronów które wypełniają cały orbital '''s''' i tylko połowę z czterech orbitali '''p'''. Kiedy wszystkie orbitale '''s''' i '''p''' są zapełnione atom przyjmuje kształt zwany tetraedrycznym. {{Nawigacja|Chemia organiczna|[[../Historia chemii organicznej/]]|[[../Wiązania chemiczne/]]}} h2grri8b8zv034nwbw3vzo7zifj253a Wikibooks:Kolekcje/Szachy 4 16035 545050 192099 2026-06-01T22:44:06Z Persino 2851 545050 wikitext text/x-wiki {{zapisane_książki}} == Szachy == :[[Szachy/Okładka]] :[[Szachy/Historia]] :[[Szachy/Ogólne zasady gry]] :[[Szachy/Szachownica i bierki]] :[[Szachy/Omówienie bierek]] :[[Szachy/Król]] :[[Szachy/Wieża]] :[[Szachy/Bicie]] :[[Szachy/Szach]] :[[Szachy/Mat]] :[[Szachy/Goniec]] :[[Szachy/Hetman]] :[[Szachy/Skoczek]] :[[Szachy/Pion]] :[[Szachy/Roszada]] :[[Szachy/Bicie w przelocie]] :[[Szachy/Pat]] :[[Szachy/Koniec gry]] :[[Szachy/Taktyka]] :[[Szachy/Wartości bierek]] :[[Szachy/Podwójne uderzenie]] :[[Szachy/Odkryty szach]] :[[Szachy/Szach podwójny]] :[[Szachy/Związanie]] :[[Szachy/Poświęcenie]] :[[Szachy/Rożen]] :[[Szachy/Wieża na ostatniej linii]] :[[Szachy/Słaba promocja]] :[[Szachy/Strategia]] :[[Szachy/Początkowa faza partii]] :[[Szachy/Otwarcia]] :[[Szachy/Środkowa faza partii]] :[[Szachy/Gra Pionami]] :[[Szachy/Gra Wieżami]] :[[Szachy/Końcowa faza partii]] :[[Szachy/Król, Pion przeciwko Królowi]] :[[Szachy/Król, Goniec, Pion przeciwko Królowi]] :[[Szachy/Król, Pion przeciwko Królowi i lekkiej figurze]] :[[Szachy/Sposoby notacji]] :[[Szachy/Słowniczek]] :[[Szachy/Rozwiązywanie zadań]] :[[Szachy/Zadania/Mat w trzech posunięciach 1]] :[[Szachy/Zadania/Mat w trzech posunięciach 1/Rozwiązanie]] :[[Szachy/Zadania/Mat w trzech posunięciach 2]] :[[Szachy/Zadania/Mat w trzech posunięciach 2/Rozwiązanie]] :[[Szachy/Zadania/Mat w trzech posunięciach 3]] :[[Szachy/Zadania/Mat w trzech posunięciach 3/Rozwiązanie]] :[[Szachy/Zadania/Najprostsze studium wszechczasów]] :[[Szachy/Zadania/Najprostsze studium wszechczasów/Rozwiązanie]] :[[Szachy/Zadania/Studium 1]] :[[Szachy/Zadania/Studium 1/Rozwiązanie]] :[[Szachy/Zadania/Studium 2]] :[[Szachy/Zadania/Studium 2/Rozwiązanie]] 5h4kfbj6si5rpclrwrdb1mqptdzkjqx Kategoria:Kolekcje 14 16036 545032 518769 2026-06-01T22:32:11Z Persino 2851 545032 wikitext text/x-wiki Kategoria zawiera ''kolekcje'' - zbiory artykułów umożliwiające stworzenie za pomocą specjalnego narzędzia wersji PDF lub inne działania. Zazwyczaj kolekcje pokrywają się z podręcznikami. Więcej o kolekcjach na stronie {{lp|Kolekcje}}. {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} s5gul59rtlpv7665j7pp9mex5c9rvm6 545055 545032 2026-06-01T22:57:20Z Persino 2851 545055 wikitext text/x-wiki Kategoria zawiera ''kolekcje'' - zbiory artykułów umożliwiające stworzenie za pomocą specjalnego narzędzia wersji PDF lub inne działania. Zazwyczaj kolekcje pokrywają się z podręcznikami. Więcej o kolekcjach na stronie {{lp|Kolekcje}}. {{Kategorie | Strony zbiorcze z wersją do druku podręczników | Podręczniki z wersją PDF }} i4hs3mub5aybazsgm7if0fpew0y55gy 545057 545055 2026-06-01T22:58:55Z Persino 2851 545057 wikitext text/x-wiki Kategoria zawiera ''kolekcje'' - zbiory artykułów umożliwiające stworzenie za pomocą specjalnego narzędzia wersji PDF lub inne działania. Zazwyczaj kolekcje pokrywają się z podręcznikami. Więcej o kolekcjach na stronie {{lp|Kolekcje}}. {{Kategorie | Strony zbiorcze z wersją do druku podręczników | Podręczniki z wersją PDF | Podręczniki z wersją ePUB | Podręczniki z wersją EPUB }} qja4rpxb99vmj265eud0w3n2vwjvy4y Wikibooks:Kolekcje/Fotografia 4 16098 545039 192095 2026-06-01T22:38:35Z Persino 2851 545039 wikitext text/x-wiki {{zapisane książki}} == Fotografia == === Podręcznik dla początkujących i średnio zaawansowanych === :[[Fotografia/Okładka]] ;Wstęp :[[Fotografia/O podręczniku]] :[[Fotografia/Historia fotografii]] ;Sprzęt fotograficzny :[[Fotografia/Jaki wybrać sprzęt fotograficzny?]] :[[Fotografia/Rodzaje aparatów fotograficznych]] :[[Fotografia/Obiektywy]] :[[Fotografia/Akcesoria]] :[[Fotografia/Wykonywanie zdjęć]] :[[Fotografia/Przygotowanie aparatu fotograficznego do użycia]] :[[Fotografia/Czułość matrycy lub kliszy]] :[[Fotografia/Wybór obiektu do zdjęcia]] :[[Fotografia/Ustawianie ostrości]] :[[Fotografia/Ustawianie czasu i przysłony]] :[[Fotografia/Zarządzanie kolorem]] :[[Fotografia/Zdjęcia z fleszem]] :[[Fotografia/Zdjęcia panoramiczne]] :[[Fotografia/Zdjęcia 3D]] :[[Fotografia/Wykonywanie zdjęć aparatami analogowymi]] :[[Fotografia/Funkcje półautomatyczne]] :[[Fotografia/Automatyczny focus]] :[[Fotografia/Wyzwalacz migawki]] ;Retusz :[[Fotografia/Obróbka zdjęć]] :[[Fotografia/Obróbka zdjęć z kliszy]] :[[Fotografia/Obróbka zdjęć cyfrowych]] :[[Fotografia/Wybór programu do obróbki]] :[[Fotografia/Edycja kadru]] :[[Fotografia/Edycja koloru]] :[[Fotografia/Retusz i wyostrzanie]] :[[Fotografia/Zmiana wymiarów i kompresowanie]] :[[Fotografia/Technika HDR]] ;Dodatki :[[Fotografia/Konserwacja sprzętu fotograficznego]] :[[Fotografia/Bibliografia]] :[[Fotografia/Terminologia]] 4ci8cazbw5e5bvn2i064w7pxid6pytd Wikibooks:Kolekcje/Japoński 4 16110 545041 192097 2026-06-01T22:40:02Z Persino 2851 545041 wikitext text/x-wiki {{zapisane książki}} ==Japoński== ; Wstęp :[[Japoński]] ;Lekcje Kana - hiragana i katakana :[[Japoński/Romaji]] :[[Japoński/Wymowa]] :[[Japoński/Czytanie znaków]] :[[Japoński/Hiragana]] :[[Japoński/Hiragana/Lekcja 1]] :[[Japoński/Hiragana/Lekcja 2]] :[[Japoński/Hiragana/Lekcja 3]] :[[Japoński/Hiragana/Lekcja 4]] :[[Japoński/Hiragana/Lekcja 5]] :[[Japoński/Hiragana/Lekcja 6]] :[[Japoński/Hiragana/Lekcja 7]] :[[Japoński/Hiragana/Lekcja 8]] :[[Japoński/Hiragana/Lekcja 9]] :[[Japoński/Hiragana/Lekcja 10]] :[[Japoński/Hiragana/Ćwiczenia 1]] :[[Japoński/Hiragana/Ćwiczenia 2]] :[[Japoński/Katakana]] :[[Japoński/Katakana/Lekcja 1]] :[[Japoński/Katakana/Lekcja 2]] :[[Japoński/Katakana/Lekcja 3]] :[[Japoński/Katakana/Lekcja 4]] :[[Japoński/Katakana/Lekcja 5]] :[[Japoński/Katakana/Lekcja 6]] :[[Japoński/Katakana/Lekcja 7]] :[[Japoński/Katakana/Lekcja 8]] :[[Japoński/Katakana/Lekcja 9]] :[[Japoński/Katakana/Lekcja 10]] :[[Japoński/Katakana/Ćwiczenia 1]] :[[Japoński/Katakana/Ćwiczenia 2]] :[[Japoński/Reprezentacja pozostałych dźwięków]] :[[Japoński/Ćwiczenia katakana i hiragana]] :[[Japoński/Ćwiczenia katakana i hiragana/Rozwiązania]] :[[Japoński/Katakana/Podobne znaki kana]] ; Lekcje Kanji :[[Japoński/Kanji]] :[[Japoński/Kanji/Lekcja 1]] :[[Japoński/Kanji/Lekcja 2]] :[[Japoński/Kanji/Lekcja 3]] :[[Japoński/Kanji/Lekcja 4]] :[[Japoński/Kanji/Lekcja 5]] :[[Japoński/Kanji/Lekcja 6]] :[[Japoński/Kanji/Lekcja 7]] :[[Japoński/Kanji/Lekcja 8]] :[[Japoński/Kanji/Lekcja 9]] :[[Japoński/Kanji/Lekcja 10]] :[[Japoński/Kanji/Lekcja 11]] :[[Japoński/Kanji/Lekcja 12]] :[[Japoński/Kanji/Lekcja 13]] :[[Japoński/Kanji/Lekcja 14]] :[[Japoński/Kanji/Lekcja 15]] :[[Japoński/Kanji/Lekcja 16]] ; Podstawy japońskiego :[[Japoński/Lekcja/Przedstawianie się]] :[[Japoński/Lekcja/Co to jest?]] :[[Japoński/Lekcja/Tam jest kot]] :[[Japoński/Lekcja/Gdzie to jest?]] :[[Japoński/Lekcja/Pytania o coś]] :[[Japoński/Podstawy japońskiego/Odpowiedzi/Lekcja 1]] :[[Japoński/Podstawy japońskiego/Odpowiedzi/Lekcja 2]] ; Kurs podstawowy :[[Japoński/Podstawy Lekcja 1]] :[[Japoński/Podstawy Lekcja 2]] :[[Japoński/Podstawy Lekcja 3]] ; Gramatyka :[[Japoński/Gramatyka wprowadzenie]] :[[Japoński/Rzeczowniki]] :[[Japoński/Przymiotniki]] :[[Japoński/Czasowniki]] :[[Japoński/Partykuły]] :[[Japoński/Zaimki]] :[[Japoński/Liczebniki]] :[[Japoński/Klasyfikatory]] :[[Japoński/Spójka desu]] :[[Japoński/Aru Iru]] :[[Japoński/Forma grzecznościowa]] :[[Japoński/Wyrażenia czasowe w języku japońskim]] ;Dodatki :[[Japoński/Czytelnia]] ;Bajki i opowiadania :[[Japoński/ももたろう]] :[[Japoński/ももたろう lekcja]] ;Teksty piosenek :[[Japoński/清しこの夜星は光り]] :[[Japoński/眠る御子は夢まどか]] :[[Japoński/君が代]] 9i51f16k2tqh2zpemulcvf37ptyksy5 Wikipedysta:Ufb/Kolekcje/C3 2 16260 544989 192087 2026-06-01T20:19:55Z Persino 2851 544989 wikitext text/x-wiki {{zapisane książki}} == C# == :[[C Sharp]] :[[C Sharp/O podręczniku]] :[[C Sharp/Potrzebne narzędzia]] :[[C Sharp/Używanie kompilatora]] :[[C Sharp/Pierwszy program]] :[[C Sharp/Typy danych]] :[[C Sharp/Operatory]] :[[C Sharp/Instrukcje sterujące]] :[[C Sharp/Programowanie obiektowe]] :[[C Sharp/Tablice]] :[[C Sharp/Wyjątki]] :[[C Sharp/Interfejsy]] :[[C Sharp/Okno]] :[[C Sharp/Delegaty i zdarzenia]] :[[C Sharp/Komponenty]] rtizpe7mqpqyrhb847z5oj6ld1etwjl Wikipedysta:Asitarek/Kolekcje/Równania różniczkowe cząstkowe 2 16375 544920 192083 2026-06-01T19:35:47Z Persino 2851 544920 wikitext text/x-wiki {{zapisane książki}} == Równania różniczkowe cząstkowe == ;Równania różniczkowe cząstkowe pierwszego rzędu ;Równania różniczkowe cząstkowe drugiego rzędu '''Zadanie''' Rozwiązać zagadnienie Cauchy'ego <math>u_{xx}-2\sin{x} u_{xy} -(3+\cos^2{x}) u_{yy} - \cos{x} u_y=0</math> ;Równanie falowe ;Równanie przewodnictwa cieplnego ;Równanie Laplace'a i Poissona :[[Wikibooks:Strona główna]] dyv0dhpoodrnrs1veubsfx8ugxf4r0u Wikipedysta:Art ór/Książki/webmaster 2 16671 544993 91236 2026-06-01T20:22:13Z Persino 2851 544993 wikitext text/x-wiki == Webmaster - poradnik == === czyli co zrobić, aby zrobić dobrą stronę WWW === :[[Wikibooks:Strona główna]] ;Podstawy 4znb4hso1ltqn8jdjf3tbf65bk445kl 544994 544993 2026-06-01T20:22:34Z Persino 2851 544994 wikitext text/x-wiki {{zapisane książki}} == Webmaster - poradnik == === czyli co zrobić, aby zrobić dobrą stronę WWW === :[[Wikibooks:Strona główna]] ;Podstawy 22au0kg8sj0ccni6pjphf24l7mb55t5 Wikipedysta:Likki/Książki/Blender 3D: Nauka od podstaw 2 16718 544924 210045 2026-06-01T19:37:41Z Persino 2851 544924 wikitext text/x-wiki {{zapisane_książki}} = Podstawowe informacje = ==Kilka informacji== Wikiksiążka "Blender 3D od podstaw" jest projektem spolszczenia anglojęzycznej wersji wikiksiążki pt. "Blender 3D: Noob to Pro". Jeżeli chcesz pomóc w tłumaczeniu, po prosu wy edytuj stronę która według ciebie jest niepoprawna, pamiętając o zasadach modyfikacji treści. ==Autorzy i współpracownicy== Tą książkę możesz czytać, dzięki wysiłkowi kilku dobrych ludzi, wymienionych [http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Authors_%26_Contributors tutaj], oraz paru innych osób, które postanowiły pisać anonimowo. ==Wprowadzenie== Ta książka ma formę serii tutoriali (lekcji), mających na celu pomóc nowym użytkownikom nabrać doświadczenia w używaniu [http://www.blender.org Blendera]. Każdy kolejny tutorial będzie coraz trudniejszy, jednak przeciętny użytkownik będzie mógł bez problemu przeskoczyć do lekcji najbardziej odpowiadającej jego poziomowi wiedzy i kontynuować naukę. Autorzy włożyli dużo wysiłku, aby dopasować tą książkę do wszystkich. Początkujący '''powinni trzymać się kolejności czytania lekcji'''. Nie spodziewaj się, że w pełni zrozumiesz kolejnego tutoriala nie czytając poprzedniego, ponieważ są one pisane w oparciu o wiedzę przekazaną przed nimi. Czasami dobrze jest zastanowić się i wyznaczyć sobie cele, jakie chcesz osiągnąć ucząc się Blendera. Jeśli przykładowo postanowisz, że chcesz być animatorem i zanotujesz co konkretnie chcesz wyanimować, łatwiej ci będzie później dążyć do osiągnięcia swojego celu. Linki do pobrania nowych kompilacji aplikacji zawsze możesz znaleźć na stronie [http://www.blender.org Blender.org]. Jeżeli dla ciebie ta książka okaże się niewystarczająca, lub w jakiś inny sposób nie spełni twoich wymagań, zawsze możesz zajrzeć do [http://wiki.blender.org/index.php/Main_Page Przewodnika Blendera]. Może okazać się pomocny, jednak jest on pisany bardziej technicznym językiem, niż ta publikacja. == Współtworzenie książki == Jeśli chcesz włożyć swój wkład w rozwój tej książki, to jesteś do tego niemal zobowiązany! Jest kilka rzeczy, które możesz robić. === Edycja strony === Po prostu kliknij w link "edytuj", znajdujący się na górze każdej strony. Twoje zmiany staną się widoczne natychmiast, ale także równie szybko zostaną sprawdzone, więc wszelkie próby publikowania treści nielegalnych lub pornograficznych za pomocą stron Wiki to tylko strata czasu i energii, gdyż zostają one natychmiast usuwane. Tyczy się to również spamu i flamingu. Możesz także zadawać pytania i komentować każdą stronę, klikając link "Dyskusja" na górze każdej strony. === Dodawanie stron === Jeżeli chcesz dodać stronę do książki, na przykład nowy tutorial, stwórz link do niej poniżej sekcji "Oznaczenia Zawartości" na tej stronie. Gdy link będzie już gotowy, kliknij na nim aby móc stworzyć zawartość twojej nowej strony. Jeśli publikujesz tuorial i nie jesteś pewien w jakiej sekcji go umieścić, dodaj go do Różnych - zostanie sprawdzony i umieszczony we właściwym miejscu. Po instrukcje, jak właściwie nazywać swoje strony, zajrzyj [http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Team/Mission_Statement_and_Vision tutaj]. Aby ułatwić innym czytanie książki, zawsze dodawaj na początku i końcu strony odnośniki do - odpowiednio - poprzedniej i następnej sekcji. Do tego celu używaj formatowania, które możesz zobaczyć [http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Nav_Demo_Page_2 tutaj]. Pamiętaj także, aby zawsze aktualizować odnośniki w stronach znajdujących się przed i po twojej. Ten krok możesz jednakże pominąć jeśli myślisz, że twój artykuł i tak zostanie przesunięty do innej sekcji, ale najlepiej w takim przypadku zapytać się w dziale Dyskusja. == Oznaczenia Zawartości == {{etapy}} = Dla początkujących = == Tok myślenia w 3D == *[[/Wprowadzenie/]] *[[/Współrzędne/]] *[[/Projekcja ortogonalna/]] 11umv8tclizoj9w2ekl19zfsx8i1253 Wikipedysta:Jedrzej44/Książki/Nauki ścisłe - Geografia 2 16939 544964 93540 2026-06-01T20:03:02Z Persino 2851 544964 wikitext text/x-wiki {{zapisane_książki}} == Państwa Europy == :[[Pomoc:Książki]] t6vseypuwzo8gw74gofq0k71llz55kv Mandrake Linux/Wersja do druku 0 16958 544870 94045 2026-06-01T16:46:42Z Persino 2851 544870 wikitext text/x-wiki {{Drukowanie porada|Mandrake Linux}} {{:Mandrake Linux/Okładka}} {{Okładka formułka}} =Uruchamianie systemu= {{:Mandrake Linux/Uruchamianie systemu}} =Zamykanie systemu= =Główne obiekty środowiska KDE= =Konfiguracja środowiska KDE= =Katalogi= =Konqueror= =Uruchamianie programów= =Zarządzanie dyskami= =Konfiguracja połączenia internetowego= =Zarządzanie użytkownikami= =Instalacja programów= =Poczta elektroniczna= =Przeglądarka Mozilla= =Pakiet biurowy KOffice= =Edytor tekstu KWord= =Arkusz kalkulacyjny KSpread= =Program graficzny Gimp= =Mikser dźwięku KMix= =Odtwarzacz płyt KsCD= r1vm9yj8kv1vccmav3kxp6dx9y27r9j Wikipedysta:Cysioland/Książki/Komputery i internet 2 17301 544951 96567 2026-06-01T19:53:48Z Persino 2851 544951 wikitext text/x-wiki {{zapisane_książki}} ;Języki programowania :[[PHP]] ;Tworzenie stron internetowych :[[CSS]] :[[HTML]] hp53u29vcxavvd9wzzo5g0ybmcabxge Kategoria:Książki lub kolekcje 14 17302 544848 96569 2026-06-01T16:08:40Z Persino 2851 544848 wikitext text/x-wiki Książki utworzone przez Wikipedystów jako zbiór wybranych modułów i/lub podręczników. {{Kategorie | Podręczniki z wersją PDF | Strony zbiorcze podręczników przystosowane do druku }} csdpcgn3luhrv07h37m0l882mlqu9gn 544851 544848 2026-06-01T16:15:06Z Persino 2851 544851 wikitext text/x-wiki Książki utworzone przez Wikipedystów jako zbiór wybranych modułów i/lub podręczników. {{Kategorie | Podręczniki z wersją PDF | Strony zbiorcze całościowe podręczników przystosowane do druku }} dpbo69o04aqr3gpvg7ekcpbxwykbe6d 544864 544851 2026-06-01T16:36:22Z Persino 2851 544864 wikitext text/x-wiki Książki utworzone przez Wikipedystów jako zbiór wybranych modułów i/lub podręczników. {{Kategorie | Podręczniki z wersją PDF | Strony zbiorcze z wersją do druku podręczników }} onw0u0sudhhla6mt40dk5i5914e10fi 545017 544864 2026-06-01T22:17:48Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Książki]] do [[Kategoria:Książki lub kolekcje]], bez pozostawienia przekierowania pod starym tytułem 544864 wikitext text/x-wiki Książki utworzone przez Wikipedystów jako zbiór wybranych modułów i/lub podręczników. {{Kategorie | Podręczniki z wersją PDF | Strony zbiorcze z wersją do druku podręczników }} onw0u0sudhhla6mt40dk5i5914e10fi 545059 545017 2026-06-01T23:00:02Z Persino 2851 545059 wikitext text/x-wiki Książki utworzone przez Wikipedystów jako zbiór wybranych modułów i/lub podręczników. {{Kategorie | Strony zbiorcze z wersją do druku podręczników | Podręczniki z wersją PDF | Podręczniki z wersją ePUB | Podręczniki z wersją EPUB }} 996sm5983tmh77l0kfyj7y1d48t0n4h Wikipedysta:Szymonzakrzewski/Książki/SQL 2 17380 544980 97470 2026-06-01T20:14:57Z Persino 2851 544980 wikitext text/x-wiki {{zapisane książki}} == Złączenie typu '''CROSS JOIN''' == Złączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco: SELECT ''kolumna1, kolumna2, ..., kolumnaN'' FROM ''tabela1'' CROSS JOIN ''tabela2'' gdzie N oznacza ostatnią kolumnę tabeli. Wykonuje ono iloczyn kartezjański na podstawie łączonych tabel, inaczej mówiąc łączy każdy wiersz tabeli ''tabela1'' z każdym wierszem tabeli ''tabela2''. Jest ona odpowiednikiem znanej instrukcji: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1, tabela2'' == Złączenie typu '''INNER JOIN''' == Konstrukcja typu INNER JOIN jest złączeniem warunkowym o postaci: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1'' [INNER] JOIN ''tabela2'' ON ''wyrażenie_warunkowe'' W zapytaniu słowo INNER jest opcjonalne. W wyniku tego złączenia pojawią się tylko te wiersze z tabela ''tabela1'' i ''tabela2'', które spełnią warunki wymienionie po klauzuli ON. Jest ona odpowiednikiem znanej instrukcji: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1, tabela2, ...,tabelaN'' WHERE ''warunki'' == Złączenie typu '''LEFT OUTER JOIN''' == Złączenie typu LEFT OUTER JOIN pozwala nam na uwzględnienie w wyniku danych, które nie posiadają swoich odpowiedników w złączanych tabelach. Oznacza to, że jeśli w pierwszej tabeli pojawiają się wiersze, które nie posiadają odpowiedników w drugiej tabeli to zostaną wzięte pod uwagę podczas złączenia ale puste kolumny zostaną wypełnione wartościami NULL. Konstrukcja typu LEFT OUTER JOIN: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1'' LEFT [OUTER] JOIN ''tabela2'' ON ''wyrażenie_warunkowe'' Słowo OUTER jest tutaj opcjonalne. == Złączenie typu '''RIGHT OUTER JOIN''' == Złączenie typu RIGHT OUTER JOIN działa analogicznie do LEFT OUTER JOIN ale w tabeli wynikowej uwzględnia wiersze z drugiej tabeli, które nie posiadają odpowiedników w pierwszej. Konstrukcja typu RIGHT OUTER JOIN: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1'' RIGHT [OUTER] JOIN ''tabela2'' ON ''wyrażenie_warunkowe'' Słowo OUTER jest tutaj opcjonalne. == Bibliografia == Opracowanie na podstawie książki oraz własne spostrzeżenia. PostgreSQL 8.3 | nazwisko = Lis | imię = Marcin | tytuł = PostgreSQL 8.3 | wydawca = Helion | miejsce = Gliwice | rok = 2008 | strony = 188 | isbn = 978-83-246-0859-1 == Linki zewnętrzne == #PATRZ [[SQL]] 2ufpzdmhxmjrnq3p0zsv27xtjvd4uaw Wikipedysta:Szymonzakrzewski/Książki/SQL typy złączeń 2 17381 544981 97471 2026-06-01T20:15:30Z Persino 2851 544981 wikitext text/x-wiki {{zapisane_książki}} == SQL typy złączeń == === SQL typy złączeń === ;SQL typy złączeń kbaft43g7unh2dt933l4aotkfpd939l Wikipedysta:Szymonzakrzewski 2 17382 544979 97508 2026-06-01T20:14:00Z Persino 2851 544979 wikitext text/x-wiki {{zapisane książki}} == Typy złączeń == Wewnętrzne (inner) są domyślnym typem złączeń. Wyniki tych zapytań zawierają jedynie wiersze spełniające warunek. Iloczyn kartezjański (Cross join) Samozłączenie (Self Join) Równozłączenie (Equi-join) Naturalne (Natural Join) Antyzłączenia (Anti join) Częściowe (Semi Join) Zewnętrzne(outer) Left outer Join Right outer Join Full outer Join == Złączenie typu '''Self JOIN''' == O złączeniu Self JOIN mówimy, gdy po lewej i prawej stronie złączenia występuje ta sama tabela. W tym typie złączeń za niezbędne uważa się użycie aliasów. SELECT d1.nazwa, d2.nazwa FROM dzialy d1 JOIN dzialy d2 USING (adres) WHERE d1.nazwa != d2.nazwa; SELECT d1.nazwa, d2.nazwa FROM dzialy d1, dzialy d2 WHERE d1.adres = d2.adres AND d1.nazwa != d2.nazwa; == Złączenie typu '''CROSS JOIN''' == Złączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco: SELECT ''kolumna1, kolumna2, ..., kolumnaN'' FROM ''tabela1'' CROSS JOIN ''tabela2'' gdzie N oznacza ostatnią kolumnę tabeli. Wykonuje ono iloczyn kartezjański na podstawie łączonych tabel, inaczej mówiąc łączy każdy wiersz tabeli ''tabela1'' z każdym wierszem tabeli ''tabela2''. Jest ona odpowiednikiem znanej instrukcji: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1, tabela2'' == Złączenie typu '''INNER JOIN''' == Konstrukcja typu INNER JOIN jest złączeniem warunkowym o postaci: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1'' [INNER] JOIN ''tabela2'' ON ''wyrażenie_warunkowe'' W zapytaniu słowo INNER jest opcjonalne. W wyniku tego złączenia pojawią się tylko te wiersze z tabela ''tabela1'' i ''tabela2'', które spełnią warunki wymienionie po klauzuli ON. Jest ona odpowiednikiem znanej instrukcji: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1, tabela2, ...,tabelaN'' WHERE ''warunki'' == Złączenie typu '''LEFT OUTER JOIN''' == Złączenie typu LEFT OUTER JOIN pozwala nam na uwzględnienie w wyniku danych, które nie posiadają swoich odpowiedników w złączanych tabelach. Oznacza to, że jeśli w pierwszej tabeli pojawiają się wiersze, które nie posiadają odpowiedników w drugiej tabeli to zostaną wzięte pod uwagę podczas złączenia ale puste kolumny zostaną wypełnione wartościami NULL. Konstrukcja typu LEFT OUTER JOIN: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1'' LEFT [OUTER] JOIN ''tabela2'' ON ''wyrażenie_warunkowe'' Słowo OUTER jest tutaj opcjonalne. == Złączenie typu '''RIGHT OUTER JOIN''' == Złączenie typu RIGHT OUTER JOIN działa analogicznie do LEFT OUTER JOIN ale w tabeli wynikowej uwzględnia wiersze z drugiej tabeli, które nie posiadają odpowiedników w pierwszej. Konstrukcja typu RIGHT OUTER JOIN: SELECT ''kolumna1, kolumna2, ...,kolumnaN'' FROM ''tabela1'' RIGHT [OUTER] JOIN ''tabela2'' ON ''wyrażenie_warunkowe'' Słowo OUTER jest tutaj opcjonalne. == Bibliografia == Opracowanie na podstawie książki oraz własne spostrzeżenia. PostgreSQL 8.3 | nazwisko = Lis | imię = Marcin | tytuł = PostgreSQL 8.3 | wydawca = Helion | miejsce = Gliwice | rok = 2008 | strony = 188 | isbn = 978-83-246-0859-1 == Linki zewnętrzne == #PATRZ [[SQL]] csyd803xhcr3ndxvl5ino51alqyh5fp Wikipedysta:Dzik/Książki/Wspinaczka 2 17388 544999 98467 2026-06-01T20:25:18Z Persino 2851 544999 wikitext text/x-wiki {{zapisane_książki}} == Wspinaczka == :[[Wspinaczka]] :[[Wspinaczka/Regiony wspinaczkowe/Europa]] oy91c1q535zwxecoiy8q79dm6i3j13m Szablon:Zapisane książki 10 17406 544915 476278 2026-06-01T19:32:26Z Persino 2851 544915 wikitext text/x-wiki {| width="75%" cellspacing="0" style="margin: 0 auto;" class="noprint plainlinks" |style="background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;" valign="top"| <CENTER><big><big>'''To jest skład kolekcji modułów do podręcznika [[{{#if:{{{1|}}}|{{SUBPAGENAME:{{{1|}}}}}|{{SUBPAGENAME}}}}]]'''</big></big></CENTER> Jeżeli widzisz tę informację to znaczy, że podręcznik ten jest przygotowany do eksportu do takich formatów jak pdf, epub, odf. Kliknij poniżej na link z nazwą interesującego Cię formatu, by przejść do strony generującej, skąd będziesz mógł pobrać gotowy podręcznik: <CENTER><big>[ [{{fullurl:Specjalna:Książka/render_collection/|writer=rl&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} PDF] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=epub&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ePUB] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=odf&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ODF] ]</big></CENTER> * [ [[Pomoc:Książki|Pomoc]] ] * [ [{{fullurl:Special:Collection/load_collection/|colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} Załaduj w kolekcję] ] |}<includeonly><!-- -->{{#switch:{{NAZWAPRZESTRZENI}} |{{ns:User}}={{Kategoria|Książki - Użytkownicy}} |{{ns:Project}}={{Kategoria|Książki - Wikibooks}} }}</includeonly><noinclude> Szablon dodawany automatycznie przy tworzeniu kolekcji modułów dla danej książki. [[Kategoria:Szablony]] </noinclude> thli4du48rpxpj8sqhtfchddwifbgxf 545011 544915 2026-06-01T22:12:10Z Persino 2851 545011 wikitext text/x-wiki {| width="75%" cellspacing="0" style="margin: 0 auto;" class="noprint plainlinks" |style="background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;" valign="top"| <CENTER><big><big>'''To jest skład kolekcji modułów do podręcznika [[{{#if:{{{1|}}}|{{SUBPAGENAME:{{{1|}}}}}|{{SUBPAGENAME}}}}]]'''</big></big></CENTER> Jeżeli widzisz tę informację to znaczy, że podręcznik ten jest przygotowany do eksportu do takich formatów jak pdf, epub, odf. Kliknij poniżej na link z nazwą interesującego Cię formatu, by przejść do strony generującej, skąd będziesz mógł pobrać gotowy podręcznik: <CENTER><big>[ [{{fullurl:Specjalna:Książka/render_collection/|writer=rl&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} PDF] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=epub&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ePUB] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=odf&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ODF] ]</big></CENTER> * [ [[Pomoc:Książki|Pomoc]] ] * [ [{{fullurl:Special:Collection/load_collection/|colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} Załaduj w kolekcję] ] |}<includeonly><!-- -->{{#switch:{{NAZWAPRZESTRZENI}} |{{ns:User}}={{Kategoria|Książki - Użytkownicy}} |{{ns:Project}}={{#if: {{Jeśli niepuste |{{Dopasuj|wzór=^Książki/|ciąg={{PAGENAME}}}} |{{Dopasuj|wzór=^Kolekcje/|ciąg={{PAGENAME}}}} }} |{{Kategoria|Książki - Wikibooks}} }} }}</includeonly><noinclude> Szablon dodawany automatycznie przy tworzeniu kolekcji modułów dla danej książki. [[Kategoria:Szablony]] </noinclude> rmddcsr4tamt0vnqgwhqww9jui67w20 545025 545011 2026-06-01T22:27:02Z Persino 2851 545025 wikitext text/x-wiki {| width="75%" cellspacing="0" style="margin: 0 auto;" class="noprint plainlinks" |style="background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;" valign="top"| <CENTER><big><big>'''To jest skład kolekcji modułów do podręcznika [[{{#if:{{{1|}}}|{{SUBPAGENAME:{{{1|}}}}}|{{SUBPAGENAME}}}}]]'''</big></big></CENTER> Jeżeli widzisz tę informację to znaczy, że podręcznik ten jest przygotowany do eksportu do takich formatów jak pdf, epub, odf. Kliknij poniżej na link z nazwą interesującego Cię formatu, by przejść do strony generującej, skąd będziesz mógł pobrać gotowy podręcznik: <CENTER><big>[ [{{fullurl:Specjalna:Książka/render_collection/|writer=rl&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} PDF] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=epub&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ePUB] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=odf&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ODF] ]</big></CENTER> * [ [[Pomoc:Książki|Pomoc]] ] * [ [{{fullurl:Special:Collection/load_collection/|colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} Załaduj w kolekcję] ] |}<includeonly><!-- -->{{#switch:{{NAZWAPRZESTRZENI}} |{{ns:User}}={{#switch:{{Dopasuj|wzór=^([^/]+)/|ciąg={{PAGENAME}}}} | Książki = {{Kategoria|Książki - Użytkownicy}} | Kolekcje = {{Kategoria|Kolekcje - Użytkownicy}} }} |{{ns:Project}}={{#switch:{{Dopasuj|wzór=^([^/]+)/|ciąg={{PAGENAME}}}} | Książki = {{Kategoria|Książki - Wikibooks}} | Kolekcje = {{Kategoria|Kolekcje - Wikibooks}} }} }}</includeonly><noinclude> Szablon dodawany automatycznie przy tworzeniu kolekcji modułów dla danej książki. [[Kategoria:Szablony]] </noinclude> fvpov0txqdn2dfbuenh8oofs2hy12s7 545033 545025 2026-06-01T22:34:46Z Persino 2851 545033 wikitext text/x-wiki {| width="75%" cellspacing="0" style="margin: 0 auto;" class="noprint plainlinks" |style="background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;" valign="top"| <CENTER><big><big>'''To jest skład kolekcji modułów do podręcznika [[{{#if:{{{1|}}}|{{SUBPAGENAME:{{{1|}}}}}|{{SUBPAGENAME}}}}]]'''</big></big></CENTER> Jeżeli widzisz tę informację to znaczy, że podręcznik ten jest przygotowany do eksportu do takich formatów jak pdf, epub, odf. Kliknij poniżej na link z nazwą interesującego Cię formatu, by przejść do strony generującej, skąd będziesz mógł pobrać gotowy podręcznik: <CENTER><big>[ [{{fullurl:Specjalna:Książka/render_collection/|writer=rl&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} PDF] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=epub&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ePUB] ] [ [{{fullurl:Specjalna:Książka/render_collection/|writer=odf&colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} ODF] ]</big></CENTER> * [ [[Pomoc:Książki|Pomoc]] ] * [ [{{fullurl:Special:Collection/load_collection/|colltitle={{#if:{{{1|}}}|{{FULLPAGENAMEE:{{{1|}}}}}|{{FULLPAGENAMEE}}}}}} Załaduj w kolekcję] ] |}<includeonly><!-- -->{{#switch:{{NAZWAPRZESTRZENI}} |{{ns:User}}={{#switch:{{Dopasuj|wzór=^[^/]*/([^/]+)/|ciąg={{PAGENAME}}}} | Książki = {{Kategoria|Książki - Użytkownicy}} | Kolekcje = {{Kategoria|Kolekcje - Użytkownicy}} }} |{{ns:Project}}={{#switch:{{Dopasuj|wzór=^([^/]+)/|ciąg={{PAGENAME}}}} | Książki = {{Kategoria|Książki - Wikibooks}} | Kolekcje = {{Kategoria|Kolekcje - Wikibooks}} }} }}</includeonly><noinclude> Szablon dodawany automatycznie przy tworzeniu kolekcji modułów dla danej książki. [[Kategoria:Szablony]] </noinclude> mvh3bp0jkciouh9bk295mvuc4k9r6n7 Wikipedysta:Dzik/Książki/W 2 17407 544992 97666 2026-06-01T20:21:50Z Persino 2851 544992 wikitext text/x-wiki {{zapisane_książki}} == Wspinaczka - europa == === Przewodnik po rejonach === :[[Wspinaczka/Regiony wspinaczkowe/Europa]] s07ou5j43yhvbxdjoom9bn79gsfrlp5 Wikipedysta:Dzik/Książki/Wspin 2 17408 544998 97667 2026-06-01T20:24:55Z Persino 2851 544998 wikitext text/x-wiki {{zapisane_książki}} == Wspinaczka - europa == === Przewodnik po rejonach === :[[Wspinaczka/Regiony wspinaczkowe/Europa]] s07ou5j43yhvbxdjoom9bn79gsfrlp5 Wikipedysta:Joten8/Książki/Edycja fotografii GIMP 2 17506 544933 99072 2026-06-01T19:41:56Z Persino 2851 544933 wikitext text/x-wiki {{zapisane_książki}} == Edycja fotografii GIMP == === Tutoriale pochodzące ze strony gimpuj.info === ;Podmiana twarzy [center][size=20pt]Fotomontaż - podmiana twarzy[/size][/center] [center][size=15pt]Tutorial[/size][/center] [center]Opracowanie: [b]Michałek[/b] Poziom trudności: [b]średni[/b][/center] [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_53_24_4.png[/img][/center] [hr] Dziś przedstawię wam prosty sposób na wykonanie fotomontażu. Rezultat będzie czarno-biały. [b]Tutorial napisany w wersji GIMPa 2.4. W innych wersjach nazwy narzędzi i pojęć mogą się różnić.[/b] [hr] [lp] [size=15pt]Zaczynamy[/size] [lp] [b]1.[/b] Zaczynamy od znalezienia odpowiednich zdjęć które chcemy przerobić. Ja wybrałem zdjęcia Evy Longorii i Salmy Hayek, oto one: [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_51_36_0.png[/img][/center] [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_51_36_1.png[/img][/center] [lp] [b]2.[/b] Skopiuj jedną z twarzy w ten sposób [b][Ctrl+C][/b]: [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_51_36_2.png[/img][/center] [lp] [b]3.[/b] Wklej wyciętą twarz do drugiego zdjęcia [b][Ctrl+V][/b]. [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_51_36_3.png[/img][/center] [lp][b]4.[/b] Wejdź do menu warstw. To co przed chwilą wkleiliśmy jeszcze nie jest nową warstwą. Aby wklejenie uczynić nową warstwą musisz wcisnąć przycisk [b]Nowa warstwa...[/b], pierwszy po lewej stronie. [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_51_36_4.png[/img][/center] [lp][b]5.[/b] Za pomocą narzędzia [b]Przesunięcie <przesuwanie> [M][/b] przesuń wklejoną warstwę tak, aby główne części twarzy ze sobą się zgadzały. Dobrze jest sobie zmniejszyć [b]krycie[/b] wklejonej warstwy do około [b]60[/b]-[b]70[/b]%. Jeśli zajdzie taka potrzeba, [b]przeskaluj[/b] <skalowanie> wklejoną warstwę. Gdy to wykonasz zmień [b]krycie[/b] na [b]100[/b]%. [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_53_24_0.png[/img][/center] [lp][b]6.[/b] Warstwę [i][b]Tło[/b][/i] zmień na odcienie szarości: [b]Kolory -> Desaturacja[/b]. [lp][b]7.[/b] Dodaj [b]maskę warstwy[/b] ([b]Biała bez przeźroczystości[/b]) dla [i][b]Wklejona warstwa[/b][/i]. [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_53_24_1.png[/img][/center] [lp][b]8.[/b] Za pomocą [b]pędzla[/b] <pedzel> [b][P][/b] (kolor czarny [b]#000000[/b]) rysujemy na masce tak aby została tylko centralna część twarzy. [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_53_24_2.png[/img][/center] [lp][b]9.[/b] W menu warstw [b][Ctrl+L][/b] zmieniamy aktywną warstwę na [i][b]Wklejoną warstwę[/b][/i] i stosujemy na niej [b]Warstwa -> Kolory -> Desaturacja[/b]. [lp][b]10.[/b] Przechodzimy na [b]maskę warstwy[/b] i stosujemy na niej filtr [b]Rozmycie Gaussa[/b]: [b]Filtry -> Rozmycie -> Rozmycie Gaussa...[/b], promień [b]40[/b]-[b]60[/b]px. Jak powstały jakieś niepotrzebne plamy to usuń je za pomocą [b]pędzla[/b] o czarnym kolorze. Czasami nie wszystko jest idealne, takie sprawy załatwiamy narzędziem [b]Klonowania[/b] <klonowanie>. Efekt Końcowy: [center][img]http://www.gimpuj.info/gallery/6969_18_03_08_11_53_24_4.png[/img][/center] [lp] [size=15pt]Koniec[/size] [hr] Inna moja praca zrobiona na podstawie tego poradnika: [center][img]http://www.gimpuj.info/gallery/2822_20_11_07_7_15_30.png[/img][/center] Dziękuję za przeczytanie :) Miłej zabawy z GIMPem :) [hr] gtyl3fm8fpgegpmudgsogugoqewomqo Wikipedysta:Jasko2/Książki/Jak czytac fotografie 2 17665 544942 101119 2026-06-01T19:47:15Z Persino 2851 544942 wikitext text/x-wiki {{zapisane_książki}} == Jak czytać fotografię == === Lekcje mistrzów fotografii === ;Przedmowa - Max Kozloff 12cae39098c0xhxfin68y0racf0abm4 Wikipedysta:Chinczyk94/Książki/Neošprãhat 2 17729 544965 101814 2026-06-01T20:03:32Z Persino 2851 544965 wikitext text/x-wiki {{zapisane_książki}} == Neošprãhat == === Nowy projekt językowy === :[[Wikibooks:Strona główna]] jv5yvnl01gugl5exmxo9sxp3p60db6l Wikipedysta:Lucyfer666/Książki/Parkour 2 17733 544968 101846 2026-06-01T20:05:28Z Persino 2851 544968 wikitext text/x-wiki {{zapisane_książki}} == Parkour dla każdego == ;Co to jest Parkour? ;Podstawy rakg6uulgrhmavj3van1g0z81npkps2 Wikipedysta:Prusai/Książki/Język pruski 2 17734 544945 101853 2026-06-01T19:49:11Z Persino 2851 544945 wikitext text/x-wiki {{zapisane_książki}} == Język pruski == === Spis treści === :[[Język_pruski/Wstęp|Wstęp, fonetyka]] <small> Krótkie omówienie ruchu pruskiego, a także fonetyki języka.</small> :[[Język_pruski/Być|Czasownik "być"]] <small> Podstawa dotycząca czasownika "būtwei" w czasie teraźniejszym.</small> kyzls2r3axrlazzopdfqk1lagtqxlv9 Wikipedysta:Matrix0123456789/Książki/Informatyka dla klas 7-8 szkoły podstawowej 2 2 18594 544939 521253 2026-06-01T19:45:27Z Persino 2851 544939 wikitext text/x-wiki {{zapisane_książki}} == Informatyka dla klas 7-8 szkoły podstawowej == === Składanie === :[[Informatyka dla klas 7-8 szkoły podstawowej]] ;Czym są komputery :[[Informatyka dla klas 7-8 szkoły podstawowej/Czym są komputery?]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Zastosowanie komputerów]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Korzyści płynące z rozwoju komputerów i Internetu]] :[[Informatyka dla klas 7-8 szkoły podstawowej/... oraz niebezpieczeństwa]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Prawo autorskie, patenty, znaki handlowe i ochrona danych]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy budowy komputera osobistego]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Pierwowzór - maszyna von Neumanna]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Teraźniejszość - komputer osobisty]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy obsługi]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Co za dużo, to niezdrowo - ergonomia pracy]] 0cv41hufx9rwyegtrjkk754yvlxx0fn Wikipedysta:Matrix0123456789/Książki/Informatyka dla klas 7-8 szkoły podstawowej 2 18595 544938 521188 2026-06-01T19:44:54Z Persino 2851 544938 wikitext text/x-wiki {{zapisane_książki}} == Informatyka dla klas 7-8 szkoły podstawowej == === Składanie === :[[Informatyka dla klas 7-8 szkoły podstawowej]] ;Czym są komputery :[[Informatyka dla klas 7-8 szkoły podstawowej/Czym są komputery?]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Zastosowanie komputerów]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Korzyści płynące z rozwoju komputerów i Internetu]] :[[Informatyka dla klas 7-8 szkoły podstawowej/... oraz niebezpieczeństwa]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Prawo autorskie, patenty, znaki handlowe i ochrona danych]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy budowy komputera osobistego]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Pierwowzór - maszyna von Neumanna]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Teraźniejszość - komputer osobisty]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy obsługi]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Co za dużo, to niezdrowo - ergonomia pracy]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Zaprzyjaźniamy się z komputerem]] :[[Informatyka dla klas 7-8 szkoły podstawowej/System operacyjny]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Typy systemów operacyjnych]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Jądro systemu operacyjnego]] :[[Informatyka dla klas 7-8 szkoły podstawowej/System plików]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Pojęcia pliku i katalogu]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Wzajemne powiązanie systemu operacyjnego i plikowego]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Operacje na plikach]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Organizacja dysku w różnych systemach operacyjnych]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Powłoka]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Zastosowania]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy pracy w środowisku tekstowym]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy środowiska tekstowego]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Narzędzie man]] :[[Informatyka dla klas 7-8 szkoły podstawowej/System DOS]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Systemy UNIX, BeOS, AtheOS]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy pracy w środowiskach graficznych]] :[[Informatyka dla klas 7-8 szkoły podstawowej/GNOME]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Podstawy środowiska graficznego]] :[[Informatyka dla klas 7-8 szkoły podstawowej/KDE]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Microsoft Windows]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Instalacja programów w systemie Windows]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Instalacja programów w systemie Linux]] :[[Informatyka dla klas 7-8 szkoły podstawowej/Procesy, wiersz polecenia]] agndefkmhfxlb8e8o3jwuyahwr7ih0e Wikipedysta:Czarny445/Książki/AsemblerNASM 2 19121 544919 113675 2026-06-01T19:34:53Z Persino 2851 544919 wikitext text/x-wiki {{zapisane_książki}} == Asembler w pigułce == === dla procesorów x86 i kompilatora NASM === :[[Asembler X86/Architektura]] :[[Asembler X86/Zaawansowana Architektura]] :[[Asembler X86/Pierwszy program/NASM]] :[[Asembler X86/Podstawy]] :[[Asembler X86/Instrukcje]] :[[Asembler X86/Zmienne/NASM]] :[[Asembler X86/Funkcje/NASM]] :[[Asembler X86/Preprocesor/NASM]] :[[Asembler X86/Optymalizacja]] :[[Asembler X86/Przerwania]] :[[Asembler X86/Łączenie z językami wysokiego poziomu]] pwxlz16c0czrtfjo7j6v6awu4xh4c18 Wikipedysta:Krzysiu Jarzyna/Książki/C 2 19577 544926 117465 2026-06-01T19:38:30Z Persino 2851 544926 wikitext text/x-wiki {{zapisane_książki}} :[[C/Zmienne]] :[[C/Składnia]] :[[C/Operatory]] :[[C/Instrukcje sterujące]] :[[C/Tablice]] :[[C/Wskaźniki]] :[[C/Napisy]] :[[C/Typy złożone]] :[[C/Czytanie i pisanie do plików]] :[[C/Biblioteka standardowa/Indeks tematyczny]] :[[C/Biblioteki]] :[[C/Preprocesor]] 6y8ypkqfhusgqtsqqeno45xsqx91row Wikipedysta:Iraas~plwikibooks/Książki/Atari BASIC 2 19595 544921 211088 2026-06-01T19:36:24Z Persino 2851 544921 wikitext text/x-wiki {{zapisane_książki}} == Atari BASIC == === Podręcznik dla początkujących === :[[Atari BASIC/Pierwszy program]] :[[Atari BASIC/Wstep]] :[[Atari BASIC/Wymagania]] n5sn19szxt5ufoj4tbixvsg7pb7f2xu Wikipedysta:Rootoor/Książki/KK-zupy 2 19761 544949 191246 2026-06-01T19:52:53Z Persino 2851 544949 wikitext text/x-wiki {{zapisane_książki}} == Książka Kucharska == === - Zupy - === :[[Książka kucharska/Barszcz biały|Barszcz biały]] :[[Książka kucharska/Barszcz biskupi|Barszcz biskupi]] :[[Książka kucharska/Barszcz czerwony|Barszcz czerwony]] :[[Książka kucharska/Barszcz dziedzica|Barszcz dziedzica]] :[[Książka kucharska/Barszcz ukraiński|Barszcz ukraiński]] :[[Książka kucharska/Bogracz|Bogracz]] :[[Książka kucharska/Czeski kapuśniak|Czeski kapuśniak]] :[[Książka kucharska/Fasolowa na ostro|Fasolowa na ostro]] :[[Książka kucharska/Fasolowa po chłopsku|Fasolowa po chłopsku]] :[[Książka kucharska/Grochówka|Grochówka]] :[[Książka kucharska/Gazpacho|Gazpacho]] :[[Książka kucharska/Iberyjska zupa fasolowa|Iberyjska zupa fasolowa]] :[[Książka kucharska/Kapuśniak|Kapuśniak]] :[[Książka kucharska/Kartoflanka|Kartoflanka]] :[[Książka kucharska/Kartoflanka po węgiersku|Kartoflanka po węgiersku]] :[[Książka kucharska/Krupnik|Krupnik]] :[[Książka kucharska/Kwaśnica|Kwaśnica]] :[[Książka kucharska/Pieczarkowa|Pieczarkowa]] :[[Książka kucharska/Rosół babuni|Rosół babuni]] :[[Książka kucharska/Staropolska zupa cebulowa|Staropolska zupa cebulowa]] :[[Książka kucharska/Wiejska zupa z fasolą|Wiejska zupa z fasolą]] :[[Książka kucharska/Wodzionka|Wodzionka]] :[[Książka kucharska/Wodzionka tradycyjna|Wodzionka tradycyjna]] :[[Książka kucharska/Wykwintna zupa pieczarkowa|Wykwintna zupa pieczarkowa]] :[[Książka kucharska/Zielona zupa cebulowa|Zielona zupa cebulowa]] :[[Książka kucharska/Zupa benedyktyńska|Zupa benedyktyńska]] :[[Książka kucharska/Zupa ogórkowa|Zupa ogórkowa]] :[[Książka kucharska/Zupa piwna po staropolsku|Zupa piwna po staropolsku]] :[[Książka kucharska/Zupa pomidorowo-czosnkowa|Zupa pomidorowo-czosnkowa]] :[[Książka kucharska/Zupa ryżowa|Zupa ryżowa]] :[[Książka kucharska/Zupa serowa|Zupa serowa]] :[[Książka kucharska/Zupa włoska|Zupa włoska]] :[[Książka kucharska/Zupa z czerwonej fasoli|Zupa z czerwonej fasoli]] :[[Książka kucharska/Zupa z kapusty pekińskiej|Zupa z kapusty pekińskiej]] :[[Książka kucharska/Zupa z papryki|Zupa z papryki]] :[[Książka kucharska/Zupa z soczewicy|Zupa z soczewicy]] :[[Książka kucharska/Zupa z wina|Zupa z wina]] :[[Książka kucharska/Zupa z zielonego groszku|Zupa z zielonego groszku]] :[[Książka kucharska/Zupa zbójecka|Zupa zbójecka]] :[[Książka kucharska/Zupa ziołowa|Zupa ziołowa]] :[[Książka kucharska/Zupa śliwkowa z bułkowymi kluskami|Zupa śliwkowa z bułkowymi kluskami]] :[[Książka kucharska/Żur biały|Żur biały]] :[[Książka kucharska/Żur postny|Żur postny]] :[[Książka kucharska/Żurek śląski|Żurek śląski]] 8rxawhpvkdoud7ijhfjycsyozr11f3o Wikipedysta:Rootoor/Książki/Fotografia 2 19762 544935 125509 2026-06-01T19:42:56Z Persino 2851 544935 wikitext text/x-wiki {{zapisane_książki}} == Fotografia == ;[[Fotografia/Okładka]] ;[[Fotografia|Spis treści.]] ;1. [[Fotografia/O podręczniku]] ;2. [[Fotografia/Historia fotografii]] ;3. [[Fotografia/Jaki wybrać sprzęt fotograficzny?]] :3.1 [[Fotografia/Budowa aparatu fotograficznego]] :3.2 [[Fotografia/Rodzaje aparatów fotograficznych]] :3.3 [[Fotografia/Obiektywy]] :3.4 [[Fotografia/Akcesoria]] ;4. [[Fotografia/Wykonywanie zdjęć]] :4.1 [[Fotografia/Przygotowanie aparatu fotograficznego do użycia]] :4.2 [[Fotografia/Czułość matrycy lub kliszy]] :4.3 [[Fotografia/Wybór obiektu do zdjęcia]] :4.4 [[Fotografia/Ustawianie ostrości]] :4.5 [[Fotografia/Ustawianie czasu i przysłony]] :4.6 [[Fotografia/Zarządzanie kolorem]] :4.7 [[Fotografia/Zdjęcia z fleszem]] :4.8 [[Fotografia/Zdjęcia panoramiczne]] ;5. [[Fotografia/Wykonywanie zdjęć aparatami analogowymi]] ;6. [[Fotografia/Wykonywanie zdjęć aparatami cyfrowymi]] :6.1 [[Fotografia/Funkcje w pełni automatyczne]] :6.2 [[Fotografia/Funkcje półautomatyczne]] :6.3 [[Fotografia/Automatyczny focus]] :6.4 [[Fotografia/Wyzwalacz migawki]] ;7. [[Fotografia/Obróbka zdjęć]] :7.1 [[Fotografia/Obróbka zdjęć z kliszy]] :7.2 [[Fotografia/Obróbka zdjęć cyfrowych]] :7.2.1 [[Fotografia/Wybór programu do obróbki]] :7.2.2 [[Fotografia/Kalibracja monitora i drukarki]] :7.2.3 [[Fotografia/Edycja kadru]] :7.2.4 [[Fotografia/Edycja koloru]] :7.2.5 [[Fotografia/Retusz i wyostrzanie]] :7.2.6 [[Fotografia/Zmiana wymiarów i kompresowanie]] :7.2.7 [[Fotografia/Technika HDR]] ;8. [[Fotografia/Konserwacja sprzętu fotograficznego]] ;9. [[Fotografia/Problemy ze sprzętem fotograficznym]] ;10 [[Fotografia/Terminologia]] ;11 [[Fotografia/Bibliografia]] 8rvcdw3w24yzsf1i3zpxaapexqgo7jy Wikipedysta:Rootoor/Książki/KK-sosy-gorące 2 19764 544947 191247 2026-06-01T19:50:52Z Persino 2851 544947 wikitext text/x-wiki {{zapisane_książki}} == Książka Kucharska == === - Sosy garące - === :[[Książka kucharska/Krem czosnkowy|Krem czosnkowy]] :[[Książka kucharska/Beszamel|Beszamel]] :[[Książka kucharska/Sos bolognese|Sos bolognese]] :[[Książka kucharska/Sos chlebowy po lwowsku|Sos chlebowy po lwowsku]] :[[Książka kucharska/Sos czosnkowy|Sos czosnkowy]] :[[Książka kucharska/Sos genuański|Sos genuański]] :[[Książka kucharska/Sos grzybowy|Sos grzybowy]] :[[Książka kucharska/Sos holenderski|Sos holenderski]] :[[Książka kucharska/Sos napoli|Sos napoli]] :[[Książka kucharska/Sos ogórkowy|Sos ogórkowy]] :[[Książka kucharska/Sos pieczarkowy luksusowy|Sos pieczarkowy luksusowy]] :[[Książka kucharska/Sos pomidorowy po hiszpańsku|Sos pomidorowy po hiszpańsku]] :[[Książka kucharska/Sos pomidorowy wykwintny|Sos pomidorowy wykwintny]] :[[Książka kucharska/Sos staropolski z suszonych grzybów|Sos staropolski z suszonych grzybów]] :[[Książka kucharska/Sos staropolski ze świeżych grzybów|Sos staropolski ze świeżych grzybów]] :[[Książka kucharska/Sos włoski do spaghetti|Sos włoski do spaghetti]] :[[Książka kucharska/Sos ze świeżych zielonek|Sos ze świeżych zielonek]] prj2a0kh033s25t3dwiivwolzac21h0 Wikipedysta:Rootoor/Książki/KK-sosy-zimne 2 19766 544948 191248 2026-06-01T19:51:26Z Persino 2851 544948 wikitext text/x-wiki {{zapisane_książki}} == Książka Kucharska == === - Sosy zimne - === :[[Książka kucharska/Majonez|Majonez]] :[[Książka kucharska/Majonez czosnkowy|Majonez czosnkowy]] :[[Książka kucharska/Sos chrzanowy|Sos chrzanowy]] :[[Książka kucharska/Sos chrzanowy parzony|Sos chrzanowy parzony]] :[[Książka kucharska/Sos chrzanowy wykwintny|Sos chrzanowy wykwintny]] :[[Książka kucharska/Sos chrzanowy z jabłkami|Sos chrzanowy z jabłkami]] :[[Książka kucharska/Sos chrzanowy z winem|Sos chrzanowy z winem]] :[[Książka kucharska/Sos chrzanowy ze śmietaną|Sos chrzanowy ze śmietaną]] :[[Książka kucharska/Sos majonezowo-jajeczny|Sos majonezowo-jajeczny]] :[[Książka kucharska/Sos majonezowy pikantny|Sos majonezowy pikantny]] :[[Książka kucharska/Sos majonezowy z ananasem|Sos majonezowy z ananasem]] :[[Książka kucharska/Sos miętowy jogurtowy|Sos miętowy jogurtowy]] :[[Książka kucharska/Sos staropolski pikantny|Sos staropolski pikantny]] :[[Książka kucharska/Sos szafranowy|Sos szafranowy]] :[[Książka kucharska/Sos tatarski|Sos tatarski]] :[[Książka kucharska/Sos tatarski delikatny|Sos tatarski delikatny]] :[[Książka kucharska/Sos tatarski pikantny|Sos tatarski pikantny]] :[[Książka kucharska/Sos tzatziki|Sos tzatziki]] :[[Książka kucharska/Sos winegret|Sos winegret]] :[[Książka kucharska/Sos winogronowy|Sos winogronowy]] :[[Książka kucharska/Sos wiosenny|Sos wiosenny]] :[[Książka kucharska/Sos wiosenny delikatny|Sos wiosenny delikatny]] 3gu3pun8o3r2w80kuh7bzk2j7zird6j Wikipedysta:Rootoor/Książki/MediaWiki w obrazkach 2 19768 544957 119128 2026-06-01T19:57:52Z Persino 2851 544957 wikitext text/x-wiki {{zapisane_książki}} == MediaWiki w obrazkach == ;Okładka :[[MediaWiki w obrazkach/Okładka]] ;Spis treści :[[MediaWiki w obrazkach]] ;1. Co to jest MediaWiki :[[MediaWiki w obrazkach/Co to jest MediaWiki]] ;2. MediaWiki od strony czytelnika :[[MediaWiki w obrazkach/MediaWiki od strony czytelnika]] :#[[MediaWiki w obrazkach/Struktura ekranu]] :#[[MediaWiki w obrazkach/Linki i wolne surfowanie]] :#[[MediaWiki w obrazkach/Szukanie po kategoriach]] :#[[MediaWiki w obrazkach/Korzystanie z obrazków]] :#[[MediaWiki w obrazkach/Wyszukiwarka MediaWiki]] :#[[MediaWiki w obrazkach/Uwaga! to jest wiki]] ;3. MediaWiki dla początkujących edytorów :[[MediaWiki w obrazkach/MediaWiki dla początkujących edytorów]] :#[[MediaWiki w obrazkach/Najpierw się zaloguj]] :#[[MediaWiki w obrazkach/Okno edycji]] :#[[MediaWiki w obrazkach/Piszemy od podstaw nieduży artykuł]] :#[[MediaWiki w obrazkach/Podstawy formatowania tekstu]] :#[[MediaWiki w obrazkach/Linki]] :#[[MediaWiki w obrazkach/Wstawianie obrazków]] :#[[MediaWiki w obrazkach/Tabele]] :#[[MediaWiki w obrazkach/Szablony]] :#[[MediaWiki w obrazkach/Dyskusje, konflikty, historia zmian]] :#[[MediaWiki w obrazkach/Wiki to społeczność]] ;4. Terminologia :[[MediaWiki w obrazkach/Terminologia]] ;5. Krótka tabela wikikodu :[[MediaWiki w obrazkach/Krótka tabela wikikodu]] ;6. Niepełna lista ... :[[MediaWiki w obrazkach/Niepełna lista polskojęzycznych projektów opartych na MediaWiki]] ;7. Autorzy :[[MediaWiki w obrazkach/Autorzy]] ;8. Bibliografia :[[MediaWiki w obrazkach/Bibliografia]] 1dpg391nfpi27e299ylecisl6xz6oy1 Wikipedysta:Rootoor/Książki/Zanurkuj w Pythonie 2 19769 545000 119105 2026-06-01T20:25:59Z Persino 2851 545000 wikitext text/x-wiki {{zapisane_książki}} == Zanurkuj w Pythonie == ;Spis treści :[[Zanurkuj w Pythonie]] ;O podręczniku :[[Zanurkuj w Pythonie/O podręczniku]] :[[Zanurkuj w Pythonie/Zalecenia dla autorów]] ;Instalacja :[[Zanurkuj w Pythonie/Który Python jest dla ciebie najlepszy?]] :[[Zanurkuj w Pythonie/Python w systemie Windows]] :[[Zanurkuj w Pythonie/Python w systemie Mac OS]] :[[Zanurkuj w Pythonie/Python w systemach Linux]] :[[Zanurkuj w Pythonie/Instalacja ze źródeł]] :[[Zanurkuj w Pythonie/Interaktywna powłoka]] :[[Zanurkuj w Pythonie/Instalacja - podsumowanie]] ;Pierwszy program :[[Zanurkuj w Pythonie/Pierwszy program]] :[[Zanurkuj w Pythonie/Deklarowanie funkcji]] :[[Zanurkuj w Pythonie/Dokumentowanie funkcji]] :[[Zanurkuj w Pythonie/Wszystko jest obiektem]] :[[Zanurkuj w Pythonie/Wcięcia kodu]] :[[Zanurkuj w Pythonie/Testowanie modułów]] ;Wbudowane typy danych :[[Zanurkuj w Pythonie/Łańcuchy znaków i unikod]] :[[Zanurkuj w Pythonie/Słowniki]] :[[Zanurkuj w Pythonie/Listy]] :[[Zanurkuj w Pythonie/Krotki]] :[[Zanurkuj w Pythonie/Deklarowanie zmiennych]] :[[Zanurkuj w Pythonie/Formatowanie łańcucha znaków]] :[[Zanurkuj w Pythonie/Odwzorowywanie listy]] :[[Zanurkuj w Pythonie/Łączenie list i dzielenie łańcuchów znaków]] :[[Zanurkuj w Pythonie/Kodowanie znaków]] :[[Zanurkuj w Pythonie/Praca z unikodem]] :[[Zanurkuj w Pythonie/Wbudowane typy danych - podsumowanie]] ;Potęga introspekcji :[[Zanurkuj w Pythonie/Potęga introspekcji]] :[[Zanurkuj w Pythonie/Argumenty opcjonalne i nazwane]] :[[Zanurkuj w Pythonie/Dwa sposoby importowania modułów]] :[[Zanurkuj w Pythonie/type, str, dir i inne wbudowane funkcje]] :[[Zanurkuj w Pythonie/Funkcja getattr]] :[[Zanurkuj w Pythonie/Filtrowanie listy]] :[[Zanurkuj w Pythonie/Operatory and i or]] :[[Zanurkuj w Pythonie/Wyrażenia lambda]] :[[Zanurkuj w Pythonie/Potęga introspekcji - wszystko razem]] :[[Zanurkuj w Pythonie/Potęga introspekcji - podsumowanie]] ;Obiekty i klasy :[[Zanurkuj w Pythonie/Obiekty i klasy]] :[[Zanurkuj w Pythonie/Definiowanie klas]] :[[Zanurkuj w Pythonie/Tworzenie instancji klasy]] :[[Zanurkuj w Pythonie/Klasa opakowująca UserDict]] :[[Zanurkuj w Pythonie/Metody specjalne]] :[[Zanurkuj w Pythonie/Zaawansowane metody specjalne]] :[[Zanurkuj w Pythonie/Atrybuty klas]] :[[Zanurkuj w Pythonie/Funkcje prywatne]] :[[Zanurkuj w Pythonie/Obiekty i klasy - podsumowanie]] ;Wyjątki i operacje na plikach :[[Zanurkuj w Pythonie/Obsługa wyjątków]] :[[Zanurkuj w Pythonie/Praca na plikach]] :[[Zanurkuj w Pythonie/Pętla for]] :[[Zanurkuj w Pythonie/Korzystanie z sys.modules]] :[[Zanurkuj w Pythonie/Praca z katalogami]] :[[Zanurkuj w Pythonie/Wyjątki i operacje na plikach - wszystko razem]] :[[Zanurkuj w Pythonie/Wyjątki i operacje na plikach - podsumowanie]] ;Wyrażenia regularne :[[Zanurkuj w Pythonie/Wyrażenia regularne]] :[[Zanurkuj w Pythonie/Analiza przypadku: Adresy ulic]] :[[Zanurkuj w Pythonie/Analiza przypadku: Liczby rzymskie]] :[[Zanurkuj w Pythonie/Składnia ?n, m?]] :[[Zanurkuj w Pythonie/Rozwlekłe wyrażenia regularne]] :[[Zanurkuj w Pythonie/Analiza przypadku: Przetwarzanie numerów telefonów]] :[[Zanurkuj w Pythonie/Wyrażenia regularne - podsumowanie]] ;Przetwarzanie HTML-a :[[Zanurkuj w Pythonie/Przetwarzanie HTML-a]] :[[Zanurkuj w Pythonie/Wprowadzenie do sgmllib.py]] :[[Zanurkuj w Pythonie/Wyciąganie danych z dokumentu HTML]] :[[Zanurkuj w Pythonie/Wprowadzenie do BaseHTMLProcessor.py]] :[[Zanurkuj w Pythonie/locals i globals]] :[[Zanurkuj w Pythonie/Formatowanie napisów w oparciu o słowniki]] :[[Zanurkuj w Pythonie/Dodawanie cudzysłowów do wartości atrybutów]] :[[Zanurkuj w Pythonie/Wprowadzanie do dialect.py]] :[[Zanurkuj w Pythonie/Przetwarzanie HTML-a - wszystko razem]] :[[Zanurkuj w Pythonie/Przetwarzanie HTML-a - podsumowanie]] ;Przetwarzanie XML-a :[[Zanurkuj w Pythonie/Przetwarzanie XML-a]] :[[Zanurkuj w Pythonie/Pakiety]] :[[Zanurkuj w Pythonie/Parsowanie XML-a]] :[[Zanurkuj w Pythonie/Wyszukiwanie elementów]] :[[Zanurkuj w Pythonie/Dostęp do atrybutów elementów]] :[[Zanurkuj w Pythonie/Przetwarzanie XML-a - podsumowanie]] ;Skrypty i strumienie :[[Zanurkuj w Pythonie/Abstrakcyjne źródła wejścia]] :[[Zanurkuj w Pythonie/Standardowy strumień wejścia, wyjścia i błędów]] :[[Zanurkuj w Pythonie/Buforowanie odszukanego węzła]] :[[Zanurkuj w Pythonie/Wyszukanie bezpośrednich elementów potomnych]] :[[Zanurkuj w Pythonie/Tworzenie oddzielnych funkcji obsługi względem typu węzła]] :[[Zanurkuj w Pythonie/Obsługa argumentów linii poleceń]] :[[Zanurkuj w Pythonie/Skrypty i strumienie - wszystko razem]] :[[Zanurkuj w Pythonie/Skrypty i strumienie - podsumowanie]] ;HTTP :[[Zanurkuj w Pythonie/HTTP]] :[[Zanurkuj w Pythonie/Jak nie pobierać danych poprzez HTTP]] :[[Zanurkuj w Pythonie/Właściwości HTTP]] :[[Zanurkuj w Pythonie/Debugowanie serwisów HTTP]] :[[Zanurkuj w Pythonie/Ustawianie User-Agent]] :[[Zanurkuj w Pythonie/Korzystanie z Last-Modified i ETag]] :[[Zanurkuj w Pythonie/Obsługa przekierowań]] :[[Zanurkuj w Pythonie/Obsługa skompresowanych danych]] :[[Zanurkuj w Pythonie/HTTP - wszystko razem]] :[[Zanurkuj w Pythonie/HTTP - podsumowanie]] ;SOAP :[[Zanurkuj w Pythonie/SOAP]] :[[Zanurkuj w Pythonie/Instalowanie odpowiednich bibliotek]] :[[Zanurkuj w Pythonie/Pierwsze kroki z SOAP]] :[[Zanurkuj w Pythonie/Debugowanie serwisu sieciowego SOAP]] :[[Zanurkuj w Pythonie/Wprowadzenie do WSDL]] :[[Zanurkuj w Pythonie/Introspekcja SOAP z użyciem WSDL]] :[[Zanurkuj w Pythonie/Wyszukiwanie w Google]] :[[Zanurkuj w Pythonie/Rozwiązywanie problemów]] :[[Zanurkuj w Pythonie/SOAP - podsumowanie]] ;Testowanie jednostkowe :[[Zanurkuj w Pythonie/Wprowadzenie do liczb rzymskich]] :[[Zanurkuj w Pythonie/Testowanie - nurkujemy]] :[[Zanurkuj w Pythonie/Wprowadzenie do romantest.py]] :[[Zanurkuj w Pythonie/Testowanie poprawnych przypadków]] :[[Zanurkuj w Pythonie/Testowanie niepoprawnych przypadków]] :[[Zanurkuj w Pythonie/Testowanie zdroworozsądkowe]] ;Testowanie 2 :[[Zanurkuj w Pythonie/roman.py, etap 1]] :[[Zanurkuj w Pythonie/roman.py, etap 2]] :[[Zanurkuj w Pythonie/roman.py, etap 3]] :[[Zanurkuj w Pythonie/roman.py, etap 4]] :[[Zanurkuj w Pythonie/roman.py, etap 5]] ;Refaktoryzacja :[[Zanurkuj w Pythonie/Obsługa błędów]] :[[Zanurkuj w Pythonie/Obsługa zmieniających się wymagań]] :[[Zanurkuj w Pythonie/Refaktoryzacja]] :[[Zanurkuj w Pythonie/Postscript]] :[[Zanurkuj w Pythonie/Podsumowanie]] ;Programowanie funkcyjne :[[Zanurkuj w Pythonie/Programowanie funkcyjne]] :[[Zanurkuj w Pythonie/Znajdowanie ścieżki]] :[[Zanurkuj w Pythonie/Programowanie funkcyjne/Filtrowanie listy]] :[[Zanurkuj w Pythonie/Programowanie funkcyjne/Odwzorowywanie listy]] :[[Zanurkuj w Pythonie/Programowanie koncentrujące się na danych]] :[[Zanurkuj w Pythonie/Dynamiczne importowanie modułów]] :[[Zanurkuj w Pythonie/Programowanie funkcyjne - wszystko razem]] :[[Zanurkuj w Pythonie/Programowanie funkcyjne - podsumowanie]] ;Funkcje dynamiczne :[[Zanurkuj w Pythonie/Funkcje dynamiczne]] :[[Zanurkuj w Pythonie/plural.py, etap 1]] :[[Zanurkuj w Pythonie/plural.py, etap 2]] :[[Zanurkuj w Pythonie/plural.py, etap 3]] :[[Zanurkuj w Pythonie/plural.py, etap 4]] :[[Zanurkuj w Pythonie/plural.py, etap 5]] :[[Zanurkuj w Pythonie/plural.py, etap 6]] :[[Zanurkuj w Pythonie/Funkcje dynamiczne - podsumowanie]] ;Optymalizacja szybkości :[[Zanurkuj w Pythonie/Optymalizacja szybkości]] :[[Zanurkuj w Pythonie/Korzystanie z modułu timeit]] :[[Zanurkuj w Pythonie/Optymalizacja wyrażeń regularnych]] :[[Zanurkuj w Pythonie/Optymalizacja przeszukiwania słownika]] :[[Zanurkuj w Pythonie/Optymalizacja operacji na listach]] :[[Zanurkuj w Pythonie/Optymalizacja operacji na napisach]] :[[Zanurkuj w Pythonie/Optymalizacja szybkości - podsumowanie]] 7wjgia8gfo5eacd0ok324192gr2iz04 Wikipedysta:Rootoor/Książki/Foto 2 19774 544976 125494 2026-06-01T20:11:09Z Persino 2851 544976 wikitext text/x-wiki {{zapisane_książki}} === Podręcznik dla początkujących i średniozaawansowanych === :[[Fotografia/Okładka]] :[[Fotografia/O podręczniku]] :[[Fotografia/Historia fotografii]] :[[Fotografia/Jaki wybrać sprzęt fotograficzny?]] :[[Fotografia/Rodzaje aparatów fotograficznych]] :[[Fotografia/Obiektywy]] :[[Fotografia/Akcesoria]] :[[Fotografia/Wykonywanie zdjęć]] :[[Fotografia/Przygotowanie aparatu fotograficznego do użycia]] :[[Fotografia/Czułość matrycy lub kliszy]] :[[Fotografia/Wybór obiektu do zdjęcia]] :[[Fotografia/Ustawianie ostrości]] :[[Fotografia/Ustawianie czasu i przysłony]] :[[Fotografia/Zarządzanie kolorem]] :[[Fotografia/Zdjęcia z fleszem]] :[[Fotografia/Zdjęcia panoramiczne]] :[[Fotografia/Wykonywanie zdjęć aparatami analogowymi]] :[[Fotografia/Funkcje półautomatyczne]] :[[Fotografia/Automatyczny focus]] :[[Fotografia/Wyzwalacz migawki]] :[[Fotografia/Obróbka zdjęć]] :[[Fotografia/Obróbka zdjęć z kliszy]] :[[Fotografia/Obróbka zdjęć cyfrowych]] :[[Fotografia/Wybór programu do obróbki]] :[[Fotografia/Edycja kadru]] :[[Fotografia/Edycja koloru]] :[[Fotografia/Retusz i wyostrzanie]] :[[Fotografia/Zmiana wymiarów i kompresowanie]] :[[Fotografia/Technika HDR]] :[[Fotografia/Konserwacja sprzętu fotograficznego]] :[[Fotografia/Bibliografia]] :[[Fotografia/Terminologia]] cs103p6vy67z0uhifztl0io4vkfi8j1 Wikipedysta:Rootoor/Książki/PHP 2 19802 544977 119274 2026-06-01T20:11:50Z Persino 2851 544977 wikitext text/x-wiki {{zapisane_książki}} == PHP == ;Wprowadzenie :#[[PHP/O podręczniku]] :#[[PHP/Czym jest PHP]] :#[[PHP/Możliwości]] :#[[PHP/Jak się uczyć?]] ;Instalacja :#[[PHP/Instalacja]] :#[[PHP/Instalacja/Apache]] :#[[PHP/Instalacja/MySQL 5]] :#[[PHP/Instalacja/PHP]] ;Podstawy języka :#[[PHP/Pierwszy skrypt|Pierwszy skrypt]] {{kompletność krótka|100%}} :#[[PHP/Zmienne i tablice|Zmienne i tablice]] {{kompletność krótka|100%}} :#[[PHP/Formularze|Formularze]] {{kompletność krótka|100%}} :#[[PHP/Struktury kontrolne|Struktury kontrolne]] {{kompletność krótka|100%}} :##[[PHP/Instrukcja if|Instrukcja if]] {{kompletność krótka|100%}} :##[[PHP/Instrukcja switch|Instrukcja switch]] {{kompletność krótka|100%}} :##[[PHP/Instrukcja for|Instrukcja for]] {{kompletność krótka|100%}} :##[[PHP/Instrukcja while|Instrukcja while]] {{kompletność krótka|100%}} :##[[PHP/Instrukcja do while|Instrukcja do while]] {{kompletność krótka|100%}} :##[[PHP/Instrukcja foreach|Instrukcja foreach]] {{kompletność krótka|100%}} :#[[PHP/Funkcje|Funkcje]] {{kompletność krótka|100%}} :#[[PHP/Inne elementy składni|Inne elementy składni]] {{kompletność krótka|100%}} :#[[PHP/Każdy popełnia błędy|Każdy popełnia błędy]] {{kompletność krótka|75%}} :#[[PHP/Korzystanie z dokumentacji|Korzystanie z dokumentacji]] {{kompletność krótka|100%}} :#[[PHP/Studium przypadku - Księga gości|Studium przypadku: Księga gości]] {{kompletność krótka|100%}} :#[[PHP/Ćwiczenia/Podstawy języka|Ćwiczenia]] {{kompletność krótka|75%}} ;Rozmaitości :#[[PHP/Przetwarzanie tekstu|Przetwarzanie tekstu]] {{kompletność krótka|100%}} :#[[PHP/Podstawy wyrażeń regularnych|Podstawy wyrażeń regularnych]] {{kompletność krótka|50%}} :#[[PHP/Obsługa ciastek|Obsługa ciastek]] {{kompletność krótka|100%}} :#[[PHP/Sesje|Sesje]] {{kompletność krótka|100%}} :#[[PHP/Wysyłanie e-maili|Wysyłanie e-maili]] {{kompletność krótka|100%}} :#[[PHP/Internacjonalizacja|Internacjonalizacja]] {{kompletność krótka|100%}} :#[[PHP/System plików|System plików]] {{kompletność krótka|50%}} :#[[PHP/Data i czas|Data i czas]] {{kompletność krótka|00%}} :#[[PHP/Ćwiczenia/Rozmaitości|Ćwiczenia]] ;Programowanie obiektowe === :#[[PHP/Czym jest programowanie obiektowe?|Czym jest programowanie obiektowe?]] {{kompletność krótka|100%}} :#[[PHP/Klasy i obiekty|Klasy i obiekty]] {{kompletność krótka|100%}} :#[[PHP/Konstruktory i destruktory|Konstruktory i destruktory]] {{kompletność krótka|100%}} :#[[PHP/Dziedziczenie|Dziedziczenie]] {{kompletność krótka|100%}} :#[[PHP/Interfejsy|Interfejsy]] {{kompletność krótka|100%}} :#[[PHP/Wyjątki|Wyjątki]] {{kompletność krótka|100%}} :#[[PHP/Elementy statyczne|Elementy statyczne]] {{kompletność krótka|100%}} :#[[PHP/Metody magiczne|Metody magiczne]] {{kompletność krótka|25%}} :#[[PHP/Iteratory|Iteratory]] :#[[PHP/Automatyczne ładowanie|Automatyczne ładowanie]] :#[[PHP/Ćwiczenia/Programowanie obiektowe|Ćwiczenia]] ;Bazy danych === :#[[PHP/Wstęp do baz danych|Wstęp do baz danych]] {{kompletność krótka|100%}} :##[[PHP/Projekt bazy danych|Projekt bazy danych]] {{kompletność krótka|100%}} :##[[PHP/Zarządzanie rekordami|Zarządzanie rekordami]] {{kompletność krótka|100%}} :##[[PHP/Pobieranie rekordów|Pobieranie rekordów]] {{kompletność krótka|100%}} :##[[PHP/Relacje i indeksy|Relacje i indeksy]] {{kompletność krótka|100%}} :#[[PHP/Biblioteka PDO|Biblioteka PDO]] {{kompletność krótka|100%}} :#[[PHP/Bazy danych i sesje|Bazy danych i sesje]] {{kompletność krótka|100%}} :#[[PHP/Jak to się robiło kiedyś?|Jak to się robiło kiedyś?]] {{kompletność krótka|100%}} #[[PHP/phpMyAdmin|phpMyAdmin]] {{kompletność krótka|100%}} #[[PHP/Studium przypadku/System newsów|Studium przypadku: System newsów]] {{kompletność krótka|25%}} #[[PHP/Bazy danych - Co dalej?|Bazy danych - co dalej?]] {{kompletność krótka|100%}} #[[PHP/Ćwiczenia/Bazy danych|Ćwiczenia]] ;Systemy szablonów :#[[PHP/Czym jest system szablonów?|Czym jest system szablonów?]] {{kompletność krótka|100%}} :#[[PHP/Smarty|Smarty]] {{kompletność krótka|75%}} :#[[PHP/Open Power Template|Open Power Template]] {{kompletność krótka|50%}} :#[[PHP/Ćwiczenia/Systemy szablonów|Ćwiczenia]] ;Bezpieczeństwo :#[[PHP/SQL Injection|SQL Injection]] {{kompletność krótka|25%}} :#[[PHP/Szyfrowanie#Hashowanie|Hashowanie]] {{kompletność krótka|25%}} :#[[PHP/PHP Injection|PHP Injection]] {{kompletność krótka|00%}} :#[[PHP/JS/HTML Injection|JS/HTML Injection]] :#[[PHP/Ćwiczenia/Bezpieczeństwo|Ćwiczenia]] Inne :#[[PHP/Ćwiczenia|Spis treści ćwiczeń]] :#[[PHP/Inne/Konfiguracja PHP|Konfiguracja PHP]] :#[[PHP/Inne/PHP w służbie systemu|PHP w służbie systemu]] :#[[PHP/Inne/Edytory PHP|Edytory PHP]] {{kompletność krótka|75%}} :#[[PHP/Inne/Pomoc|Pomoc]] :#[[PHP/Inne/Autorzy|Autorzy]] {{kompletność krótka|100%}} :#[[PHP/Inne/Dla twórców podręcznika|Dla twórców podręcznika]] {{kompletność krótka|100%|13.04.2005}} :#[[PHP/Inne/Wgrywanie plików na serwer|Wgrywanie plików na serwer]] ;Archiwum Archiwum zawiera fragmenty rozdziałów, które były kiedyś zaczęte, lecz póki co zostały odsunięte na później. Prace nad nimi zostaną wznowione, gdy ukończona zostanie dotychczasowa zawartość podręcznika. :#[[PHP/Dlaczego nie piszemy ciurkiem?|Dlaczego nie piszemy ciurkiem?]] {{kompletność krótka|75%}} :#[[PHP/Gdzie trzymać konfigurację?|Gdzie trzymać konfigurację?]] {{kompletność krótka|75%}} :#[[PHP/Autoryzacja i logowanie|Autoryzacja i logowanie]] :#[[PHP/Wstęp do programowania obiektowego|Wstęp do programowania obiektowego]] {{kompletność krótka|100%}} lfe09gz6477paxdddq8sonp8vpczi9w Wikipedysta:Igoraps/Książki/php 2 20321 544970 122797 2026-06-01T20:06:31Z Persino 2851 544970 wikitext text/x-wiki {{zapisane_książki}} == PHP == === Kurs === :[[PHP]] :[[PHP/O podręczniku]] :[[PHP/Czym jest PHP]] :[[PHP/Możliwości]] :[[PHP/Jak się uczyć?]] :[[PHP/Instalacja]] :[[PHP/Instalacja/Apache]] :[[PHP/Instalacja/MySQL 5]] :[[PHP/Instalacja/PHP]] :[[PHP/Pierwszy skrypt]] :[[PHP/Zmienne i tablice]] :[[PHP/Formularze]] :[[PHP/Struktury kontrolne]] :[[PHP/Instrukcja if]] :[[PHP/Instrukcja switch]] :[[PHP/Instrukcja for]] :[[PHP/Instrukcja while]] :[[PHP/Instrukcja do while]] :[[PHP/Instrukcja foreach]] :[[PHP/Funkcje]] :[[PHP/Inne elementy składni]] :[[PHP/Każdy popełnia błędy]] :[[PHP/Korzystanie z dokumentacji]] :[[PHP/Studium przypadku - Księga gości]] :[[PHP/Ćwiczenia/Podstawy języka]] :[[PHP/Przetwarzanie tekstu]] :[[PHP/Podstawy wyrażeń regularnych]] :[[PHP/Obsługa ciastek]] :[[PHP/Sesje]] :[[PHP/Wysyłanie e-maili]] :[[PHP/Internacjonalizacja]] :[[PHP/System plików]] :[[PHP/Data i czas]] :[[PHP/Czym jest programowanie obiektowe?]] :[[PHP/Klasy i obiekty]] :[[PHP/Konstruktory i destruktory]] :[[PHP/Dziedziczenie]] :[[PHP/Interfejsy]] :[[PHP/Wyjątki]] :[[PHP/Elementy statyczne]] :[[PHP/Metody magiczne]] :[[PHP/Wstęp do baz danych]] :[[PHP/Projekt bazy danych]] :[[PHP/Zarządzanie rekordami]] :[[PHP/Pobieranie rekordów]] :[[PHP/Relacje i indeksy]] :[[PHP/Biblioteka PDO]] :[[PHP/Bazy danych i sesje]] :[[PHP/Jak to się robiło kiedyś?]] :[[PHP/phpMyAdmin]] :[[PHP/Studium przypadku/System newsów]] :[[PHP/Bazy danych - Co dalej?]] :[[PHP/Czym jest system szablonów?]] :[[PHP/Smarty]] :[[PHP/Open Power Template]] :[[PHP/SQL Injection]] :[[PHP/Szyfrowanie]] :[[PHP/PHP Injection]] :[[PHP/Inne/Edytory PHP]] :[[PHP/Inne/Autorzy]] :[[PHP/Inne/Dla twórców podręcznika]] :[[PHP/Dlaczego nie piszemy ciurkiem?]] :[[PHP/Gdzie trzymać konfigurację?]] :[[PHP/Autoryzacja i logowanie]] :[[PHP/Wstęp do programowania obiektowego]] :[[PHP/Wydajność]] 33t4sss5pgvxz8uezxraihot760uzb5 Wikipedysta:Rootoor/Książki/Inkscape w praktyce 2 20536 544940 525774 2026-06-01T19:45:54Z Persino 2851 544940 wikitext text/x-wiki {{zapisane_książki}} == Inkscape w praktyce == :[[Inkscape w praktyce]] :[[Inkscape w praktyce/Wstęp do podręcznika]] :[[Inkscape w praktyce/Tworzenie efektownych napisów]] :[[Inkscape w praktyce/„Unoszący” się napis]] :[[Inkscape w praktyce/Napis z poświatą]] :[[Inkscape w praktyce/Efekt lustra]] :[[Inkscape w praktyce/Opisywanie na ścieżkach]] :[[Inkscape w praktyce/Projektowanie praktycznych ikon]] :[[Inkscape w praktyce/koperta]] :[[Inkscape w praktyce/Tarcza]] :[[Inkscape w praktyce/Wektoryzacja]] :[[Inkscape w praktyce/podstawy wektoryzacji]] poh11eqgbzux4o7ng457unoxi10gfjf Wikipedysta:WarX/Książki/test 2 21091 544983 130380 2026-06-01T20:16:21Z Persino 2851 544983 wikitext text/x-wiki {{zapisane_książki}} == Sieci:Linux == ;spis treści :[[Sieci:Linux]] :[[Sieci:Linux/brctl]] :[[Sieci:Linux/iproute2]] :[[Sieci:Linux/vconfig]] :[[Sieci:Linux/iproute2/ip]] :[[Sieci:Linux/iproute2/ip/link]] :[[Sieci:Linux/iproute2/ip/neighbour]] :[[Sieci:Linux/Netfilter]] :[[Sieci:Linux/Netfilter/iptables]] :[[Sieci:Linux/Netfilter/iptables/dopasowania]] :[[Sieci:Linux/Netfilter/iptables/akcje]] :[[Sieci:Linux/Netfilter/iptables/przykłady]] :[[Sieci:Linux/arping]] 1lbyc2ewbhiic73f94k2yn7i09jaego Wikibooks:Książki/Ekoogrodnictwo 4 22689 544934 147495 2026-06-01T19:42:22Z Persino 2851 544934 wikitext text/x-wiki {{zapisane_książki}} == Ekoogrodnictwo == :[[Ekoogrodnictwo/Wstęp]] :[[Ekoogrodnictwo/Kompostowanie]] :[[Ekoogrodnictwo/Kompostowanie/Zakładanie pryzmy]] :[[Ekoogrodnictwo/Kompostowanie/Komposty specjalne]] :[[Ekoogrodnictwo/Kompostowanie/Porady]] :[[Ekoogrodnictwo/Kompostowanie/Ściółkowanie]] :[[Ekoogrodnictwo/Płodozmian]] :[[Ekoogrodnictwo/Płodozmian/Zmianowanie]] :[[Ekoogrodnictwo/Płodozmian/Uprawa współrzędna]] :[[Ekoogrodnictwo/Płodozmian/Przykłady]] :[[Ekoogrodnictwo/Nawadnianie]] :[[Ekoogrodnictwo/Nawadnianie/Retencja]] :[[Ekoogrodnictwo/Nawadnianie/Zapotrzebowanie]] :[[Ekoogrodnictwo/Nawadnianie/Przydomowe oczyszczalnie ścieków]] :[[Ekoogrodnictwo/Nawożenie]] :[[Ekoogrodnictwo/Nawożenie/Nawozy]] :[[Ekoogrodnictwo/Nawożenie/Nawozy zielone]] :[[Ekoogrodnictwo/Nawożenie/Stosowanie nawozów]] :[[Ekoogrodnictwo/Nawożenie/Preparaty]] :[[Ekoogrodnictwo/Ochrona roślin]] :[[Ekoogrodnictwo/Ochrona roślin/Szkodniki i choroby]] :[[Ekoogrodnictwo/Ochrona roślin/Metody, preparaty handlowe]] :[[Ekoogrodnictwo/Ochrona roślin/Preparaty roślinne]] :[[Ekoogrodnictwo/Ochrona roślin/Tabela ochrony]] :[[Ekoogrodnictwo/Rośliny ozdobne]] :[[Ekoogrodnictwo/Rośliny użytkowe]] :[[Ekoogrodnictwo/Rośliny użytkowe/Brokuł]] :[[Ekoogrodnictwo/Rośliny użytkowe/Jarmuż]] :[[Ekoogrodnictwo/Rośliny użytkowe/Kalafior]] :[[Ekoogrodnictwo/Rośliny użytkowe/Kalarepa]] :[[Ekoogrodnictwo/Rośliny użytkowe/Kapusta brukselska]] :[[Ekoogrodnictwo/Rośliny użytkowe/Kapusta głowiasta]] :[[Ekoogrodnictwo/Rośliny użytkowe/Kapusta pekińska]] :[[Ekoogrodnictwo/Rośliny użytkowe/Rzepa]] :[[Ekoogrodnictwo/Rośliny użytkowe/Rzodkiew]] :[[Ekoogrodnictwo/Rośliny użytkowe/Rzodkiewka]] :[[Ekoogrodnictwo/Rośliny użytkowe/Burak ćwikłowy]] :[[Ekoogrodnictwo/Rośliny użytkowe/Marchew]] :[[Ekoogrodnictwo/Rośliny użytkowe/Pasternak]] :[[Ekoogrodnictwo/Rośliny użytkowe/Pietruszka]] :[[Ekoogrodnictwo/Rośliny użytkowe/Salsefia]] :[[Ekoogrodnictwo/Rośliny użytkowe/Seler]] :[[Ekoogrodnictwo/Rośliny użytkowe/Skorzonera]] :[[Ekoogrodnictwo/Rośliny użytkowe/Czosnek]] :[[Ekoogrodnictwo/Rośliny użytkowe/Ziemniak]] :[[Ekoogrodnictwo/Rośliny użytkowe/Bób]] :[[Ekoogrodnictwo/Rośliny użytkowe/Fasola]] :[[Ekoogrodnictwo/Rośliny użytkowe/Groch]] :[[Ekoogrodnictwo/Rośliny użytkowe/Soja]] :[[Ekoogrodnictwo/Rośliny użytkowe/Karczoch]] :[[Ekoogrodnictwo/Rośliny użytkowe/Kard]] :[[Ekoogrodnictwo/Rośliny użytkowe/Fenkuł]] :[[Ekoogrodnictwo/Rośliny użytkowe/Kukurydza]] :[[Ekoogrodnictwo/Rośliny użytkowe/Jeżyny]] :[[Ekoogrodnictwo/Rośliny użytkowe/Maliny]] cxl5s5rayuxjeogg10iaeesh4w9tzcn Wikipedysta:Adrianwo/Książki/Fotomontaż - porady dla początkujących 2 22776 544936 150815 2026-06-01T19:43:51Z Persino 2851 544936 wikitext text/x-wiki {{zapisane_książki}} == Fotomontaż - porady dla początkujących == === W tym krótkim poradniku nauczymy się od podstaw tworzyć fotomontaż i poddawać zdjęcia obróbce, przejrzymy też różnorodne typy aparatów. === :[[Fotomontaż - porady dla początkujących]] :[[Fotomontaż - porady dla początkujących/Zanim zaczniemy]] :[[Fotomontaż - porady dla poczatkujących/Oprogramowanie]] :[[Fotomontaż - porady dla początkujących/Narzędzia i akcesoria]] :[[Fotomontaż - porady dla początkujących/GIMP - informacje]] hp9kg99p7fi2xj4r6g8vsac7yxbv9aa Wikipedysta:WarX/Książki/Sieci:Linux 2 24102 544978 160173 2026-06-01T20:12:45Z Persino 2851 544978 wikitext text/x-wiki {{zapisane_książki}} == Sieci:Linux == ;spis treści :[[Sieci:Linux]] :[[Sieci:Linux/brctl]] :[[Sieci:Linux/vconfig]] :[[Sieci:Linux/iproute2]] :[[Sieci:Linux/iproute2/ip]] :[[Sieci:Linux/iproute2/ip/address]] :[[Sieci:Linux/iproute2/ip/link]] :[[Sieci:Linux/iproute2/ip/neighbour]] :[[Sieci:Linux/iproute2/ip/route]] :[[Sieci:Linux/iproute2/ip/rule]] :[[Sieci:Linux/iproute2/tc]] :[[Sieci:Linux/iproute2/tc/qdisc]] :[[Sieci:Linux/Netfilter]] :[[Sieci:Linux/Netfilter/iptables]] :[[Sieci:Linux/Netfilter/iptables/dopasowania]] :[[Sieci:Linux/Netfilter/iptables/akcje]] :[[Sieci:Linux/Netfilter/iptables/przykłady]] :[[Sieci:Linux/arping]] d4kw57elqxdf7pm42x3rjmavdo1khxf Wikipedysta:Kompowiec2/Książki/Ubuntu 2 24490 544985 180159 2026-06-01T20:17:16Z Persino 2851 544985 wikitext text/x-wiki {{zapisane_książki}} ;Wstęp :[[Ubuntu/Wstęp]] ;O Ubuntu :[[Ubuntu/O Ubuntu]] :[[Ubuntu/Dlaczego warto używać Ubuntu]] :[[Ubuntu/Dlaczego nie warto używać Ubuntu]] :[[Ubuntu/Jak zdobyć Ubuntu]] :[[Ubuntu/Gdzie uzyskac pomoc]] ;Instalacja i konfiguracja :[[Ubuntu/Instalacja systemu]] :[[Ubuntu/Instalacja systemu na nośniku USB]] :[[Ubuntu/Instalacja systemu w Windows]] :[[Ubuntu/Konfiguracja systemu]] ;Prolog :[[Ubuntu/Pierwszy rzut oka na system]] ;Menu główne systemu ;Programy :[[Ubuntu/Akcesoria]] :[[Ubuntu/Programy biurowe]] :[[Ubuntu/Programy multimedialne]] :[[Ubuntu/Programy multimedialne/Nagrywanie płyt]] :[[Ubuntu/Programy multimedialne/Odtwarzanie filmów]] :[[Ubuntu/Programy multimedialne/Odtwarzanie muzyki]] :[[Ubuntu/Programy graficzne]] :[[Ubuntu/Gry]] :[[Ubuntu/Programy internetowe]] :[[Ubuntu/Programy internetowe/Pobieranie plików w sieci BitTorrent]] :[[Ubuntu/Programy internetowe/Konfiguracja połączenia z portalem społecznościowym]] :[[Ubuntu/Programy internetowe/Konfiguracja zdalnego połączenia]] :[[Ubuntu/Programy internetowe/Konfiguracja komunikatora internetowego]] :[[Ubuntu/Konfiguracja przeglądarki Firefox]] :[[Ubuntu/Konfiguracja programu pocztowego]] :[[Ubuntu/Instalacja dodatkowego oprogramowania (za pomocą Centrum oprogramowania Ubuntu)]] ;System - preferencje :[[Ubuntu/Bluetooth]] :[[Ubuntu/Dźwięk]] :[[Ubuntu/Klawiatura]] :[[Ubuntu/Menu główne]] :[[Ubuntu/Rozdzielczość ekranu]] :[[Ubuntu/Mysz]] :[[Ubuntu/O mnie]] :[[Ubuntu/Połączenia sieciowe]] :[[Ubuntu/Preferowane aplikacje]] :[[Ubuntu/Programy startowe]] :[[Ubuntu/Skróty klawiszowe]] :[[Ubuntu/Ubuntu One]] :[[Ubuntu/Wygaszacz ekranu]] :[[Ubuntu/Wygląd]] :[[Ubuntu/Zarządzanie zasilaniem]] ;System - administracja :[[Ubuntu/Asystent dysku uruchomieniowego]] :[[Ubuntu/Czas i data]] :[[Ubuntu/Konfiguracja drukarki]] :[[Ubuntu/Ekran logowania]] :[[Ubuntu/Wybór języka]] :[[Ubuntu/Aktualizacja systemu]] :[[Ubuntu/Instalacja dodatkowego oprogramowania (za pomocą Synaptic)]] :[[Ubuntu/Monitor systemu]] :[[Ubuntu/Narzędzie do obsługi dysków]] :[[Ubuntu/Sprzątanie systemu]] :[[Ubuntu/Sterowniki]] :[[Ubuntu/Użytkownicy i grupy]] ;Bezpieczeństwo :[[Ubuntu/Zabezpieczenie systemu]] :[[Ubuntu/Zapora ogniowa]] :[[Ubuntu/Program antywirusowy]] :[[Ubuntu/Usuwanie rootkitów]] :[[Ubuntu/Anonimowość w sieci]] ;Tryb tekstowy :[[Ubuntu/Pierwszy raz z trybem tekstowym]] :[[Ubuntu/Podstawowe polecenia]] :[[Ubuntu/Dostęp do konta root]] :[[Ubuntu/Zarządzanie pakietami]] :[[Ubuntu/Kompilacja programów ze źródeł]] :[[Ubuntu/Kompilacja jądra]] ;Instalacja dodatkowego oprogramowania i sprzętu ;Programy internetowe :[[Ubuntu/Instalacja Kadu]] :[[Ubuntu/Skype]] :[[Ubuntu/Przeglądarka Opera]] :[[Ubuntu/Przeglądarka Google-Chrome]] :[[Ubuntu/Thunderbird]] ;Programy multimedialne :[[Ubuntu/Instalacja kodeków i polskich czcionek]] :[[Ubuntu/Instalacja Xine]] :[[Ubuntu/Odtwarzacz MPlayer]] :[[Ubuntu/Odtwarzacz VLC]] :[[Ubuntu/Odtwarzacz Audacious]] ;Programy graficzne :[[Ubuntu/Gimp]] ;Wirtualizacja :[[Ubuntu/VirtualBox]] ;Wine :[[Ubuntu/Instalacja Wine]] ;Środowiska graficzne i dodatki :[[Ubuntu/Instalacja innych środowisk graficznych]] :[[Ubuntu/Tuning GNOME]] :[[Ubuntu/Tuning KDE]] :[[Ubuntu/Tuning XFCE4]] :[[Ubuntu/Compiz-fusion]] :[[Ubuntu/Screenlets]] :[[Ubuntu/gDesklets]] :[[Ubuntu/Wbar]] :[[Ubuntu/Conky]] ;FAQ :[[Ubuntu/FAQ]] ;Linki :[[Ubuntu/Linki]] 6hv8833tfm4uz7xoo5du85fhwvs721h Wikipedysta:Kompowiec2/Książki/Debian - Uniwersalna instalacja 2 24494 544930 191875 2026-06-01T19:40:31Z Persino 2851 544930 wikitext text/x-wiki {{zapisane_książki}} == Debian == === Wstęp === :[[Debian - uniwersalna instalacja/O podręczniku]] === Instalacja i konfiguracja === :[[Debian - uniwersalna instalacja/Pobranie i nagranie obrazu systemu]] :[[Debian - uniwersalna instalacja/Instalacja systemu podstawowego]] :[[Debian - uniwersalna instalacja/Wybór wersji systemu]] :[[Debian - uniwersalna instalacja/Instalacja systemu grafiki]] :[[Debian/Wybór menedżera logowania]] :[[Debian - uniwersalna instalacja/Wybór środowiska graficznego]] :[[Debian - uniwersalna instalacja/Instalacja Debiana na nForce2 i dyskach SATA]] === Prolog === :[[Debian - uniwersalna instalacja/Pierwsze uruchomienie]] === System zarządzania pakietami === :[[Debian - uniwersalna instalacja/Instalacja dodatkowego oprogramowania]] :[[Debian/Repozytoria zewnętrzne i klucze publiczne]] :[[Debian - uniwersalna instalacja/Dselect|Dselect]] === Bezpieczeństwo === :[[Debian - uniwersalna instalacja/Konfigurowanie iptables|Konfigurowanie iptables]] :[[Debian - uniwersalna instalacja/Aktualizacja systemu]] :[[Debian - uniwersalna instalacja/Aktualizacja wsteczna systemu]] === Dodatki === :[[Debian - uniwersalna instalacja/Znane błędy]] :[[Debian - uniwersalna instalacja/Bibliografia]] :[[Debian - uniwersalna instalacja/Przydatne linki]] :[[Debian - uniwersalna instalacja/Zakończenie]] 5xcali3aiiq8th43cabehwo0fnx5u8g Wikipedysta:Polimerek/Książki/Przewodnik po OZE draft 2 24503 544974 165423 2026-06-01T20:09:38Z Persino 2851 544974 wikitext text/x-wiki {{zapisane_książki}} == Przewodnik po OZE == :[[Przewodnik po OZE/Okładka]] :[[Przewodnik po OZE]] :[[Przewodnik po OZE/O Przewodniku]] :[[Przewodnik po OZE/Otwartość w edukacji]] :[[Przewodnik po OZE/Otwarte Zasoby Edukacyjne]] :[[Przewodnik po OZE/Licencje]] :[[Przewodnik po OZE/Domena publiczna]] :[[Przewodnik po OZE/Katalog Otwartych Zasobów Edukacyjnych]] :[[Przewodnik po OZE/Wyszukiwanie Otwartych Zasobów Edukacyjnych]] :[[Przewodnik po OZE/Jak być nauczycielem otwartym?]] :[[Przewodnik po OZE/Publikowanie i oznaczanie treści licencjami]] :[[Przewodnik po OZE/Bibliografia]] 5j1sitqdwvitwqrg3vmotsopjche8em Wikipedysta:Tracerneo/Książki/Japoński 2 24524 544944 165724 2026-06-01T19:48:30Z Persino 2851 544944 wikitext text/x-wiki {{zapisane_książki}} == Japoński == === Kompletny Podręcznik === ;Wstęp :[[Japoński]] ;Lekcje Kana - hiragana i katakana :[[Japoński/Lekcje Kana]] :[[Japoński/Kana]] :[[Japoński/Romaji]] :[[Japoński/Wymowa]] :[[Japoński/Czytanie znaków]] ;Hiragana :[[Japoński/Hiragana]] :[[Japoński/Hiragana/Lekcja 1]] :[[Japoński/Hiragana/Lekcja 2]] :[[Japoński/Hiragana/Lekcja 3]] :[[Japoński/Hiragana/Lekcja 4]] :[[Japoński/Hiragana/Lekcja 5]] :[[Japoński/Hiragana/Lekcja 6]] :[[Japoński/Hiragana/Lekcja 7]] :[[Japoński/Hiragana/Lekcja 8]] :[[Japoński/Hiragana/Lekcja 9]] :[[Japoński/Hiragana/Lekcja 10]] :[[Japoński/Hiragana/Ćwiczenia 1]] :[[Japoński/Hiragana/Ćwiczenia 2]] ;Katakana :[[Japoński/Katakana]] :[[Japoński/Katakana/Lekcja 1]] :[[Japoński/Katakana/Lekcja 2]] :[[Japoński/Katakana/Lekcja 3]] :[[Japoński/Katakana/Lekcja 4]] :[[Japoński/Katakana/Lekcja 5]] :[[Japoński/Katakana/Lekcja 6]] :[[Japoński/Katakana/Lekcja 7]] :[[Japoński/Katakana/Lekcja 8]] :[[Japoński/Katakana/Lekcja 9]] :[[Japoński/Katakana/Lekcja 10]] :[[Japoński/Katakana/Ćwiczenia 1]] :[[Japoński/Katakana/Ćwiczenia 2]] :[[Japoński/Reprezentacja pozostałych dźwięków]] :[[Japoński/Ćwiczenia katakana i hiragana]] :[[Japoński/Ćwiczenia katakana i hiragana/Rozwiązania]] :[[Japoński/Katakana/Podobne znaki kana]] ;Lekcje Kanji :[[Japoński/Lekcje Kanji]] :[[Japoński/Kanji]] :[[Japoński/Kanji/Lekcja 1]] :[[Japoński/Kanji/Lekcja 2]] :[[Japoński/Kanji/Lekcja 3]] :[[Japoński/Kanji/Lekcja 4]] :[[Japoński/Kanji/Lekcja 5]] :[[Japoński/Kanji/Lekcja 6]] :[[Japoński/Kanji/Lekcja 7]] :[[Japoński/Kanji/Lekcja 8]] :[[Japoński/Kanji/Lekcja 9]] :[[Japoński/Kanji/Lekcja 10]] :[[Japoński/Kanji/Lekcja 11]] :[[Japoński/Kanji/Lekcja 12]] :[[Japoński/Kanji/Lekcja 13]] :[[Japoński/Kanji/Lekcja 14]] :[[Japoński/Kanji/Lekcja 15]] :[[Japoński/Kanji/Lekcja 16]] ;Podstawy japońskiego :[[Japoński/Podstawy japońskiego]] :[[Japoński/Lekcja/Przedstawianie się]] :[[Japoński/Lekcja/Co to jest?]] :[[Japoński/Lekcja/Tam jest kot]] :[[Japoński/Lekcja/Gdzie to jest?]] :[[Japoński/Lekcja/Pytania o coś]] :[[Japoński/Lekcja/Czas]] :[[Japoński/Lekcja/Partykuły tematu]] :[[Japoński/Podstawy japońskiego/Odpowiedzi/Lekcja 1]] :[[Japoński/Podstawy japońskiego/Odpowiedzi/Lekcja 2]] ;Kurs podstawowy :[[Japoński/Kurs podstawowy]] :[[Japoński/Podstawy Lekcja 1]] :[[Japoński/Podstawy Lekcja 2]] :[[Japoński/Podstawy Lekcja 3]] ;Gramatyka :[[Japoński/Gramatyka]] :[[Japoński/Gramatyka wprowadzenie]] :[[Japoński/Przydatne japońskie zwroty]] :[[Japoński/Podstawowe zwroty]] :[[Japoński/Rzeczowniki]] :[[Japoński/Przymiotniki]] :[[Japoński/Czasowniki]] :[[Japoński/Partykuły]] :[[Japoński/Zaimki]] :[[Japoński/Liczebniki]] :[[Japoński/Wyrażenia ilości w języku japońskim]] :[[Japoński/Klasyfikatory]] :[[Japoński/Spójka desu]] :[[Japoński/Aru Iru]] :[[Japoński/Forma grzecznościowa]] :[[Japoński/Wyrażenia czasowe w języku japońskim]] ;Dodatki :[[Japoński/Egzaminy]] :[[Japoński/Słownictwo JLPT 4]] :[[Japoński/YonKyuu Kanji]] :[[Japoński/Przewodnik JLPT]] :[[Japoński/Słownictwo JLPT 3]] ;Czytelnia :[[Japoński/Czytelnia]] ;Bajki i opowiadania :[[Japoński/ももたろう]] :[[Japoński/ももたろう lekcja]] ;Teksty piosenek :[[Japoński/清しこの夜星は光り]] :[[Japoński/眠る御子は夢まどか]] :[[Japoński/君が代]] ;Dodatki :[[Japoński/Dodatki]] :[[Japoński/Słownictwo rzeczowniki]] :[[Japoński/Słownictwo czasowniki]] :[[Japoński/Słownictwo przymiotniki]] :[[Japoński/Przysłowia]] :[[Japoński/Kolory]] :[[Japoński/Dni]] :[[Japoński/Miesiące]] :[[Japoński/Czas]] :[[Japoński/Nazwy krajów]] :[[Japoński/Nazwy języków]] :[[Japoński/Wszechświat]] :[[Japoński/Pory roku pogoda]] :[[Japoński/Zwierzęta]] :[[Japoński/Jedzenie i picie]] :[[Japoński/Onomatopeja]] :[[Japoński/Odnośniki]] :[[Japoński/Programy]] ;Inne :[[Pisownia Wschodniej Azji]] :[[Pisownia Wschodniej Azji/Wprowadzenie]] :[[Pisownia Wschodniej Azji/Lekcja 1-01]] :[[Pisownia Wschodniej Azji/Lekcja 1-02]] :[[Aneks/Obsługa znaków wschodnioazjatyckich]] :[[Japoński/O podręczniku]] kpkatzxa15raww58grtix3hk09v98gp Wikipedysta:Kompowiec2/Książki/ModPlug Tracker 2 24529 544963 165708 2026-06-01T20:02:35Z Persino 2851 544963 wikitext text/x-wiki {{zapisane_książki}} ;Informacje wstępne :[[ModPlug Tracker/Wprowadzenie]] :[[ModPlug Tracker/O podręczniku]] ;Kurs ModPlug Trackera :[[ModPlug Tracker/Lekcja pierwsza]] :[[ModPlug Tracker/Lekcja druga]] :[[ModPlug Tracker/Lekcja trzecia]] :[[ModPlug Tracker/Lekcja czwarta]] :[[ModPlug Tracker/Co dalej?]] ;Dodatki :[[ModPlug Tracker/Efekty specjalne]] :[[ModPlug Tracker/Internet]] :[[ModPlug Tracker/Słowniczek]] a7k2ntrqctdcxdmnmkw528khepx4xdn Wikipedysta:Kompowiec2/Książki/Metody matematyczne fizyki 2 24530 544960 444952 2026-06-01T20:00:03Z Persino 2851 544960 wikitext text/x-wiki {{zapisane_książki}} :[[Metody matematyczne fizyki/Działania na wektorach]] :[[Metody matematyczne fizyki/Rachunek tensorowy]] :[[Metody matematyczne fizyki/Układ współrzędnych]] :[[Metody matematyczne fizyki/Obrót układu współrzędnych]] :[[Metody matematyczne fizyki/Kula zanurzona w przestrzeni n-wymiarowej]] :[[Metody matematyczne fizyki/Operatory różniczkowe]] :[[Metody matematyczne fizyki/Wprowadzenie do funkcji zespolonej]] :[[Metody matematyczne fizyki/Wprowadzenie do wielomianów ortogonalnych]] :[[Metody matematyczne fizyki/Funkcje sferyczne w matematyce]] :[[Metody matematyczne fizyki/Funkcje Bessela]] :[[Metody matematyczne fizyki/Dystrybucje jako funkcje uogólnione]] :[[Metody matematyczne fizyki/Szeregi Fouriera]] :[[Metody matematyczne fizyki/Wstęp do transformacji Fouriera]] :[[Metody matematyczne fizyki/Wprowadzenie do teorii operatorów liniowych]] :[[Metody matematyczne fizyki/Grupy i ich reprezentacje]] :[[Metody matematyczne fizyki/Rachunek wariacyjny]] :[[Metody matematyczne fizyki/Transformacja Laplace'a]] :[[Metody matematyczne fizyki/Równania różnicowe liniowe]] :[[Metody matematyczne fizyki/Funkcje Greena]] :[[Fizyka teoretyczna/Bibliografia]] 4u7vsgs4mm23kb8klxcq0h5sxqgg621 Wikipedysta:Kompowiec2/Książki/Jak zrobić dobry zielnik 2 24531 544943 165710 2026-06-01T19:47:51Z Persino 2851 544943 wikitext text/x-wiki {{zapisane_książki}} :[[Jak zrobić dobry zielnik/Po co robi się zielniki i na jaki temat?]] :[[Jak zrobić dobry zielnik/Jakie rośliny i jak je rozpoznać?]] :[[Jak zrobić dobry zielnik/Jak przygotowuje się kartę zielnikową i suszy rośliny?]] :[[Jak zrobić dobry zielnik/Jakie są najczęstsze błędy?]] oe4g8zunqcy0ff783tb9ljamcjgxbgk Wikibooks:Książki/Komputer w praktyce 4 24963 544950 171154 2026-06-01T19:53:19Z Persino 2851 544950 wikitext text/x-wiki {{zapisane_książki}} == Komputer == === W praktyce === ;Wstęp :[[Komputer w praktyce/Do czego przyda nam się komputer|Do czego przyda nam się komputer]] ;Nowy komputer :[[Komputer w praktyce/Wybierz z głową|Wybierz z głową]] :[[Komputer w praktyce/Prosto z pudełka|Prosto z pudełka]] :[[Komputer w praktyce/Mam komputer|Mam komputer]] :[[Komputer w praktyce/Oprogramowanie|Oprogramowanie]] ;Obsługa komputera :[[Komputer w praktyce/ABC zestawu komputerowego|ABC zestawu komputerowego]] :[[Komputer w praktyce/Oprogramowanie|Oprogramowanie]] :[[Komputer w praktyce/Pierwsze uruchomienie|Pierwsze uruchomienie]] :[[Komputer w praktyce/Obsługa zestawu komputerowego|Obsługa zestawu komputerowego]] :[[Komputer w praktyce/Zastosowania komputera|Zastosowania komputera]] 86lu2vfbeejzomo6twjfyawy2fb7cok Wikipedysta:MadaMag/Książki/Linux 2 25490 544953 175208 2026-06-01T19:55:17Z Persino 2851 544953 wikitext text/x-wiki {{zapisane_książki}} == Linux == === Wikibooks (12.2011) === :[[Linux]] :[[Linux/Wstęp|Wstęp]] :[[Linux/Czym jest Linux?|Czym jest Linux?]] :[[Linux/Historia|Historia]] :[[Linux/Dlaczego Linux|Dlaczego Linux]] :[[Linux/Przegląd dystrybucji|Przegląd dystrybucji]] :[[Linux/Migracja z Windows|Migracja z Windows]] :[[Linux/Gdzie szukać pomocy|Gdzie szukać pomocy]] :[[Linux/Śmieszne rzeczy|Śmieszne rzeczy]] :[[Linux/Zastosowania|Zastosowania]] :[[Linux/Zastosowania/Edukacja|Edukacja]] :[[Linux/Zastosowania/Grafika|Grafika]] :[[Linux/Zastosowania/Klastry obliczeniowe|Klastry obliczeniowe]] :[[Linux/Definicje|Definicje]] :[[Linux/Definicje/System operacyjny|System operacyjny]] :[[Linux/Definicje/Jądro|Jądro]] :[[Linux/Definicje/Pamięć|Pamięć]] :[[Linux/Definicje/Użytkownicy i grupy|Użytkownicy i grupy]] :[[Linux/Definicje/Plik|Plik]] :[[Linux/Definicje/Urządzenia|Urządzenia]] :[[Linux/Definicje/Terminal|Terminal]] :[[Linux/Definicje/Proces|Proces]] :[[Linux/Definicje/Wielozadaniowość|Wielozadaniowość]] :[[Linux/Definicje/Powłoka|Powłoka]] :[[Linux/Definicje/Biblioteka|Biblioteka]] :[[Linux/Definicje/Demon|Demon]] :[[Linux/Definicje/Runlevel|Runlevel]] :[[Linux/Więcej o fork i exec|Więcej o fork i exec]] :[[Linux/Model warstwowy|Model warstwowy]] :[[Linux/Moduły ładowalne|Moduły ładowalne]] :[[Linux/System plików/System plików Linuksa|System plików Linuksa]] :[[Linux/System plików/Montowanie i demontowanie|Montowanie i demontowanie]] :[[Linux/System plików/Drzewo katalogów|Drzewo katalogów]] :[[Linux/Procesy|Procesy]] :[[Linux/Sieć|Sieć]] :[[Linux/Aplikacje/Powłoka BASH|Powłoka BASH]] :[[Linux/Aplikacje/Polecenia|Polecenia]] :[[Linux/GRUB|GRUB]] m6hkfbgsr0el95ii8ve72mtzzo4dmtl Szablon:Wersja ePUB 10 25760 544837 544793 2026-06-01T15:51:04Z Persino 2851 544837 wikitext text/x-wiki <templatestyles src="Szablon:Wersja do druku/styles.css" />{{Div|klasa=noprint szablon_wersji_linków_do_stron wersja_ePUB| {{Div|{{Div|{{Plik|plik=Epub-logo-color-book.png|rozmiar=50px|opis=Wikibooks|rys=tak}}}}}} {{Div|{{Div|Dostępna jest '''''{{lf|{{Jeśli niepuste|{{{1|}}}|{{NAZWASTRONY|{{FULLPAGENAME}}}}}}.epub|wersja ePUB}}''''' podręcznika: '''„{{lo|{{Jeśli niepuste|{{{3|}}}|{{PEŁNANAZWAKSIĄŻKI|{{FULLPAGENAME}}}}|{{NAZWAKSIĄŻKI|{{FULLPAGENAME}}}}}}}}”'''. {{Small|{{Jeśli niepuste|{{{2|}}}}} ({{lf|{{Jeśli niepuste|{{{1|}}}|{{NAZWASTRONY|{{FULLPAGENAME}}}}}}.epub|info}})}}}}}}}}<!-- -->{{#switch:{{NAMESPACE}}||Wikijunior={{Kategoria|Podręczniki z wersją ePUB}}}}<!-- --><noinclude>{{Dokumentacja}}</noinclude> eue7umswa2e1kyuoagfp40qsa6rbui6 Wikipedysta:Kompowiec2/Książki/Uciążliwość zapachowa 2 26069 544988 180950 2026-06-01T20:19:06Z Persino 2851 544988 wikitext text/x-wiki {{zapisane_książki}} :[[Uciążliwość_zapachowa/Okładka|'''Uciążliwość zapachowa''']] :[[Uciążliwość zapachowa/Wstęp|Wstęp]] :[[Uciążliwość zapachowa/Wprowadzenie|Wprowadzenie]] :[[Uciążliwość zapachowa/Węch człowieka|Węch człowieka]] :[[Uciążliwość zapachowa/Węch człowieka/Elementy anatomii narządu węchu|> Elementy anatomii narządu węchu]] :[[Uciążliwość zapachowa/Węch człowieka/Elementy fizjologii narządu węchu|> Elementy fizjologii narządu węchu]] :[[Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu|> Receptory węchowe i kodowanie zapachu]] :[[Uciążliwość zapachowa/Klasyfikacja zapachów według rodzaju|Klasyfikacja zapachów według rodzaju]] :[[Uciążliwość zapachowa/Prawa psychofizyczne w olfaktometrii|Prawa psychofizyczne w olfaktometrii]] :[[Uciążliwość zapachowa/Analiza sensoryczna|Analiza sensoryczna]] :[[Uciążliwość zapachowa/Analiza sensoryczna/Testy psychofizyczne|> Testy psychofizyczne]] :[[Uciążliwość zapachowa/Analiza sensoryczna/Zakres zastosowań analizy sensorycznej|> Zakres zastosowań analizy sensorycznej]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu|Instrumentalne pomiary zapachu]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu/Elektroniczny nos|> Elektroniczny nos]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu/System GC-NN|> System GC-NN]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu/Odtwarzacz zapachu|> Odtwarzacz zapachu]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska|Olfaktometria inżynierska]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Pobieranie próbek|> Pobieranie próbek]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Olfaktometria dynamiczna|> Olfaktometria dynamiczna]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Olfaktometria statyczna|> Olfaktometria statyczna]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Dokładność olfaktometrii dynamicznej|> Dokładność olfaktometrii dynamicznej]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Dokładność olfaktometrii statycznej|> Dokładność olfaktometrii statycznej]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Olfaktometria terenowa|> Olfaktometria terenowa]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Zestawienie najważniejszych pojęć|> Zestawienie najważniejszych pojęć]] :[[Uciążliwość zapachowa/Modelowanie dyspersji odorantów|Modelowanie dyspersji odorantów]] :[[Uciążliwość zapachowa/Modelowanie dyspersji odorantów/Rodzaje modeli|> Rodzaje modeli]] :[[Uciążliwość zapachowa/Modelowanie dyspersji odorantów/Model referencyjny|> Model referencyjny]] :[[Uciążliwość zapachowa/Standardy zapachowej jakości powietrza|Standardy zapachowej jakości powietrza]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady|Zapachowa uciążliwość emitorów – przykłady]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Fermy trzody chlewnej|> Fermy trzody chlewnej]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Fermy norek|> Fermy norek]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Oczyszczalnie ścieków komunalnych|> Oczyszczalnie ścieków komunalnych]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Produkcja kwasu fosforowego|> Produkcja kwasu fosforowego]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów|Metody dezodoryzacji gazów]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Adsorpcja|> Adsorpcja]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Absorpcja|> Absorpcja]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Biofiltry i biopłuczki|> Biofiltry i biopłuczki]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Spalanie|> Spalanie]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Inne metody dezodoryzacji|> Inne metody dezodoryzacji]] :[[Uciążliwość zapachowa/Metody oceny skuteczności dezodoryzacji|Metody oceny skuteczności dezodoryzacji]] :[[Uciążliwość zapachowa/Indeks|Indeks]] dd6knw6koc3v84n5vuhig25lqycko5f Wikipedysta:Joanna Kośmider/Książki/Uciążliwość zapachowa 2 26220 544987 181347 2026-06-01T20:18:33Z Persino 2851 544987 wikitext text/x-wiki {{zapisane_książki}} :[[Uciążliwość zapachowa/Okładka|'''Uciążliwość zapachowa''']] :[[Uciążliwość zapachowa/Wstęp|Wstęp]] :[[Uciążliwość zapachowa/Wprowadzenie|Wprowadzenie]] :[[Uciążliwość zapachowa/Węch człowieka|Węch człowieka]] :[[Uciążliwość zapachowa/Węch człowieka/Elementy anatomii narządu węchu|> Elementy anatomii narządu węchu]] :[[Uciążliwość zapachowa/Węch człowieka/Elementy fizjologii narządu węchu|> Elementy fizjologii narządu węchu]] :[[Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu|> Receptory węchowe i kodowanie zapachu]] :[[Uciążliwość zapachowa/Klasyfikacja zapachów według rodzaju|Klasyfikacja zapachów według rodzaju]] :[[Uciążliwość zapachowa/Prawa psychofizyczne w olfaktometrii|Prawa psychofizyczne w olfaktometrii]] :[[Uciążliwość zapachowa/Analiza sensoryczna|Analiza sensoryczna]] :[[Uciążliwość zapachowa/Analiza sensoryczna/Testy psychofizyczne|> Testy psychofizyczne]] :[[Uciążliwość zapachowa/Analiza sensoryczna/Zakres zastosowań analizy sensorycznej|> Zakres zastosowań analizy sensorycznej]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu|Instrumentalne pomiary zapachu]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu/Elektroniczny nos|> Elektroniczny nos]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu/System GC-NN|> System GC-NN]] :[[Uciążliwość zapachowa/Instrumentalne pomiary zapachu/Odtwarzacz zapachu|> Odtwarzacz zapachu]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska|Olfaktometria inżynierska]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Pobieranie próbek|> Pobieranie próbek]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Olfaktometria dynamiczna|> Olfaktometria dynamiczna]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Olfaktometria statyczna|> Olfaktometria statyczna]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Dokładność olfaktometrii dynamicznej|> Dokładność olfaktometrii dynamicznej]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Dokładność olfaktometrii statycznej|> Dokładność olfaktometrii statycznej]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Olfaktometria terenowa|> Olfaktometria terenowa]] :[[Uciążliwość zapachowa/Olfaktometria inżynierska/Zestawienie najważniejszych pojęć|> Zestawienie najważniejszych pojęć]] :[[Uciążliwość zapachowa/Modelowanie dyspersji odorantów|Modelowanie dyspersji odorantów]] :[[Uciążliwość zapachowa/Modelowanie dyspersji odorantów/Rodzaje modeli|> Rodzaje modeli]] :[[Uciążliwość zapachowa/Modelowanie dyspersji odorantów/Model referencyjny|> Model referencyjny]] :[[Uciążliwość zapachowa/Standardy zapachowej jakości powietrza|Standardy zapachowej jakości powietrza]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady|Zapachowa uciążliwość emitorów – przykłady]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Fermy trzody chlewnej|> Fermy trzody chlewnej]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Fermy norek|> Fermy norek]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Oczyszczalnie ścieków komunalnych|> Oczyszczalnie ścieków komunalnych]] :[[Uciążliwość zapachowa/Zapachowa uciążliwość emitorów – przykłady/Produkcja kwasu fosforowego|> Produkcja kwasu fosforowego]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów|Metody dezodoryzacji gazów]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Adsorpcja|> Adsorpcja]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Absorpcja|> Absorpcja]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Biofiltry i biopłuczki|> Biofiltry i biopłuczki]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Spalanie|> Spalanie]] :[[Uciążliwość zapachowa/Metody dezodoryzacji gazów/Inne metody dezodoryzacji|> Inne metody dezodoryzacji]] :[[Uciążliwość zapachowa/Metody oceny skuteczności dezodoryzacji|Metody oceny skuteczności dezodoryzacji]] :[[Uciążliwość zapachowa/Obliczenia olfaktometryczne – przykłady|Obliczenia olfaktometryczne – przykłady]] :[[Uciążliwość zapachowa/Zakończenie|Zakończenie]] :[[Uciążliwość zapachowa/Indeks|Indeks]] cbeju1l30z85vttlrxef3m71ls6okjv Wikipedysta:Kompowiec2/Książki/C 2 26380 544925 182726 2026-06-01T19:38:08Z Persino 2851 544925 wikitext text/x-wiki {{zapisane_książki}} ;Wstęp :[[C/O podręczniku|O podręczniku]] :[[C/O języku C|O języku C]] :[[C/Czego potrzebujesz|Czego potrzebujesz]] :[[C/Zintegrowane środowisko programistyczne|Zintegrowane środowisko programistyczne]] :[[C/Używanie kompilatora|Używanie kompilatora]] ;C dla początkujących :[[C/Pierwszy program|Pierwszy program]] :[[C/Podstawy|Podstawy]] :[[C/Zmienne|Zmienne]] :[[C/Operatory|Operatory]] :[[C/Funkcje|Funkcje]] :[[C/Preprocesor|Preprocesor]] :[[C/Biblioteka standardowa|Biblioteka standardowa]] :[[C/Czytanie i pisanie do plików|Czytanie i pisanie do plików]] :[[C/Ćwiczenia dla początkujących|Ćwiczenia dla początkujących]] ;W głąd języka C :[[C/Tablice|Tablice]] :[[C/Wskaźniki|Wskaźniki]] :[[C/Napisy|Napisy]] :[[C/Typy złożone|Typy złożone]] :[[C/Biblioteki|Biblioteki]] :[[C/Więcej o kompilowaniu|Więcej o kompilowaniu]] :[[C/Zaawansowane operacje matematyczne|Zaawansowane operacje matematyczne]] :[[C/Powszechne praktyki|Powszechne praktyki]] :[[C/Przenośność programów|Przenośność programów]] :[[C/Łączenie z innymi językami|Łączenie z innymi językami]] :[[C/Ćwiczenia dla zaawansowanych|Ćwiczenia dla zaawansowanych]] ;Materiał rozszerzający :[[C/Tablice - więcej|Tablice - więcej]] :[[C/Wskaźniki - więcej|Wskaźniki - więcej]] :[[C/Napisy - własna implementacja|Napisy - własna implementacja]] :[[C/Składnia|Składnia]] :[[C/Przykłady z komentarzem|Przykłady z komentarzem]] ;Indeks :[[C/Indeks|Indeks]] :[[C/Biblioteka standardowa/Indeks alfabetyczny|Indeks alfabetyczny]] :[[C/Biblioteka standardowa/Indeks tematyczny|Indeks tematyczny]] plgxioo813gzxn8egx2j087i6sikjy8 Wikipedysta:Patryk1303/Książki/OGRE 2 26430 544966 183367 2026-06-01T20:04:12Z Persino 2851 544966 wikitext text/x-wiki {{zapisane_książki}} == OGRE == ;Wprowadzenie :[[OGRE/Wstęp|Wstęp]] :[[OGRE/O Ogre|O Ogre]] :[[OGRE/Instalacja|Instalacja]] :[[OGRE/Środowisko projektowe|Środowisko projektowe]] :[[OGRE/Zalążek programu OGRE|Zalążek programu OGRE]] :[[OGRE/Środowisko pracy skompilowanej aplikacji|Środowisko pracy skompilowanej aplikacji]] :[[OGRE/Trobleshooting|Trobleshooting]] ;Podstawy :[[OGRE/Jak pracuje Ogre|Jak pracuje Ogre]] :[[OGRE/Kamera, światła i cienie|Kamera, światła i cienie]] :[[OGRE/Teren, niebo i mgła|Teren, niebo i mgła]] :[[OGRE/Frame Listener i niebuforowane wejście|Frame Listener i niebuforowane wejście]] :[[OGRE/Buforowane wejście|Buforowane wejście]] :[[OGRE/CEGUI i Ogre|CEGUI i Ogre]] ;Więcej o OGRE :[[OGRE/Animacja|Animacja]] :[[OGRE/RaySceneQuery i proste użycie myszy|RaySceneQuery i proste użycie myszy]] :[[OGRE/Zaznaczanie myszą i maski SceneQuery|Zaznaczanie myszą i maski SceneQuery]] :[[OGRE/Korzystanie z wielu menadżerów sceny|Korzystanie z wielu menadżerów sceny]] ;Tworzenie świata 3D :[[OGRE/Tworzenie terenu w programie Blender|Tworzenie terenu w programie Blender]] ;Inne :[[OGRE/Aplikacja standardowa VS OGRE|Aplikacja standardowa VS OGRE]] :[[OGRE/Aplikacja minimalna VS OGRE|Aplikacja minimalna VS OGRE]] ;Dodatki :[[OGRE/Bibliografia|Bibliografia]] 3wng7hikho2vej27gx88ig479tad4zw Wikibooks:Książki/AutoIt 4 26511 544923 183884 2026-06-01T19:37:09Z Persino 2851 544923 wikitext text/x-wiki {{zapisane_książki}} ;Wstęp :[[AutoIt/O podręczniku|O podręczniku]] :[[AutoIt/O języku AutoIt|O języku AutoIt]] :[[AutoIt/Czego potrzebujesz|Czego potrzebujesz]] :[[AutoIt/SciTE|SciTE]] ;Na początek... :[[AutoIt/Pierwszy program|Pierwszy program]] :[[AutoIt/Zmienne w AutoIt|Zmienne w AutoIt]] :[[AutoIt/Operatory|Operatory]] :[[AutoIt/Instrukcje sterujące|Instrukcje sterujące]] :[[AutoIt/Funkcje|Funkcje]] :[[AutoIt/Funkcje matematyczne|Funkcje matematyczne]] :[[AutoIt/Ćwiczenia dla początkujących|Ćwiczenia dla początkujących]] ;Dla ambitnych :[[AutoIt/Funkcje rekurencyjne|Funkcje rekurencyjne]] :[[AutoIt/Funkcje polimorficzne|Funkcje polimorficzne]] :[[AutoIt/Makra|Makra]] :[[AutoIt/Operacje na plikach|Operacje na plikach]] :[[AutoIt/Tablice|Tablice]] :[[AutoIt/Napisy (stringi)|Napisy (stringi)]] :[[AutoIt/Wyrażenia regularne|Wyrażenia regularne]] :[[AutoIt/Pliki konfiguracyjne|Pliki konfiguracyjne]] :[[AutoIt/Wyskakujące okna - prosta interakcja ze skryptem|Wyskakujące okna - prosta interakcja ze skryptem]] :[[AutoIt/GUI|GUI]] :[[AutoIt/Przejmowanie kontroli|Przejmowanie kontroli]] :[[AutoIt/Dyrektywy i funkcje konfiguracyjne translatora|Dyrektywy i funkcje konfiguracyjne translatora]] :[[AutoIt/Biblioteki|Biblioteki]] :[[AutoIt/Biblioteki DLL|Biblioteki DLL]] :[[AutoIt/Obiekty COM|Obiekty COM]] :[[AutoIt/Nietypowe techniki programowania|Nietypowe techniki programowania]] ;Dodatek A :[[AutoIt/Ćwiczenia dla początkujących - przykładowe rozwiązania|Ćwiczenia dla początkujących - przykładowe rozwiązania]] :[[AutoIt/Ćwiczenia dla zaawansowanych - przykładowe rozwiązania|Ćwiczenia dla zaawansowanych - przykładowe rozwiązania]] ;Dodatek B :[[Wikibooks:GNU Free Documentation License]] dm4d80zoxvsqnv465gofkqngag7rw0s Wikipedysta:Szaman86/Książki/Podstawy Bazy Danych 2 26838 544971 186200 2026-06-01T20:07:06Z Persino 2851 544971 wikitext text/x-wiki {{zapisane_książki}} == Podstawy Bazy Danych == === SQL === ;Wstęp :[[PHP/Jak się uczyć?|Jak się uczyć?]] ;Instalacja :[[PHP/Instalacja|Instalacja]] :[[PHP/Instalacja/Apache|Apache]] :[[PHP/Instalacja/MySQL 5|MySQL 5]] :[[PHP/Instalacja/PHP|PHP]] ;Baza Danych :[[PHP/Projekt bazy danych|Projekt bazy danych]] :[[PHP/Zarządzanie rekordami|Zarządzanie rekordami]] :[[PHP/Pobieranie rekordów|Pobieranie rekordów]] :[[PHP/Relacje i indeksy|Relacje i indeksy]] :[[PHP/Biblioteka PDO|Biblioteka PDO]] 407x0k35pw3b7pryiu7nt1oeiezwcwp Wikibooks:Książki/Wikijunior:Kolory 4 26912 544907 187280 2026-06-01T18:57:39Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat dziecka - Kolory]] do [[Wikibooks:Książki/Wikijunior:Kolory]], bez pozostawienia przekierowania pod starym tytułem 187280 wikitext text/x-wiki {{zapisane_książki}} == Kolory == === - Świat dziecka - === :[[Wikijunior:Zwierzęta]] :[[Wikijunior:Kolory]] :[[Wikijunior:Kolory/Kolorowy|Kolorowy]] :[[Wikijunior:Kolory/Biały|Biały]] :[[Wikijunior:Kolory/Szary|Szary]] :[[Wikijunior:Kolory/Czarny|Czarny]] :[[Wikijunior:Kolory/Brązowy|Brązowy]] :[[Wikijunior:Kolory/Czerwony|Czerwony]] :[[Wikijunior:Kolory/Różowy|Różowy]] :[[Wikijunior:Kolory/Pomarańczowy|Pomarańczowy]] :[[Wikijunior:Kolory/Żółty|Żółty]] :[[Wikijunior:Kolory/Zielony|Zielony]] :[[Wikijunior:Kolory/Niebieski|Niebieski]] :[[Wikijunior:Kolory/Fioletowy|Fioletowy]] [[Kategoria:Książki|Świat dziecka - Kolory]] sjsj4d4bwj6zq9vdnftx6yjx7bel433 545003 544907 2026-06-01T20:27:59Z Persino 2851 545003 wikitext text/x-wiki {{zapisane_książki}} == Kolory == === - Świat dziecka - === :[[Wikijunior:Zwierzęta]] :[[Wikijunior:Kolory]] :[[Wikijunior:Kolory/Kolorowy|Kolorowy]] :[[Wikijunior:Kolory/Biały|Biały]] :[[Wikijunior:Kolory/Szary|Szary]] :[[Wikijunior:Kolory/Czarny|Czarny]] :[[Wikijunior:Kolory/Brązowy|Brązowy]] :[[Wikijunior:Kolory/Czerwony|Czerwony]] :[[Wikijunior:Kolory/Różowy|Różowy]] :[[Wikijunior:Kolory/Pomarańczowy|Pomarańczowy]] :[[Wikijunior:Kolory/Żółty|Żółty]] :[[Wikijunior:Kolory/Zielony|Zielony]] :[[Wikijunior:Kolory/Niebieski|Niebieski]] :[[Wikijunior:Kolory/Fioletowy|Fioletowy]] 5nu1gb3aijd1d161stxwmc9i7axdzts Wikibooks:Książki/Wikijunior:Owoce 4 26914 544909 191527 2026-06-01T18:58:45Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat dziecka - Owoce]] do [[Wikibooks:Książki/Wikijunior:Owoce]], bez pozostawienia przekierowania pod starym tytułem 191527 wikitext text/x-wiki {{zapisane_książki}} == Owoce == === - Świat dziecka - === :[[Wikijunior:Owoce]] :[[Wikijunior:Owoce/Autorzy|Autorzy]] :[[Wikijunior:Owoce/Indeks nazw|Indeks nazw]] :[[Wikijunior:Owoce/A|A]] :[[Wikijunior:Owoce/Agrest|Agrest]] :[[Wikijunior:Owoce/Ananas|Ananas]] :[[Wikijunior:Owoce/Arbuz|Arbuz]] :[[Wikijunior:Owoce/Aronia|Aronia]] :[[Wikijunior:Owoce/Asymina|Asymina]] :[[Wikijunior:Owoce/Awokado|Awokado]] :[[Wikijunior:Owoce/B|B]] :[[Wikijunior:Owoce/Banan|Banan]] :[[Wikijunior:Owoce/Bilimbi|Bilimbi]] :[[Wikijunior:Owoce/Borówka bagienna|Borówka bagienna]] :[[Wikijunior:Owoce/Borówka brusznica|Borówka brusznica]] :[[Wikijunior:Owoce/Borówka czarna|Borówka czarna]] :[[Wikijunior:Owoce/Borówka wysoka|Borówka wysoka]] :[[Wikijunior:Owoce/Brzoskwinia|Brzoskwinia]] :[[Wikijunior:Owoce/C|C]] :[[Wikijunior:Owoce/Cytron|Cytron]] :[[Wikijunior:Owoce/Cytryna|Cytryna]] :[[Wikijunior:Owoce/Czereśnia|Czereśnia]] :[[Wikijunior:Owoce/Czerymoja|Czerymoja]] :[[Wikijunior:Owoce/D|D]] :[[Wikijunior:Owoce/Daktyl|Daktyl]] :[[Wikijunior:Owoce/Daktyl indyjski|Daktyl indyjski]] :[[Wikijunior:Owoce/Drzewo bochenkowe|Drzewo bochenkowe]] :[[Wikijunior:Owoce/Drzewo chlebowe|Drzewo chlebowe]] :[[Wikijunior:Owoce/Durian|Durian]] :[[Wikijunior:Owoce/E|E]] :[[Wikijunior:Owoce/Eugenia jednokwiatowa|Eugenia jednokwiatowa]] :[[Wikijunior:Owoce/F|F]] :[[Wikijunior:Owoce/Figa|Figa]] :[[Wikijunior:Owoce/G|G]] :[[Wikijunior:Owoce/Granadilla|Granadilla]] :[[Wikijunior:Owoce/Granat|Granat]] :[[Wikijunior:Owoce/Grejpfrut|Grejpfrut]] :[[Wikijunior:Owoce/Gruszka|Gruszka]] :[[Wikijunior:Owoce/Gruszla|Gruszla]] :[[Wikijunior:Owoce/Guanabana|Guanabana]] :[[Wikijunior:Owoce/J|J]] :[[Wikijunior:Owoce/Jabłko|Jabłko]] :[[Wikijunior:Owoce/Jabłko cukrowe|Jabłko cukrowe]] :[[Wikijunior:Owoce/Jabłko jamajskie|Jabłko jamajskie]] :[[Wikijunior:Owoce/Jagoda kamczacka|Jagoda kamczacka]] :[[Wikijunior:Owoce/Jeżyna|Jeżyna]] :[[Wikijunior:Owoce/Jujuba|Jujuba]] :[[Wikijunior:Owoce/K|K]] :[[Wikijunior:Owoce/Karambola|Karambola]] :[[Wikijunior:Owoce/Kasztan jadalny|Kasztan jadalny]] :[[Wikijunior:Owoce/Kasztan wodny|Kasztan wodny]] :[[Wikijunior:Owoce/Kazimira jadalna|Kazimira jadalna]] :[[Wikijunior:Owoce/Kiwano|Kiwano]] :[[Wikijunior:Owoce/Kiwi|Kiwi]] :[[Wikijunior:Owoce/Kumkwat|Kumkwat]] :[[Wikijunior:Owoce/Kuruba|Kuruba]] :[[Wikijunior:Owoce/Liczi|Liczi]] :[[Wikijunior:Owoce/Lima|Lima]] :[[Wikijunior:Owoce/Longan|Longan]] :[[Wikijunior:Owoce/M|M]] :[[Wikijunior:Owoce/Makadamia|Makadamia]] :[[Wikijunior:Owoce/Malina|Malina]] :[[Wikijunior:Owoce/Malpigia|Malpigia]] :[[Wikijunior:Owoce/Mamea|Mamea]] :[[Wikijunior:Owoce/Mandarynka|Mandarynka]] :[[Wikijunior:Owoce/Mango|Mango]] :[[Wikijunior:Owoce/Mangostan właściwy|Mangostan właściwy]] :[[Wikijunior:Owoce/Marakuja|Marakuja]] :[[Wikijunior:Owoce/Melon|Melon]] :[[Wikijunior:Owoce/Migdał|Migdał]] :[[Wikijunior:Owoce/Mirabelka|Mirabelka]] :[[Wikijunior:Owoce/Mircjaria|Mircjaria]] :[[Wikijunior:Owoce/Morela|Morela]] :[[Wikijunior:Owoce/Morwa|Morwa]] :[[Wikijunior:Owoce/N|N]] :[[Wikijunior:Owoce/Nanercz|Nanercz]] :[[Wikijunior:Owoce/Nashi|Nashi]] :[[Wikijunior:Owoce/Nektarynka|Nektarynka]] :[[Wikijunior:Owoce/Nieśplik|Nieśplik]] :[[Wikijunior:Owoce/O|O]] :[[Wikijunior:Owoce/Oliwka|Oliwka]] :[[Wikijunior:Owoce/Opuncja|Opuncja]] :[[Wikijunior:Owoce/Orzech arachidowy|Orzech arachidowy]] :[[Wikijunior:Owoce/Orzech brazylijski|Orzech brazylijski]] :[[Wikijunior:Owoce/Orzech kokosowy|Orzech kokosowy]] :[[Wikijunior:Owoce/Orzech kola|Orzech kola]] :[[Wikijunior:Owoce/Orzech laskowy|Orzech laskowy]] :[[Wikijunior:Owoce/Orzech włoski|Orzech włoski]] :[[Wikijunior:Owoce/Orzeszki pistacjowe|Orzeszki pistacjowe]] :[[Wikijunior:Owoce/P|P]] :[[Wikijunior:Owoce/Pandan|Pandan]] :[[Wikijunior:Owoce/Papaja|Papaja]] :[[Wikijunior:Owoce/Pekan|Pekan]] :[[Wikijunior:Owoce/Persymona|Persymona]] :[[Wikijunior:Owoce/Pigwa|Pigwa]] :[[Wikijunior:Owoce/Pitaja|Pitaja]] :[[Wikijunior:Owoce/Pomarańcza|Pomarańcza]] :[[Wikijunior:Owoce/Pomelo|Pomelo]] :[[Wikijunior:Owoce/Porzeczka czarna|Porzeczka czarna]] :[[Wikijunior:Owoce/Porzeczka czerwona|Porzeczka czerwona]] :[[Wikijunior:Owoce/Poziomka|Poziomka]] :[[Wikijunior:Owoce/Pulasan|Pulasan]] :[[Wikijunior:Owoce/R|R]] :[[Wikijunior:Owoce/Rambutan|Rambutan]] :[[Wikijunior:Owoce/Renkloda|Renkloda]] :[[Wikijunior:Owoce/Róża dzika|Róża dzika]] :[[Wikijunior:Owoce/Róża pomarszczona|Róża pomarszczona]] :[[Wikijunior:Owoce/S|S]] :[[Wikijunior:Owoce/Saguaro|Saguaro]] :[[Wikijunior:Owoce/Salak|Salak]] :[[Wikijunior:Owoce/Sapodilla|Sapodilla]] :[[Wikijunior:Owoce/Słonecznik|Słonecznik]] :[[Wikijunior:Owoce/Ś|Ś]] :[[Wikijunior:Owoce/Śliwiec słodki|Śliwiec słodki]] :[[Wikijunior:Owoce/Śliwka|Śliwka]] :[[Wikijunior:Owoce/Świdośliwa|Świdośliwa]] :[[Wikijunior:Owoce/T|T]] :[[Wikijunior:Owoce/Tamarillo|Tamarillo]] :[[Wikijunior:Owoce/Tarnina|Tarnina]] :[[Wikijunior:Owoce/Truskawka|Truskawka]] :[[Wikijunior:Owoce/U|U]] :[[Wikijunior:Owoce/Umkokolo|Umkokolo]] :[[Wikijunior:Owoce/W|W]] :[[Wikijunior:Owoce/Winogron|Winogron]] :[[Wikijunior:Owoce/Wiśnia|Wiśnia]] :[[Wikijunior:Owoce/Ż|Ż]] :[[Wikijunior:Owoce/Żurawina|Żurawina]] [[Kategoria:Książki|Świat dziecka - Owoce]] 3jgazkngmlgyzh2r0j2odxq1lbtxnbf 545005 544909 2026-06-01T20:29:04Z Persino 2851 545005 wikitext text/x-wiki {{zapisane_książki}} == Owoce == === - Świat dziecka - === :[[Wikijunior:Owoce]] :[[Wikijunior:Owoce/Autorzy|Autorzy]] :[[Wikijunior:Owoce/Indeks nazw|Indeks nazw]] :[[Wikijunior:Owoce/A|A]] :[[Wikijunior:Owoce/Agrest|Agrest]] :[[Wikijunior:Owoce/Ananas|Ananas]] :[[Wikijunior:Owoce/Arbuz|Arbuz]] :[[Wikijunior:Owoce/Aronia|Aronia]] :[[Wikijunior:Owoce/Asymina|Asymina]] :[[Wikijunior:Owoce/Awokado|Awokado]] :[[Wikijunior:Owoce/B|B]] :[[Wikijunior:Owoce/Banan|Banan]] :[[Wikijunior:Owoce/Bilimbi|Bilimbi]] :[[Wikijunior:Owoce/Borówka bagienna|Borówka bagienna]] :[[Wikijunior:Owoce/Borówka brusznica|Borówka brusznica]] :[[Wikijunior:Owoce/Borówka czarna|Borówka czarna]] :[[Wikijunior:Owoce/Borówka wysoka|Borówka wysoka]] :[[Wikijunior:Owoce/Brzoskwinia|Brzoskwinia]] :[[Wikijunior:Owoce/C|C]] :[[Wikijunior:Owoce/Cytron|Cytron]] :[[Wikijunior:Owoce/Cytryna|Cytryna]] :[[Wikijunior:Owoce/Czereśnia|Czereśnia]] :[[Wikijunior:Owoce/Czerymoja|Czerymoja]] :[[Wikijunior:Owoce/D|D]] :[[Wikijunior:Owoce/Daktyl|Daktyl]] :[[Wikijunior:Owoce/Daktyl indyjski|Daktyl indyjski]] :[[Wikijunior:Owoce/Drzewo bochenkowe|Drzewo bochenkowe]] :[[Wikijunior:Owoce/Drzewo chlebowe|Drzewo chlebowe]] :[[Wikijunior:Owoce/Durian|Durian]] :[[Wikijunior:Owoce/E|E]] :[[Wikijunior:Owoce/Eugenia jednokwiatowa|Eugenia jednokwiatowa]] :[[Wikijunior:Owoce/F|F]] :[[Wikijunior:Owoce/Figa|Figa]] :[[Wikijunior:Owoce/G|G]] :[[Wikijunior:Owoce/Granadilla|Granadilla]] :[[Wikijunior:Owoce/Granat|Granat]] :[[Wikijunior:Owoce/Grejpfrut|Grejpfrut]] :[[Wikijunior:Owoce/Gruszka|Gruszka]] :[[Wikijunior:Owoce/Gruszla|Gruszla]] :[[Wikijunior:Owoce/Guanabana|Guanabana]] :[[Wikijunior:Owoce/J|J]] :[[Wikijunior:Owoce/Jabłko|Jabłko]] :[[Wikijunior:Owoce/Jabłko cukrowe|Jabłko cukrowe]] :[[Wikijunior:Owoce/Jabłko jamajskie|Jabłko jamajskie]] :[[Wikijunior:Owoce/Jagoda kamczacka|Jagoda kamczacka]] :[[Wikijunior:Owoce/Jeżyna|Jeżyna]] :[[Wikijunior:Owoce/Jujuba|Jujuba]] :[[Wikijunior:Owoce/K|K]] :[[Wikijunior:Owoce/Karambola|Karambola]] :[[Wikijunior:Owoce/Kasztan jadalny|Kasztan jadalny]] :[[Wikijunior:Owoce/Kasztan wodny|Kasztan wodny]] :[[Wikijunior:Owoce/Kazimira jadalna|Kazimira jadalna]] :[[Wikijunior:Owoce/Kiwano|Kiwano]] :[[Wikijunior:Owoce/Kiwi|Kiwi]] :[[Wikijunior:Owoce/Kumkwat|Kumkwat]] :[[Wikijunior:Owoce/Kuruba|Kuruba]] :[[Wikijunior:Owoce/Liczi|Liczi]] :[[Wikijunior:Owoce/Lima|Lima]] :[[Wikijunior:Owoce/Longan|Longan]] :[[Wikijunior:Owoce/M|M]] :[[Wikijunior:Owoce/Makadamia|Makadamia]] :[[Wikijunior:Owoce/Malina|Malina]] :[[Wikijunior:Owoce/Malpigia|Malpigia]] :[[Wikijunior:Owoce/Mamea|Mamea]] :[[Wikijunior:Owoce/Mandarynka|Mandarynka]] :[[Wikijunior:Owoce/Mango|Mango]] :[[Wikijunior:Owoce/Mangostan właściwy|Mangostan właściwy]] :[[Wikijunior:Owoce/Marakuja|Marakuja]] :[[Wikijunior:Owoce/Melon|Melon]] :[[Wikijunior:Owoce/Migdał|Migdał]] :[[Wikijunior:Owoce/Mirabelka|Mirabelka]] :[[Wikijunior:Owoce/Mircjaria|Mircjaria]] :[[Wikijunior:Owoce/Morela|Morela]] :[[Wikijunior:Owoce/Morwa|Morwa]] :[[Wikijunior:Owoce/N|N]] :[[Wikijunior:Owoce/Nanercz|Nanercz]] :[[Wikijunior:Owoce/Nashi|Nashi]] :[[Wikijunior:Owoce/Nektarynka|Nektarynka]] :[[Wikijunior:Owoce/Nieśplik|Nieśplik]] :[[Wikijunior:Owoce/O|O]] :[[Wikijunior:Owoce/Oliwka|Oliwka]] :[[Wikijunior:Owoce/Opuncja|Opuncja]] :[[Wikijunior:Owoce/Orzech arachidowy|Orzech arachidowy]] :[[Wikijunior:Owoce/Orzech brazylijski|Orzech brazylijski]] :[[Wikijunior:Owoce/Orzech kokosowy|Orzech kokosowy]] :[[Wikijunior:Owoce/Orzech kola|Orzech kola]] :[[Wikijunior:Owoce/Orzech laskowy|Orzech laskowy]] :[[Wikijunior:Owoce/Orzech włoski|Orzech włoski]] :[[Wikijunior:Owoce/Orzeszki pistacjowe|Orzeszki pistacjowe]] :[[Wikijunior:Owoce/P|P]] :[[Wikijunior:Owoce/Pandan|Pandan]] :[[Wikijunior:Owoce/Papaja|Papaja]] :[[Wikijunior:Owoce/Pekan|Pekan]] :[[Wikijunior:Owoce/Persymona|Persymona]] :[[Wikijunior:Owoce/Pigwa|Pigwa]] :[[Wikijunior:Owoce/Pitaja|Pitaja]] :[[Wikijunior:Owoce/Pomarańcza|Pomarańcza]] :[[Wikijunior:Owoce/Pomelo|Pomelo]] :[[Wikijunior:Owoce/Porzeczka czarna|Porzeczka czarna]] :[[Wikijunior:Owoce/Porzeczka czerwona|Porzeczka czerwona]] :[[Wikijunior:Owoce/Poziomka|Poziomka]] :[[Wikijunior:Owoce/Pulasan|Pulasan]] :[[Wikijunior:Owoce/R|R]] :[[Wikijunior:Owoce/Rambutan|Rambutan]] :[[Wikijunior:Owoce/Renkloda|Renkloda]] :[[Wikijunior:Owoce/Róża dzika|Róża dzika]] :[[Wikijunior:Owoce/Róża pomarszczona|Róża pomarszczona]] :[[Wikijunior:Owoce/S|S]] :[[Wikijunior:Owoce/Saguaro|Saguaro]] :[[Wikijunior:Owoce/Salak|Salak]] :[[Wikijunior:Owoce/Sapodilla|Sapodilla]] :[[Wikijunior:Owoce/Słonecznik|Słonecznik]] :[[Wikijunior:Owoce/Ś|Ś]] :[[Wikijunior:Owoce/Śliwiec słodki|Śliwiec słodki]] :[[Wikijunior:Owoce/Śliwka|Śliwka]] :[[Wikijunior:Owoce/Świdośliwa|Świdośliwa]] :[[Wikijunior:Owoce/T|T]] :[[Wikijunior:Owoce/Tamarillo|Tamarillo]] :[[Wikijunior:Owoce/Tarnina|Tarnina]] :[[Wikijunior:Owoce/Truskawka|Truskawka]] :[[Wikijunior:Owoce/U|U]] :[[Wikijunior:Owoce/Umkokolo|Umkokolo]] :[[Wikijunior:Owoce/W|W]] :[[Wikijunior:Owoce/Winogron|Winogron]] :[[Wikijunior:Owoce/Wiśnia|Wiśnia]] :[[Wikijunior:Owoce/Ż|Ż]] :[[Wikijunior:Owoce/Żurawina|Żurawina]] rql57mvg6h3h8u7z7lcnvr86hjsvrad Wikibooks:Książki/Wikijunior:Liczby do 10 4 26915 544908 187287 2026-06-01T18:58:10Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat dziecka - Liczby do 10]] do [[Wikibooks:Książki/Wikijunior:Liczby do 10]], bez pozostawienia przekierowania pod starym tytułem 187287 wikitext text/x-wiki {{zapisane_książki}} == Liczby do 10 == === - Świat dziecka - === :[[Wikijunior:Liczby do 10]] :[[Wikijunior:Liczby do 10/0]] :[[Wikijunior:Liczby do 10/1|1]] :[[Wikijunior:Liczby do 10/2|2]] :[[Wikijunior:Liczby do 10/3|3]] :[[Wikijunior:Liczby do 10/4|4]] :[[Wikijunior:Liczby do 10/5|5]] :[[Wikijunior:Liczby do 10/6|6]] :[[Wikijunior:Liczby do 10/7|7]] :[[Wikijunior:Liczby do 10/8|8]] :[[Wikijunior:Liczby do 10/9|9]] :[[Wikijunior:Liczby do 10/10|10]] [[Kategoria:Książki|Świat dziecka - Liczby do 10]] d93yq4cbh1euoh0vzn0nfh3v0mjd5bi 545004 544908 2026-06-01T20:28:36Z Persino 2851 545004 wikitext text/x-wiki {{zapisane_książki}} == Liczby do 10 == === - Świat dziecka - === :[[Wikijunior:Liczby do 10]] :[[Wikijunior:Liczby do 10/0]] :[[Wikijunior:Liczby do 10/1|1]] :[[Wikijunior:Liczby do 10/2|2]] :[[Wikijunior:Liczby do 10/3|3]] :[[Wikijunior:Liczby do 10/4|4]] :[[Wikijunior:Liczby do 10/5|5]] :[[Wikijunior:Liczby do 10/6|6]] :[[Wikijunior:Liczby do 10/7|7]] :[[Wikijunior:Liczby do 10/8|8]] :[[Wikijunior:Liczby do 10/9|9]] :[[Wikijunior:Liczby do 10/10|10]] b18p4lfd2txfovd4ju013vqlrv2tbfk Wikibooks:Książki/Wikijunior:Alfabet zwierząt 4 26916 544906 187288 2026-06-01T18:57:03Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat dziecka - Alfabet zwierząt]] do [[Wikibooks:Książki/Wikijunior:Alfabet zwierząt]], bez pozostawienia przekierowania pod starym tytułem 187288 wikitext text/x-wiki {{zapisane_książki}} == Alfabet zwierząt == === - Świat dziecka - === :[[Wikijunior:Alfabet zwierząt]] :[[Wikijunior:Alfabet zwierząt/Autorzy|Autorzy]] :[[Wikijunior:Alfabet zwierząt/A|A]] :[[Wikijunior:Alfabet zwierząt/B|B]] :[[Wikijunior:Alfabet zwierząt/C|C]] :[[Wikijunior:Alfabet zwierząt/Ć|Ć]] :[[Wikijunior:Alfabet zwierząt/D|D]] :[[Wikijunior:Alfabet zwierząt/E|E]] :[[Wikijunior:Alfabet zwierząt/F|F]] :[[Wikijunior:Alfabet zwierząt/G|G]] :[[Wikijunior:Alfabet zwierząt/H|H]] :[[Wikijunior:Alfabet zwierząt/I|I]] :[[Wikijunior:Alfabet zwierząt/J|J]] :[[Wikijunior:Alfabet zwierząt/K|K]] :[[Wikijunior:Alfabet zwierząt/L|L]] :[[Wikijunior:Alfabet zwierząt/Ł|Ł]] :[[Wikijunior:Alfabet zwierząt/M|M]] :[[Wikijunior:Alfabet zwierząt/N|N]] :[[Wikijunior:Alfabet zwierząt/O|O]] :[[Wikijunior:Alfabet zwierząt/P|P]] :[[Wikijunior:Alfabet zwierząt/R|R]] :[[Wikijunior:Alfabet zwierząt/S|S]] :[[Wikijunior:Alfabet zwierząt/Ś|Ś]] :[[Wikijunior:Alfabet zwierząt/T|T]] :[[Wikijunior:Alfabet zwierząt/U|U]] :[[Wikijunior:Alfabet zwierząt/W|W]] :[[Wikijunior:Alfabet zwierząt/Z|Z]] :[[Wikijunior:Alfabet zwierząt/Ź|Ź]] :[[Wikijunior:Alfabet zwierząt/Ż|Ż]] [[Kategoria:Książki|Świat dziecka - Alfabet zwierząt]] p2ec7r4u2wo8z58sy0w3jpflw9c94hr 545002 544906 2026-06-01T20:27:24Z Persino 2851 545002 wikitext text/x-wiki {{zapisane_książki}} == Alfabet zwierząt == === - Świat dziecka - === :[[Wikijunior:Alfabet zwierząt]] :[[Wikijunior:Alfabet zwierząt/Autorzy|Autorzy]] :[[Wikijunior:Alfabet zwierząt/A|A]] :[[Wikijunior:Alfabet zwierząt/B|B]] :[[Wikijunior:Alfabet zwierząt/C|C]] :[[Wikijunior:Alfabet zwierząt/Ć|Ć]] :[[Wikijunior:Alfabet zwierząt/D|D]] :[[Wikijunior:Alfabet zwierząt/E|E]] :[[Wikijunior:Alfabet zwierząt/F|F]] :[[Wikijunior:Alfabet zwierząt/G|G]] :[[Wikijunior:Alfabet zwierząt/H|H]] :[[Wikijunior:Alfabet zwierząt/I|I]] :[[Wikijunior:Alfabet zwierząt/J|J]] :[[Wikijunior:Alfabet zwierząt/K|K]] :[[Wikijunior:Alfabet zwierząt/L|L]] :[[Wikijunior:Alfabet zwierząt/Ł|Ł]] :[[Wikijunior:Alfabet zwierząt/M|M]] :[[Wikijunior:Alfabet zwierząt/N|N]] :[[Wikijunior:Alfabet zwierząt/O|O]] :[[Wikijunior:Alfabet zwierząt/P|P]] :[[Wikijunior:Alfabet zwierząt/R|R]] :[[Wikijunior:Alfabet zwierząt/S|S]] :[[Wikijunior:Alfabet zwierząt/Ś|Ś]] :[[Wikijunior:Alfabet zwierząt/T|T]] :[[Wikijunior:Alfabet zwierząt/U|U]] :[[Wikijunior:Alfabet zwierząt/W|W]] :[[Wikijunior:Alfabet zwierząt/Z|Z]] :[[Wikijunior:Alfabet zwierząt/Ź|Ź]] :[[Wikijunior:Alfabet zwierząt/Ż|Ż]] kehia5jgnvgn9zo7a1niyswc1uruz3u Wikibooks:Książki/Wikijunior:Alfabet roślin 4 26917 544905 187289 2026-06-01T18:56:07Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat dziecka - Alfabet roślin]] do [[Wikibooks:Książki/Wikijunior:Alfabet roślin]], bez pozostawienia przekierowania pod starym tytułem 187289 wikitext text/x-wiki {{zapisane_książki}} == Alfabet roślin == === - Świat dziecka - === :[[Wikijunior:Alfabet roślin]] :[[Wikijunior:Alfabet roślin/Autorzy|Autorzy]] :[[Wikijunior:Alfabet roślin/A|A]] :[[Wikijunior:Alfabet roślin/B|B]] :[[Wikijunior:Alfabet roślin/C|C]] :[[Wikijunior:Alfabet roślin/D|D]] :[[Wikijunior:Alfabet roślin/E|E]] :[[Wikijunior:Alfabet roślin/F|F]] :[[Wikijunior:Alfabet roślin/G|G]] :[[Wikijunior:Alfabet roślin/H|H]] :[[Wikijunior:Alfabet roślin/I|I]] :[[Wikijunior:Alfabet roślin/J|J]] :[[Wikijunior:Alfabet roślin/K|K]] :[[Wikijunior:Alfabet roślin/L|L]] :[[Wikijunior:Alfabet roślin/Ł|Ł]] :[[Wikijunior:Alfabet roślin/M|M]] :[[Wikijunior:Alfabet roślin/N|N]] :[[Wikijunior:Alfabet roślin/O|O]] :[[Wikijunior:Alfabet roślin/P|P]] :[[Wikijunior:Alfabet roślin/R|R]] :[[Wikijunior:Alfabet roślin/S|S]] :[[Wikijunior:Alfabet roślin/Ś|Ś]] :[[Wikijunior:Alfabet roślin/T|T]] :[[Wikijunior:Alfabet roślin/U|U]] :[[Wikijunior:Alfabet roślin/W|W]] :[[Wikijunior:Alfabet roślin/Z|Z]] :[[Wikijunior:Alfabet roślin/Ż|Ż]] :[[Wikijunior:Alfabet roślin/Spis gatunków|Spis gatunków]] [[Kategoria:Książki|Świat dziecka - Alfabet roślin]] 21w70h0amq2tuvytiw7zo7fa5auzvo8 545001 544905 2026-06-01T20:26:38Z Persino 2851 545001 wikitext text/x-wiki {{zapisane_książki}} == Alfabet roślin == === - Świat dziecka - === :[[Wikijunior:Alfabet roślin]] :[[Wikijunior:Alfabet roślin/Autorzy|Autorzy]] :[[Wikijunior:Alfabet roślin/A|A]] :[[Wikijunior:Alfabet roślin/B|B]] :[[Wikijunior:Alfabet roślin/C|C]] :[[Wikijunior:Alfabet roślin/D|D]] :[[Wikijunior:Alfabet roślin/E|E]] :[[Wikijunior:Alfabet roślin/F|F]] :[[Wikijunior:Alfabet roślin/G|G]] :[[Wikijunior:Alfabet roślin/H|H]] :[[Wikijunior:Alfabet roślin/I|I]] :[[Wikijunior:Alfabet roślin/J|J]] :[[Wikijunior:Alfabet roślin/K|K]] :[[Wikijunior:Alfabet roślin/L|L]] :[[Wikijunior:Alfabet roślin/Ł|Ł]] :[[Wikijunior:Alfabet roślin/M|M]] :[[Wikijunior:Alfabet roślin/N|N]] :[[Wikijunior:Alfabet roślin/O|O]] :[[Wikijunior:Alfabet roślin/P|P]] :[[Wikijunior:Alfabet roślin/R|R]] :[[Wikijunior:Alfabet roślin/S|S]] :[[Wikijunior:Alfabet roślin/Ś|Ś]] :[[Wikijunior:Alfabet roślin/T|T]] :[[Wikijunior:Alfabet roślin/U|U]] :[[Wikijunior:Alfabet roślin/W|W]] :[[Wikijunior:Alfabet roślin/Z|Z]] :[[Wikijunior:Alfabet roślin/Ż|Ż]] :[[Wikijunior:Alfabet roślin/Spis gatunków|Spis gatunków]] otjtfxlafh8ljfybzhbo46lp2q6jzaz Wikibooks:Książki/Wikijunior:Cywilizacje 4 26918 544902 422544 2026-06-01T18:53:08Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat ludzi - Cywilizacje]] do [[Wikibooks:Książki/Cywilizacje]], bez pozostawienia przekierowania pod starym tytułem 422544 wikitext text/x-wiki {{zapisane_książki}} == Cywilizacje == === - Świat ludzi - === :[[Wikijunior:Cywilizacje/Okładka|Okładka]] :[[Wikijunior:Cywilizacje|Spis treści]] :[[Wikijunior:Cywilizacje/Wstęp|Wstęp]] :[[Wikijunior:Cywilizacje/Ludzie paleolitu|Ludzie paleolitu]] :[[Wikijunior:Cywilizacje/Bałtowie|Bałtowie]] :[[Wikijunior:Cywilizacje/Bizantyjczycy|Bizantyjczycy]] <!--:[[Wikijunior:Cywilizacje/Budynowie|Budynowie]]--> :[[Wikijunior:Cywilizacje/Celtowie|Celtowie]] :[[Wikijunior:Cywilizacje/Dakowie|Dakowie]] :[[Wikijunior:Cywilizacje/Germanowie|Germanowie]] :[[Wikijunior:Cywilizacje/Grecy|Grecy]] :[[Wikijunior:Cywilizacje/Hunowie|Hunowie]] :[[Wikijunior:Cywilizacje/Ilirowie|Ilirowie]] :[[Wikijunior:Cywilizacje/Kimmerowie|Kimmerowie]] :[[Wikijunior:Cywilizacje/Kultura łużycka|Kultura łużycka]] :[[Wikijunior:Cywilizacje/Macedończycy|Macedończycy]] :[[Wikijunior:Cywilizacje/Madziarowie|Madziarowie]] :[[Wikijunior:Cywilizacje/Minojczycy|Minojczycy]] :[[Wikijunior:Cywilizacje/Neurowie|Neurowie]] :[[Wikijunior:Cywilizacje/Rzymianie|Rzymianie]] :[[Wikijunior:Cywilizacje/Sarmaci|Sarmaci]] :[[Wikijunior:Cywilizacje/Scytowie|Scytowie]] :[[Wikijunior:Cywilizacje/Słowianie|Słowianie]] :[[Wikijunior:Cywilizacje/Trakowie|Trakowie]] :[[Wikijunior:Cywilizacje/Egipcjanie|Egipcjanie]] :[[Wikijunior:Cywilizacje/Kartagińczycy|Kartagińczycy]] :[[Wikijunior:Cywilizacje/Nubijczycy|Nubijczycy]] :[[Wikijunior:Cywilizacje/Arabowie|Arabowie]] :[[Wikijunior:Cywilizacje/Babilończycy|Babilończycy]] :[[Wikijunior:Cywilizacje/Elamici|Elamici]] :[[Wikijunior:Cywilizacje/Fenicjanie|Fenicjanie]] :[[Wikijunior:Cywilizacje/Hebrajczycy|Hebrajczycy]] :[[Wikijunior:Cywilizacje/Hetyci|Hetyci]] :[[Wikijunior:Cywilizacje/Persowie|Persowie]] :[[Wikijunior:Cywilizacje/Sakowie|Sakowie]] :[[Wikijunior:Cywilizacje/Sumerowie|Sumerowie]] :[[Wikijunior:Cywilizacje/Urartu|Urartu]] :[[Wikijunior:Cywilizacje/Ajnowie|Ajnowie]] :[[Wikijunior:Cywilizacje/Ludy paleosyberyjskie|Ludy paleosyberyjskie]] :[[Wikijunior:Cywilizacje/Tybetańczycy|Tybetańczycy]] :[[Wikijunior:Cywilizacje/Aztekowie|Aztekowie]] :[[Wikijunior:Cywilizacje/Chichimekowie|Chichimekowie]] :[[Wikijunior:Cywilizacje/Inkowie|Inkowie]] :[[Wikijunior:Cywilizacje/Aborygeni|Aborygeni]] :[[Wikijunior:Cywilizacje/Maorysi|Maorysi]] :[[Wikijunior:Cywilizacje/Papuasi|Papuasi]] :[[Wikijunior:Cywilizacje/Polinezyjczycy|Polinezyjczycy]] :[[Wikijunior:Cywilizacje/Rapa Nui|Rapa Nui]] :[[Wikijunior:Cywilizacje/Słowniczek|Słowniczek]] [[Kategoria:Książki|Świat ludzi - Cywilizacje]] bbtd9euh1ds8qn0smgbnb6glwmg4jdx 544903 544902 2026-06-01T18:54:33Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Cywilizacje]] do [[Wikibooks:Książki/Świat ludzi - Cywilizacje]], bez pozostawienia przekierowania pod starym tytułem 422544 wikitext text/x-wiki {{zapisane_książki}} == Cywilizacje == === - Świat ludzi - === :[[Wikijunior:Cywilizacje/Okładka|Okładka]] :[[Wikijunior:Cywilizacje|Spis treści]] :[[Wikijunior:Cywilizacje/Wstęp|Wstęp]] :[[Wikijunior:Cywilizacje/Ludzie paleolitu|Ludzie paleolitu]] :[[Wikijunior:Cywilizacje/Bałtowie|Bałtowie]] :[[Wikijunior:Cywilizacje/Bizantyjczycy|Bizantyjczycy]] <!--:[[Wikijunior:Cywilizacje/Budynowie|Budynowie]]--> :[[Wikijunior:Cywilizacje/Celtowie|Celtowie]] :[[Wikijunior:Cywilizacje/Dakowie|Dakowie]] :[[Wikijunior:Cywilizacje/Germanowie|Germanowie]] :[[Wikijunior:Cywilizacje/Grecy|Grecy]] :[[Wikijunior:Cywilizacje/Hunowie|Hunowie]] :[[Wikijunior:Cywilizacje/Ilirowie|Ilirowie]] :[[Wikijunior:Cywilizacje/Kimmerowie|Kimmerowie]] :[[Wikijunior:Cywilizacje/Kultura łużycka|Kultura łużycka]] :[[Wikijunior:Cywilizacje/Macedończycy|Macedończycy]] :[[Wikijunior:Cywilizacje/Madziarowie|Madziarowie]] :[[Wikijunior:Cywilizacje/Minojczycy|Minojczycy]] :[[Wikijunior:Cywilizacje/Neurowie|Neurowie]] :[[Wikijunior:Cywilizacje/Rzymianie|Rzymianie]] :[[Wikijunior:Cywilizacje/Sarmaci|Sarmaci]] :[[Wikijunior:Cywilizacje/Scytowie|Scytowie]] :[[Wikijunior:Cywilizacje/Słowianie|Słowianie]] :[[Wikijunior:Cywilizacje/Trakowie|Trakowie]] :[[Wikijunior:Cywilizacje/Egipcjanie|Egipcjanie]] :[[Wikijunior:Cywilizacje/Kartagińczycy|Kartagińczycy]] :[[Wikijunior:Cywilizacje/Nubijczycy|Nubijczycy]] :[[Wikijunior:Cywilizacje/Arabowie|Arabowie]] :[[Wikijunior:Cywilizacje/Babilończycy|Babilończycy]] :[[Wikijunior:Cywilizacje/Elamici|Elamici]] :[[Wikijunior:Cywilizacje/Fenicjanie|Fenicjanie]] :[[Wikijunior:Cywilizacje/Hebrajczycy|Hebrajczycy]] :[[Wikijunior:Cywilizacje/Hetyci|Hetyci]] :[[Wikijunior:Cywilizacje/Persowie|Persowie]] :[[Wikijunior:Cywilizacje/Sakowie|Sakowie]] :[[Wikijunior:Cywilizacje/Sumerowie|Sumerowie]] :[[Wikijunior:Cywilizacje/Urartu|Urartu]] :[[Wikijunior:Cywilizacje/Ajnowie|Ajnowie]] :[[Wikijunior:Cywilizacje/Ludy paleosyberyjskie|Ludy paleosyberyjskie]] :[[Wikijunior:Cywilizacje/Tybetańczycy|Tybetańczycy]] :[[Wikijunior:Cywilizacje/Aztekowie|Aztekowie]] :[[Wikijunior:Cywilizacje/Chichimekowie|Chichimekowie]] :[[Wikijunior:Cywilizacje/Inkowie|Inkowie]] :[[Wikijunior:Cywilizacje/Aborygeni|Aborygeni]] :[[Wikijunior:Cywilizacje/Maorysi|Maorysi]] :[[Wikijunior:Cywilizacje/Papuasi|Papuasi]] :[[Wikijunior:Cywilizacje/Polinezyjczycy|Polinezyjczycy]] :[[Wikijunior:Cywilizacje/Rapa Nui|Rapa Nui]] :[[Wikijunior:Cywilizacje/Słowniczek|Słowniczek]] [[Kategoria:Książki|Świat ludzi - Cywilizacje]] bbtd9euh1ds8qn0smgbnb6glwmg4jdx 544904 544903 2026-06-01T18:55:26Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat ludzi - Cywilizacje]] do [[Wikibooks:Książki/Wikijunior:Cywilizacje]], bez pozostawienia przekierowania pod starym tytułem 422544 wikitext text/x-wiki {{zapisane_książki}} == Cywilizacje == === - Świat ludzi - === :[[Wikijunior:Cywilizacje/Okładka|Okładka]] :[[Wikijunior:Cywilizacje|Spis treści]] :[[Wikijunior:Cywilizacje/Wstęp|Wstęp]] :[[Wikijunior:Cywilizacje/Ludzie paleolitu|Ludzie paleolitu]] :[[Wikijunior:Cywilizacje/Bałtowie|Bałtowie]] :[[Wikijunior:Cywilizacje/Bizantyjczycy|Bizantyjczycy]] <!--:[[Wikijunior:Cywilizacje/Budynowie|Budynowie]]--> :[[Wikijunior:Cywilizacje/Celtowie|Celtowie]] :[[Wikijunior:Cywilizacje/Dakowie|Dakowie]] :[[Wikijunior:Cywilizacje/Germanowie|Germanowie]] :[[Wikijunior:Cywilizacje/Grecy|Grecy]] :[[Wikijunior:Cywilizacje/Hunowie|Hunowie]] :[[Wikijunior:Cywilizacje/Ilirowie|Ilirowie]] :[[Wikijunior:Cywilizacje/Kimmerowie|Kimmerowie]] :[[Wikijunior:Cywilizacje/Kultura łużycka|Kultura łużycka]] :[[Wikijunior:Cywilizacje/Macedończycy|Macedończycy]] :[[Wikijunior:Cywilizacje/Madziarowie|Madziarowie]] :[[Wikijunior:Cywilizacje/Minojczycy|Minojczycy]] :[[Wikijunior:Cywilizacje/Neurowie|Neurowie]] :[[Wikijunior:Cywilizacje/Rzymianie|Rzymianie]] :[[Wikijunior:Cywilizacje/Sarmaci|Sarmaci]] :[[Wikijunior:Cywilizacje/Scytowie|Scytowie]] :[[Wikijunior:Cywilizacje/Słowianie|Słowianie]] :[[Wikijunior:Cywilizacje/Trakowie|Trakowie]] :[[Wikijunior:Cywilizacje/Egipcjanie|Egipcjanie]] :[[Wikijunior:Cywilizacje/Kartagińczycy|Kartagińczycy]] :[[Wikijunior:Cywilizacje/Nubijczycy|Nubijczycy]] :[[Wikijunior:Cywilizacje/Arabowie|Arabowie]] :[[Wikijunior:Cywilizacje/Babilończycy|Babilończycy]] :[[Wikijunior:Cywilizacje/Elamici|Elamici]] :[[Wikijunior:Cywilizacje/Fenicjanie|Fenicjanie]] :[[Wikijunior:Cywilizacje/Hebrajczycy|Hebrajczycy]] :[[Wikijunior:Cywilizacje/Hetyci|Hetyci]] :[[Wikijunior:Cywilizacje/Persowie|Persowie]] :[[Wikijunior:Cywilizacje/Sakowie|Sakowie]] :[[Wikijunior:Cywilizacje/Sumerowie|Sumerowie]] :[[Wikijunior:Cywilizacje/Urartu|Urartu]] :[[Wikijunior:Cywilizacje/Ajnowie|Ajnowie]] :[[Wikijunior:Cywilizacje/Ludy paleosyberyjskie|Ludy paleosyberyjskie]] :[[Wikijunior:Cywilizacje/Tybetańczycy|Tybetańczycy]] :[[Wikijunior:Cywilizacje/Aztekowie|Aztekowie]] :[[Wikijunior:Cywilizacje/Chichimekowie|Chichimekowie]] :[[Wikijunior:Cywilizacje/Inkowie|Inkowie]] :[[Wikijunior:Cywilizacje/Aborygeni|Aborygeni]] :[[Wikijunior:Cywilizacje/Maorysi|Maorysi]] :[[Wikijunior:Cywilizacje/Papuasi|Papuasi]] :[[Wikijunior:Cywilizacje/Polinezyjczycy|Polinezyjczycy]] :[[Wikijunior:Cywilizacje/Rapa Nui|Rapa Nui]] :[[Wikijunior:Cywilizacje/Słowniczek|Słowniczek]] [[Kategoria:Książki|Świat ludzi - Cywilizacje]] bbtd9euh1ds8qn0smgbnb6glwmg4jdx 545006 544904 2026-06-01T20:29:42Z Persino 2851 545006 wikitext text/x-wiki {{zapisane_książki}} == Cywilizacje == === - Świat ludzi - === :[[Wikijunior:Cywilizacje/Okładka|Okładka]] :[[Wikijunior:Cywilizacje|Spis treści]] :[[Wikijunior:Cywilizacje/Wstęp|Wstęp]] :[[Wikijunior:Cywilizacje/Ludzie paleolitu|Ludzie paleolitu]] :[[Wikijunior:Cywilizacje/Bałtowie|Bałtowie]] :[[Wikijunior:Cywilizacje/Bizantyjczycy|Bizantyjczycy]] <!--:[[Wikijunior:Cywilizacje/Budynowie|Budynowie]]--> :[[Wikijunior:Cywilizacje/Celtowie|Celtowie]] :[[Wikijunior:Cywilizacje/Dakowie|Dakowie]] :[[Wikijunior:Cywilizacje/Germanowie|Germanowie]] :[[Wikijunior:Cywilizacje/Grecy|Grecy]] :[[Wikijunior:Cywilizacje/Hunowie|Hunowie]] :[[Wikijunior:Cywilizacje/Ilirowie|Ilirowie]] :[[Wikijunior:Cywilizacje/Kimmerowie|Kimmerowie]] :[[Wikijunior:Cywilizacje/Kultura łużycka|Kultura łużycka]] :[[Wikijunior:Cywilizacje/Macedończycy|Macedończycy]] :[[Wikijunior:Cywilizacje/Madziarowie|Madziarowie]] :[[Wikijunior:Cywilizacje/Minojczycy|Minojczycy]] :[[Wikijunior:Cywilizacje/Neurowie|Neurowie]] :[[Wikijunior:Cywilizacje/Rzymianie|Rzymianie]] :[[Wikijunior:Cywilizacje/Sarmaci|Sarmaci]] :[[Wikijunior:Cywilizacje/Scytowie|Scytowie]] :[[Wikijunior:Cywilizacje/Słowianie|Słowianie]] :[[Wikijunior:Cywilizacje/Trakowie|Trakowie]] :[[Wikijunior:Cywilizacje/Egipcjanie|Egipcjanie]] :[[Wikijunior:Cywilizacje/Kartagińczycy|Kartagińczycy]] :[[Wikijunior:Cywilizacje/Nubijczycy|Nubijczycy]] :[[Wikijunior:Cywilizacje/Arabowie|Arabowie]] :[[Wikijunior:Cywilizacje/Babilończycy|Babilończycy]] :[[Wikijunior:Cywilizacje/Elamici|Elamici]] :[[Wikijunior:Cywilizacje/Fenicjanie|Fenicjanie]] :[[Wikijunior:Cywilizacje/Hebrajczycy|Hebrajczycy]] :[[Wikijunior:Cywilizacje/Hetyci|Hetyci]] :[[Wikijunior:Cywilizacje/Persowie|Persowie]] :[[Wikijunior:Cywilizacje/Sakowie|Sakowie]] :[[Wikijunior:Cywilizacje/Sumerowie|Sumerowie]] :[[Wikijunior:Cywilizacje/Urartu|Urartu]] :[[Wikijunior:Cywilizacje/Ajnowie|Ajnowie]] :[[Wikijunior:Cywilizacje/Ludy paleosyberyjskie|Ludy paleosyberyjskie]] :[[Wikijunior:Cywilizacje/Tybetańczycy|Tybetańczycy]] :[[Wikijunior:Cywilizacje/Aztekowie|Aztekowie]] :[[Wikijunior:Cywilizacje/Chichimekowie|Chichimekowie]] :[[Wikijunior:Cywilizacje/Inkowie|Inkowie]] :[[Wikijunior:Cywilizacje/Aborygeni|Aborygeni]] :[[Wikijunior:Cywilizacje/Maorysi|Maorysi]] :[[Wikijunior:Cywilizacje/Papuasi|Papuasi]] :[[Wikijunior:Cywilizacje/Polinezyjczycy|Polinezyjczycy]] :[[Wikijunior:Cywilizacje/Rapa Nui|Rapa Nui]] :[[Wikijunior:Cywilizacje/Słowniczek|Słowniczek]] autzjhl2ln9vojq9oi24wto5ywwaww4 Wikibooks:Książki/Wikijunior:Języki 4 26919 544910 187297 2026-06-01T18:59:19Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat ludzi - Języki]] do [[Wikibooks:Książki/Wikijunior:Języki]], bez pozostawienia przekierowania pod starym tytułem 187297 wikitext text/x-wiki {{zapisane_książki}} == Języki == === - Świat ludzi - === :[[Wikijunior:Języki/Okładka|Okładka]] :[[Wikijunior:Języki]] :[[Wikijunior:Języki/Wstęp|Wstęp]] :[[Wikijunior:Języki/Autorzy|Autorzy]] :[[Wikijunior:Języki/Angielski|Angielski]] :[[Wikijunior:Języki/Arabski|Arabski]] :[[Wikijunior:Języki/Czeski|Czeski]] :[[Wikijunior:Języki/Esperanto|Esperanto]] :[[Wikijunior:Języki/Francuski|Francuski]] :[[Wikijunior:Języki/Grecki|Grecki]] :[[Wikijunior:Języki/Hindi|Hindi]] :[[Wikijunior:Języki/Hiszpański|Hiszpański]] :[[Wikijunior:Języki/Japoński|Japoński]] :[[Wikijunior:Języki/Niemiecki|Niemiecki]] :[[Wikijunior:Języki/Polski|Polski]] :[[Wikijunior:Języki/Rosyjski|Rosyjski]] :[[Wikijunior:Języki/Słowacki|Słowacki]] :[[Wikijunior:Języki/Włoski|Włoski]] :[[Wikijunior:Języki/Aneks|Aneks]] [[Kategoria:Książki|Świat ludzi - Języki]] 50zvh0zh5373892rvg8p0mlm4remuie 545007 544910 2026-06-01T20:30:26Z Persino 2851 545007 wikitext text/x-wiki {{zapisane_książki}} == Języki == === - Świat ludzi - === :[[Wikijunior:Języki/Okładka|Okładka]] :[[Wikijunior:Języki]] :[[Wikijunior:Języki/Wstęp|Wstęp]] :[[Wikijunior:Języki/Autorzy|Autorzy]] :[[Wikijunior:Języki/Angielski|Angielski]] :[[Wikijunior:Języki/Arabski|Arabski]] :[[Wikijunior:Języki/Czeski|Czeski]] :[[Wikijunior:Języki/Esperanto|Esperanto]] :[[Wikijunior:Języki/Francuski|Francuski]] :[[Wikijunior:Języki/Grecki|Grecki]] :[[Wikijunior:Języki/Hindi|Hindi]] :[[Wikijunior:Języki/Hiszpański|Hiszpański]] :[[Wikijunior:Języki/Japoński|Japoński]] :[[Wikijunior:Języki/Niemiecki|Niemiecki]] :[[Wikijunior:Języki/Polski|Polski]] :[[Wikijunior:Języki/Rosyjski|Rosyjski]] :[[Wikijunior:Języki/Słowacki|Słowacki]] :[[Wikijunior:Języki/Włoski|Włoski]] :[[Wikijunior:Języki/Aneks|Aneks]] ss1zvd0yf00opx25sfdrb94rlslhoow Wikibooks:Książki/Wikijunior:Układ słoneczny 4 26920 544912 187299 2026-06-01T19:00:28Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat odkryć - Układ słoneczny]] do [[Wikibooks:Książki/Wikijunior:Układ słoneczny]], bez pozostawienia przekierowania pod starym tytułem 187299 wikitext text/x-wiki {{zapisane_książki}} == Układ Słoneczny == === - Świat odkryć - === :[[Wikijunior:Układ Słoneczny]] :[[Wikijunior:Układ Słoneczny/Wstęp|Wstęp]] :[[Wikijunior:Układ Słoneczny/Układ Słoneczny|Układ Słoneczny]] :[[Wikijunior:Układ Słoneczny/Słońce|Słońce]] :[[Wikijunior:Układ Słoneczny/Merkury|Merkury]] :[[Wikijunior:Układ Słoneczny/Wenus|Wenus]] :[[Wikijunior:Układ Słoneczny/Ziemia|Ziemia]] :[[Wikijunior:Układ Słoneczny/Księżyc|Księżyc]] :[[Wikijunior:Układ Słoneczny/Mars|Mars]] :[[Wikijunior:Układ Słoneczny/Pas planetoid|Pas planetoid]] :[[Wikijunior:Układ Słoneczny/Ceres|Ceres]] :[[Wikijunior:Układ Słoneczny/Jowisz|Jowisz]] :[[Wikijunior:Układ Słoneczny/Saturn|Saturn]] :[[Wikijunior:Układ Słoneczny/Uran|Uran]] :[[Wikijunior:Układ Słoneczny/Neptun|Neptun]] :[[Wikijunior:Układ Słoneczny/Komety|Komety]] :[[Wikijunior:Układ Słoneczny/Pas Kuipera|Pas Kuipera]] :[[Wikijunior:Układ Słoneczny/Pluton|Pluton]] :[[Wikijunior:Układ Słoneczny/Makemake|Makemake]] :[[Wikijunior:Układ Słoneczny/Eris|Eris]] :[[Wikijunior:Układ Słoneczny/Obłok Oorta|Obłok Oorta]] :[[Wikijunior:Układ Słoneczny/Heliosfera|Heliosfera]] :[[Wikijunior:Układ Słoneczny/Doświadczenia|Doświadczenia]] [[Kategoria:Książki|Świat odkryć - Układ słoneczny]] m87fx9alypjv0btz038vz9udy7qzb91 545009 544912 2026-06-01T20:31:41Z Persino 2851 545009 wikitext text/x-wiki {{zapisane_książki}} == Układ Słoneczny == === - Świat odkryć - === :[[Wikijunior:Układ Słoneczny]] :[[Wikijunior:Układ Słoneczny/Wstęp|Wstęp]] :[[Wikijunior:Układ Słoneczny/Układ Słoneczny|Układ Słoneczny]] :[[Wikijunior:Układ Słoneczny/Słońce|Słońce]] :[[Wikijunior:Układ Słoneczny/Merkury|Merkury]] :[[Wikijunior:Układ Słoneczny/Wenus|Wenus]] :[[Wikijunior:Układ Słoneczny/Ziemia|Ziemia]] :[[Wikijunior:Układ Słoneczny/Księżyc|Księżyc]] :[[Wikijunior:Układ Słoneczny/Mars|Mars]] :[[Wikijunior:Układ Słoneczny/Pas planetoid|Pas planetoid]] :[[Wikijunior:Układ Słoneczny/Ceres|Ceres]] :[[Wikijunior:Układ Słoneczny/Jowisz|Jowisz]] :[[Wikijunior:Układ Słoneczny/Saturn|Saturn]] :[[Wikijunior:Układ Słoneczny/Uran|Uran]] :[[Wikijunior:Układ Słoneczny/Neptun|Neptun]] :[[Wikijunior:Układ Słoneczny/Komety|Komety]] :[[Wikijunior:Układ Słoneczny/Pas Kuipera|Pas Kuipera]] :[[Wikijunior:Układ Słoneczny/Pluton|Pluton]] :[[Wikijunior:Układ Słoneczny/Makemake|Makemake]] :[[Wikijunior:Układ Słoneczny/Eris|Eris]] :[[Wikijunior:Układ Słoneczny/Obłok Oorta|Obłok Oorta]] :[[Wikijunior:Układ Słoneczny/Heliosfera|Heliosfera]] :[[Wikijunior:Układ Słoneczny/Doświadczenia|Doświadczenia]] 0c0ojq0qio85u2oianotmfjqd95fm7i Wikibooks:Książki/Wikijunior:Matematyka 4 26921 544911 187300 2026-06-01T18:59:54Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Książki/Świat odkryć - Matematyka]] do [[Wikibooks:Książki/Wikijunior:Matematyka]], bez pozostawienia przekierowania pod starym tytułem 187300 wikitext text/x-wiki {{zapisane_książki}} == Matematyka == === - Świat odkryć - === :[[Wikijunior:Matematyka]] :[[Wikijunior:Matematyka/Świat liczb|Świat liczb]] :[[Wikijunior:Matematyka/Świat geometrii|Świat geometrii]] :[[Wikijunior:Matematyka/Cyrkiel i linijka|Cyrkiel i linijka]] :[[Wikijunior:Matematyka/Punkty|Punkty]] :[[Wikijunior:Matematyka/Linie proste|Linie proste]] :[[Wikijunior:Matematyka/Trójkąty|Trójkąty]] :[[Wikijunior:Matematyka/Koło i okrąg|Koło i okrąg]] :[[Wikijunior:Matematyka/Zagadki|Zagadki]] :[[Wikijunior:Matematyka/Ciekawostki|Ciekawostki]] [[Kategoria:Książki|Świat odkryć - Matematyka]] icwcw9ptao4h5025zo0gkjf2lg4wqzv 545008 544911 2026-06-01T20:31:05Z Persino 2851 545008 wikitext text/x-wiki {{zapisane_książki}} == Matematyka == === - Świat odkryć - === :[[Wikijunior:Matematyka]] :[[Wikijunior:Matematyka/Świat liczb|Świat liczb]] :[[Wikijunior:Matematyka/Świat geometrii|Świat geometrii]] :[[Wikijunior:Matematyka/Cyrkiel i linijka|Cyrkiel i linijka]] :[[Wikijunior:Matematyka/Punkty|Punkty]] :[[Wikijunior:Matematyka/Linie proste|Linie proste]] :[[Wikijunior:Matematyka/Trójkąty|Trójkąty]] :[[Wikijunior:Matematyka/Koło i okrąg|Koło i okrąg]] :[[Wikijunior:Matematyka/Zagadki|Zagadki]] :[[Wikijunior:Matematyka/Ciekawostki|Ciekawostki]] cusz9qs2qkz3ji88zdsu0tfo80pe6j2 Wikipedysta:Rootoor/Książki/WikiBOOKS - JavaScript 2 26993 544996 188154 2026-06-01T20:23:39Z Persino 2851 544996 wikitext text/x-wiki {{zapisane_książki}} == WikiBOOKS == === JavaScript === :[[JavaScript]] :[[JavaScript/Historia|Historia]] :[[JavaScript/Składniki JavaScriptu|Składniki JavaScriptu]] :[[JavaScript/Wersje|Wersje]] :[[JavaScript/Narzędzia|Narzędzia]] :[[JavaScript/Pierwszy program|Pierwszy program]] :[[JavaScript/Skrypt w przeglądarce|Skrypt w przeglądarce]] :[[JavaScript/Skryptozakładki|Skryptozakładki]] :[[JavaScript/Składnia języka|Składnia języka]] :[[JavaScript/Słowa zarezerwowane|Słowa zarezerwowane]] :[[JavaScript/Zmienne i typy zmiennych|Zmienne i typy zmiennych]] :[[JavaScript/Konwersje typów prostych|Konwersje typów prostych]] :[[JavaScript/Operatory|Operatory]] p5v20bxl6zlbl3mfys7q2nw6bn4glo7 Wikipedysta:Kompowiec2/Książki/Microsoft Windows NT 2 27013 544961 188335 2026-06-01T20:01:08Z Persino 2851 544961 wikitext text/x-wiki {{zapisane_książki}} ;Wstęp :[[Microsoft Windows NT/Wstęp|Wstęp]] ;Instalacja i konfiguracja :[[Microsoft Windows NT/Przygotowania do reinstalacji|Przygotowania do reinstalacji]] :[[Microsoft Windows NT/Instalacja Windows XP|Instalacja Windows XP]] :[[Microsoft Windows NT/Instalacja Windows Vista i 7|Instalacja Windows Vista i 7]] ;Prolog :[[Microsoft Windows NT/Co się dzieje przy starcie|Co się dzieje przy starcie]] :[[Microsoft Windows NT/Pierwszy rzut oka na system|Pierwszy rzut oka na system]] ;Menu główne systemu :[[Microsoft Windows NT/Programy Windows XP|Programy Windows XP]] :[[Microsoft Windows NT/Programy Windows Vista|Programy Windows Vista]] :[[Microsoft Windows NT/Programy Windows 7|Programy Windows 7]] :[[Microsoft Windows NT/Programy Windows 8|Programy Windows 8]] ;Instalacja dodatkowego oprogramowania :[[Microsoft Windows NT/O programach|O programach]] :[[Microsoft Windows NT/Personalizacja|Personalizacja]] ;Bezpieczeństwo :[[Microsoft Windows NT/Aktualizacja komputera|Aktualizacja komputera]] :[[Microsoft Windows NT/Zabezpieczenia|Zabezpieczenia]] ;Administracja systemem :[[Microsoft Windows NT/Rejestr|Rejestr]] :[[Microsoft Windows NT/Usługi|Usługi]] ;Dodatki :[[Microsoft Windows NT/Przeżyć zawieszenie|Przeżyć zawieszenie]] :[[Microsoft Windows NT/Bibliografia|Bibliografia]] mg3pktmx6zh171r755w7y0ylx3y45qc Wikipedysta:Staramilusia/Książki/Matematyczne metody fizyki 2 27197 544955 189487 2026-06-01T19:56:35Z Persino 2851 544955 wikitext text/x-wiki {{zapisane_książki}} == Matematyczne metody fizyki == === WikiBooks - PDF === :[[Metody matematyczne fizyki]] :[[Metody matematyczne fizyki/Działania na wektorach|Działania na wektorach]] :[[Metody matematyczne fizyki/Rachunek tensorowy|Rachunek tensorowy]] :[[Metody matematyczne fizyki/Układ współrzędnych|Układ współrzędnych]] :[[Metody matematyczne fizyki/Obrót układu współrzędnych|Obrót układu współrzędnych]] :[[Metody matematyczne fizyki/Całki i funkcje Eulera|Całki i funkcje Eulera]] :[[Metody matematyczne fizyki/Kula zanurzona w przestrzeni n-wymiarowej|Kula zanurzona w przestrzeni n-wymiarowej]] :[[Metody matematyczne fizyki/Operatory różniczkowe|Operatory różniczkowe]] :[[Metody matematyczne fizyki/Wprowadzenie do funkcji zespolonej|Wprowadzenie do funkcji zespolonej]] :[[Metody matematyczne fizyki/Wprowadzenie do wielomianów ortogonalnych|Wprowadzenie do wielomianów ortogonalnych]] :[[Metody matematyczne fizyki/Funkcji sferyczne w matematyce|Funkcji sferyczne w matematyce]] :[[Metody matematyczne fizyki/Funkcje Bessela|Funkcje Bessela]] :[[Metody matematyczne fizyki/Dystrybucje jako funkcje uogólnione|Dystrybucje jako funkcje uogólnione]] :[[Metody matematyczne fizyki/Szeregi Fouriera|Szeregi Fouriera]] :[[Metody matematyczne fizyki/Wstęp do transformacji Fouriera|Wstęp do transformacji Fouriera]] :[[Metody matematyczne fizyki/Wprowadzenie do teorii operatorów liniowych|Wprowadzenie do teorii operatorów liniowych]] :[[Metody matematyczne fizyki/Grupy i ich reprezentacje|Grupy i ich reprezentacje]] :[[Metody matematyczne fizyki/Rachunek wariacyjny|Rachunek wariacyjny]] :[[Metody matematyczne fizyki/Transformacja Laplace'a|Transformacja Laplace'a]] :[[Metody matematyczne fizyki/Równania różnicowe liniowe|Równania różnicowe liniowe]] :[[Metody matematyczne fizyki/Funkcje Greena|Funkcje Greena]] pilhv0xnzyiubakh1kqxe12vwt5fswx Wikibooks:Książki/Matematyczne metody fizyki 4 27198 544954 189488 2026-06-01T19:55:56Z Persino 2851 544954 wikitext text/x-wiki {{zapisane_książki}} == Matematyczne metody fizyki == === WikiBooks - PDF === :[[Metody matematyczne fizyki]] :[[Metody matematyczne fizyki/Działania na wektorach|Działania na wektorach]] :[[Metody matematyczne fizyki/Rachunek tensorowy|Rachunek tensorowy]] :[[Metody matematyczne fizyki/Układ współrzędnych|Układ współrzędnych]] :[[Metody matematyczne fizyki/Obrót układu współrzędnych|Obrót układu współrzędnych]] :[[Metody matematyczne fizyki/Całki i funkcje Eulera|Całki i funkcje Eulera]] :[[Metody matematyczne fizyki/Kula zanurzona w przestrzeni n-wymiarowej|Kula zanurzona w przestrzeni n-wymiarowej]] :[[Metody matematyczne fizyki/Operatory różniczkowe|Operatory różniczkowe]] :[[Metody matematyczne fizyki/Wprowadzenie do funkcji zespolonej|Wprowadzenie do funkcji zespolonej]] :[[Metody matematyczne fizyki/Wprowadzenie do wielomianów ortogonalnych|Wprowadzenie do wielomianów ortogonalnych]] :[[Metody matematyczne fizyki/Funkcji sferyczne w matematyce|Funkcji sferyczne w matematyce]] :[[Metody matematyczne fizyki/Funkcje Bessela|Funkcje Bessela]] :[[Metody matematyczne fizyki/Dystrybucje jako funkcje uogólnione|Dystrybucje jako funkcje uogólnione]] :[[Metody matematyczne fizyki/Szeregi Fouriera|Szeregi Fouriera]] :[[Metody matematyczne fizyki/Wstęp do transformacji Fouriera|Wstęp do transformacji Fouriera]] :[[Metody matematyczne fizyki/Wprowadzenie do teorii operatorów liniowych|Wprowadzenie do teorii operatorów liniowych]] :[[Metody matematyczne fizyki/Grupy i ich reprezentacje|Grupy i ich reprezentacje]] :[[Metody matematyczne fizyki/Rachunek wariacyjny|Rachunek wariacyjny]] :[[Metody matematyczne fizyki/Transformacja Laplace'a|Transformacja Laplace'a]] :[[Metody matematyczne fizyki/Równania różnicowe liniowe|Równania różnicowe liniowe]] :[[Metody matematyczne fizyki/Funkcje Greena|Funkcje Greena]] pilhv0xnzyiubakh1kqxe12vwt5fswx Wikipedysta:Kompowiec2/Książki/Vim 2 27336 544990 191071 2026-06-01T20:20:20Z Persino 2851 544990 wikitext text/x-wiki {{zapisane_książki}} :[[Vim/Wstęp|Wstęp]] :[[Vim/Pobieranie|Pobieranie]] :[[Vim/Konfiguracja|Konfiguracja]] :[[Vim/Podstawy pracy|Podstawy pracy]] :[[Vim/Podstawowe tryby pracy|Podstawowe tryby pracy]] :[[Vim/Przykłady I|Przykłady I]] :[[Vim/Więcej niż edytor|Więcej niż edytor]] :[[Vim/Kodowanie|Kodowanie]] :[[Vim/Git|Git]] :[[Vim/Exim czyli skrypty w Vimie|Exim czyli skrypty w Vimie]] :[[Vim/Emacsowe odpowiedniki|Emacsowe odpowiedniki]] :[[Vim/Wtyczki|Wtyczki]] :[[Vim/Tablice Vima|Tablice Vima]] d2og7xdg9zootzo4qddf89wili4adpe Wikipedysta:Rootoor/Książki/Ubuntu 2 27341 544986 191152 2026-06-01T20:17:53Z Persino 2851 544986 wikitext text/x-wiki {{zapisane_książki}} == Ubuntu == ;Wstęp :[[Ubuntu/Wstęp]] ;O Ubuntu :[[Ubuntu/O Ubuntu]] :[[Ubuntu/Dlaczego warto używać Ubuntu]] :[[Ubuntu/Dlaczego nie warto używać Ubuntu]] :[[Ubuntu/Jak zdobyć Ubuntu]] :[[Ubuntu/Gdzie uzyskac pomoc]] ;Instalacja i konfiguracja :[[Ubuntu/Instalacja systemu]] :[[Ubuntu/Instalacja systemu na nośniku USB]] :[[Ubuntu/Instalacja systemu w Windows]] :[[Ubuntu/Konfiguracja systemu]] ;Prolog :[[Ubuntu/Pierwszy rzut oka na system]] ;Menu główne systemu ;Programy :[[Ubuntu/Akcesoria]] :[[Ubuntu/Programy biurowe]] :[[Ubuntu/Programy multimedialne]] :[[Ubuntu/Programy multimedialne/Nagrywanie płyt]] :[[Ubuntu/Programy multimedialne/Odtwarzanie filmów]] :[[Ubuntu/Programy multimedialne/Odtwarzanie muzyki]] :[[Ubuntu/Programy graficzne]] :[[Ubuntu/Gry]] :[[Ubuntu/Programy internetowe]] :[[Ubuntu/Programy internetowe/Pobieranie plików w sieci BitTorrent]] :[[Ubuntu/Programy internetowe/Konfiguracja połączenia z portalem społecznościowym]] :[[Ubuntu/Programy internetowe/Konfiguracja zdalnego połączenia]] :[[Ubuntu/Programy internetowe/Konfiguracja komunikatora internetowego]] :[[Ubuntu/Konfiguracja przeglądarki Firefox]] :[[Ubuntu/Konfiguracja programu pocztowego]] :[[Ubuntu/Instalacja dodatkowego oprogramowania (za pomocą Centrum oprogramowania Ubuntu)]] ;System - preferencje :[[Ubuntu/Bluetooth]] :[[Ubuntu/Dźwięk]] :[[Ubuntu/Klawiatura]] :[[Ubuntu/Menu główne]] :[[Ubuntu/Rozdzielczość ekranu]] :[[Ubuntu/Mysz]] :[[Ubuntu/O mnie]] :[[Ubuntu/Połączenia sieciowe]] :[[Ubuntu/Preferowane aplikacje]] :[[Ubuntu/Programy startowe]] :[[Ubuntu/Skróty klawiszowe]] :[[Ubuntu/Ubuntu One]] :[[Ubuntu/Wygaszacz ekranu]] :[[Ubuntu/Wygląd]] :[[Ubuntu/Zarządzanie zasilaniem]] ;System - administracja :[[Ubuntu/Asystent dysku uruchomieniowego]] :[[Ubuntu/Czas i data]] :[[Ubuntu/Konfiguracja drukarki]] :[[Ubuntu/Ekran logowania]] :[[Ubuntu/Wybór języka]] :[[Ubuntu/Aktualizacja systemu]] :[[Ubuntu/Instalacja dodatkowego oprogramowania (za pomocą Synaptic)]] :[[Ubuntu/Monitor systemu]] :[[Ubuntu/Narzędzie do obsługi dysków]] :[[Ubuntu/Sprzątanie systemu]] :[[Ubuntu/Sterowniki]] :[[Ubuntu/Użytkownicy i grupy]] ;Bezpieczeństwo :[[Ubuntu/Zabezpieczenie systemu]] :[[Ubuntu/Zapora ogniowa]] :[[Ubuntu/Program antywirusowy]] :[[Ubuntu/Usuwanie rootkitów]] :[[Ubuntu/Anonimowość w sieci]] ;Tryb tekstowy :[[Ubuntu/Pierwszy raz z trybem tekstowym]] :[[Ubuntu/Podstawowe polecenia]] :[[Ubuntu/Dostęp do konta root]] :[[Ubuntu/Zarządzanie pakietami]] :[[Ubuntu/Kompilacja programów ze źródeł]] :[[Ubuntu/Kompilacja jądra]] ;Instalacja dodatkowego oprogramowania i sprzętu ;Programy internetowe :[[Ubuntu/Instalacja Kadu]] :[[Ubuntu/Skype]] :[[Ubuntu/Przeglądarka Opera]] :[[Ubuntu/Przeglądarka Google-Chrome]] :[[Ubuntu/Thunderbird]] ;Programy multimedialne :[[Ubuntu/Instalacja kodeków i polskich czcionek]] :[[Ubuntu/Instalacja Xine]] :[[Ubuntu/Odtwarzacz MPlayer]] :[[Ubuntu/Odtwarzacz VLC]] :[[Ubuntu/Odtwarzacz Audacious]] ;Programy graficzne :[[Ubuntu/Gimp]] ;Wirtualizacja :[[Ubuntu/VirtualBox]] ;Wine :[[Ubuntu/Instalacja Wine]] ;Środowiska graficzne i dodatki :[[Ubuntu/Instalacja innych środowisk graficznych]] :[[Ubuntu/Tuning GNOME]] :[[Ubuntu/Tuning KDE]] :[[Ubuntu/Tuning XFCE4]] :[[Ubuntu/Compiz-fusion]] :[[Ubuntu/Screenlets]] :[[Ubuntu/gDesklets]] :[[Ubuntu/Wbar]] :[[Ubuntu/Conky]] ;FAQ :[[Ubuntu/FAQ]] ;Linki :[[Ubuntu/Linki]] azoctg3rxmukn5ccpgrksepkklyrbv8 Wikipedysta:Rootoor/Książki/Debian - Uniwersalna instalacja 2 27342 544932 191161 2026-06-01T19:41:27Z Persino 2851 544932 wikitext text/x-wiki {{zapisane_książki}} == Debian == === Uniwersalna instalacja === :[[Debian - uniwersalna instalacja/O podręczniku]] :[[Debian - uniwersalna instalacja/Pobranie i nagranie obrazu systemu]] :[[Debian - uniwersalna instalacja/Instalacja systemu podstawowego]] :[[Debian - uniwersalna instalacja/Wybór wersji systemu]] :[[Debian - uniwersalna instalacja/Instalacja systemu grafiki]] :[[Debian/Wybór menedżera logowania|Wybór menedżera logowania]] :[[Debian - uniwersalna instalacja/Wybór środowiska graficznego]] :[[Debian - uniwersalna instalacja/Pierwsze uruchomienie]] :[[Debian - uniwersalna instalacja/Instalacja dodatkowego oprogramowania]] :[[Debian/Repozytoria zewnętrzne i klucze publiczne|Repozytoria zewnętrzne i klucze publiczne]] :[[Debian - uniwersalna instalacja/Aktualizacja systemu]] :[[Debian - uniwersalna instalacja/Aktualizacja wsteczna systemu]] :[[Debian - uniwersalna instalacja/Znane błędy|Znane błędy]] :[[Debian - uniwersalna instalacja/Zakończenie]] :[[Debian - uniwersalna instalacja/Przydatne linki]] :[[Debian - uniwersalna instalacja/Bibliografia|Bibliografia]] a0vtxd2o36aklpre86lnexi51pop7o7 Wikipedysta:Rootoor/Książki/Programowanie - C 2 27343 544973 191154 2026-06-01T20:09:04Z Persino 2851 544973 wikitext text/x-wiki {{zapisane_książki}} == Programowanie == === C === ;Wstęp :[[C/O podręczniku|O podręczniku]] :[[C/O języku C|O języku C]] :[[C/Czego potrzebujesz|Czego potrzebujesz]] :[[C/Zintegrowane środowisko programistyczne|Zintegrowane środowisko programistyczne]] :[[C/Używanie kompilatora|Używanie kompilatora]] ;C dla początkujących :[[C/Pierwszy program|Pierwszy program]] :[[C/Podstawy|Podstawy]] :[[C/Zmienne|Zmienne]] :[[C/Operatory|Operatory]] :[[C/Funkcje|Funkcje]] :[[C/Preprocesor|Preprocesor]] :[[C/Biblioteka standardowa|Biblioteka standardowa]] :[[C/Czytanie i pisanie do plików|Czytanie i pisanie do plików]] :[[C/Ćwiczenia dla początkujących|Ćwiczenia dla początkujących]] ;W głąd języka C :[[C/Tablice|Tablice]] :[[C/Wskaźniki|Wskaźniki]] :[[C/Napisy|Napisy]] :[[C/Typy złożone|Typy złożone]] :[[C/Biblioteki|Biblioteki]] :[[C/Więcej o kompilowaniu|Więcej o kompilowaniu]] :[[C/Zaawansowane operacje matematyczne|Zaawansowane operacje matematyczne]] :[[C/Powszechne praktyki|Powszechne praktyki]] :[[C/Przenośność programów|Przenośność programów]] :[[C/Łączenie z innymi językami|Łączenie z innymi językami]] :[[C/Ćwiczenia dla zaawansowanych|Ćwiczenia dla zaawansowanych]] ;Materiał rozszerzający :[[C/Tablice - więcej|Tablice - więcej]] :[[C/Wskaźniki - więcej|Wskaźniki - więcej]] :[[C/Napisy - własna implementacja|Napisy - własna implementacja]] :[[C/Składnia|Składnia]] :[[C/Przykłady z komentarzem|Przykłady z komentarzem]] ;Indeks :[[C/Indeks|Indeks]] :[[C/Biblioteka standardowa/Indeks alfabetyczny|Indeks alfabetyczny]] :[[C/Biblioteka standardowa/Indeks tematyczny|Indeks tematyczny]] j1b5uxu0am4yo0dm4utuwoigda9msvx Wikipedysta:Rootoor/Książki/Microsoft Windows NT 2 27344 544962 191155 2026-06-01T20:01:54Z Persino 2851 544962 wikitext text/x-wiki {{zapisane_książki}} == Microsoft Windows NT == ;Wstęp :[[Microsoft Windows NT/Wstęp|Wstęp]] ;Instalacja i konfiguracja :[[Microsoft Windows NT/Przygotowania do reinstalacji|Przygotowania do reinstalacji]] :[[Microsoft Windows NT/Instalacja Windows XP|Instalacja Windows XP]] :[[Microsoft Windows NT/Instalacja Windows Vista i 7|Instalacja Windows Vista i 7]] ;Prolog :[[Microsoft Windows NT/Co się dzieje przy starcie|Co się dzieje przy starcie]] :[[Microsoft Windows NT/Pierwszy rzut oka na system|Pierwszy rzut oka na system]] ;Menu główne systemu :[[Microsoft Windows NT/Programy Windows XP|Programy Windows XP]] :[[Microsoft Windows NT/Programy Windows Vista|Programy Windows Vista]] :[[Microsoft Windows NT/Programy Windows 7|Programy Windows 7]] :[[Microsoft Windows NT/Programy Windows 8|Programy Windows 8]] ;Instalacja dodatkowego oprogramowania :[[Microsoft Windows NT/O programach|O programach]] :[[Microsoft Windows NT/Personalizacja|Personalizacja]] ;Bezpieczeństwo :[[Microsoft Windows NT/Aktualizacja komputera|Aktualizacja komputera]] :[[Microsoft Windows NT/Zabezpieczenia|Zabezpieczenia]] ;Administracja systemem :[[Microsoft Windows NT/Rejestr|Rejestr]] :[[Microsoft Windows NT/Usługi|Usługi]] ;Dodatki :[[Microsoft Windows NT/Przeżyć zawieszenie|Przeżyć zawieszenie]] :[[Microsoft Windows NT/Bibliografia|Bibliografia]] 1ecevsz9743hqnui47v7an3rtzvo7cg Wikipedysta:Rootoor/Książki/Vim 2 27345 544991 191156 2026-06-01T20:21:04Z Persino 2851 544991 wikitext text/x-wiki {{zapisane_książki}} == Vim == :[[Vim/Wstęp|Wstęp]] :[[Vim/Pobieranie|Pobieranie]] :[[Vim/Konfiguracja|Konfiguracja]] :[[Vim/Podstawy pracy|Podstawy pracy]] :[[Vim/Podstawowe tryby pracy|Podstawowe tryby pracy]] :[[Vim/Przykłady I|Przykłady I]] :[[Vim/Więcej niż edytor|Więcej niż edytor]] :[[Vim/Kodowanie|Kodowanie]] :[[Vim/Git|Git]] :[[Vim/Exim czyli skrypty w Vimie|Exim czyli skrypty w Vimie]] :[[Vim/Emacsowe odpowiedniki|Emacsowe odpowiedniki]] :[[Vim/Wtyczki|Wtyczki]] :[[Vim/Tablice Vima|Tablice Vima]] 9honkajs3kb8xydoc04c7kl3gpojvxk Wikipedysta:Rootoor/Książki/Debian - Aktualizacja i kompilacja jądra 2 27346 544929 191158 2026-06-01T19:40:05Z Persino 2851 544929 wikitext text/x-wiki {{zapisane_książki}} == Debian == === Aktualizacja i kompilacja jądra === :[[Aktualizacja i kompilacja jądra w Debianie]] :[[Aktualizacja i kompilacja jądra w Debianie/Przedsłowie|Przedsłowie]] :[[Aktualizacja i kompilacja jądra w Debianie/Wprowadzenie, pobieranie jądra|Wprowadzenie, pobieranie jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Budowanie jądra krok po kroku|Budowanie jądra krok po kroku]] :[[Aktualizacja i kompilacja jądra w Debianie/Konfiguracja jądra|Konfiguracja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Obsługa dźwięku, ext3 i nagrywarek|Obsługa dźwięku, ext3 i nagrywarek]] :[[Aktualizacja i kompilacja jądra w Debianie/Kompilacja, instalacja jądra|Kompilacja, instalacja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Rozwiązywanie problemów|Rozwiązywanie problemów]] kqkbruku6asuioefiqvo1o22tkzrv1q Wikipedysta:Rootoor/Książki/Aptsid - czyli Debian sid krok po kroku dla każdego 2 27347 544918 191160 2026-06-01T19:34:20Z Persino 2851 544918 wikitext text/x-wiki {{zapisane_książki}} == Aptosid == === - czyli Debian sid krok po kroku dla każdego === :[[Aptosid - czyli Debian sid krok po kroku dla każdego]] :[[Aptosid - czyli Debian sid krok po kroku dla każdego/Instalacja systemu|Instalacja systemu]] :[[Aptosid - czyli Debian sid krok po kroku dla każdego/Instalacja systemu na pamięci przenośnej|Instalacja systemu na pamięci przenośnej]] :[[Aptosid - czyli Debian sid krok po kroku dla każdego/Czynności poinstalacyjne|Czynności poinstalacyjne]] :[[Aptosid - czyli Debian sid krok po kroku dla każdego/Zarządzanie systemem, pakietami, instalacja programów|Zarządzanie systemem, pakietami, instalacja programów]] :[[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe|Programy użytkowe]] :[[Aptosid - czyli Debian sid krok po kroku dla każdego/Rozwiązywanie problemów|Rozwiązywanie problemów]] :[[Aptosid - czyli Debian sid krok po kroku dla każdego/Od autora|Od autora]] 7hqpvecxdk1400btwxtgcm7446z95vp Wikipedysta:Nova/Książki/Owoce 2 27348 544967 191171 2026-06-01T20:04:45Z Persino 2851 544967 wikitext text/x-wiki {{zapisane_książki}} == Owoce == === Katalog ilustrowany === :[[Wikijunior:Owoce]] :[[Wikijunior:Owoce/Autorzy|Autorzy]] :[[Wikijunior:Owoce/Wstęp|Wstęp]] :[[Wikijunior:Owoce/Indeks nazw|Indeks nazw]] :[[Wikijunior:Owoce/Indeks ilustracji|Indeks ilustracji]] :[[Wikijunior:Owoce/Indeks kolorów|Indeks kolorów]] :[[Wikijunior:Owoce/Bibliografia|Bibliografia]] :[[Wikijunior:Owoce/A|A]] :[[Wikijunior:Owoce/Agrest|Agrest]] :[[Wikijunior:Owoce/Ananas|Ananas]] :[[Wikijunior:Owoce/Arbuz|Arbuz]] :[[Wikijunior:Owoce/Aronia|Aronia]] :[[Wikijunior:Owoce/Asymina|Asymina]] :[[Wikijunior:Owoce/Awokado|Awokado]] :[[Wikijunior:Owoce/B|B]] :[[Wikijunior:Owoce/Banan|Banan]] :[[Wikijunior:Owoce/Bilimbi|Bilimbi]] :[[Wikijunior:Owoce/Borówka bagienna|Borówka bagienna]] :[[Wikijunior:Owoce/Borówka brusznica|Borówka brusznica]] :[[Wikijunior:Owoce/Borówka czarna|Borówka czarna]] :[[Wikijunior:Owoce/Borówka wysoka|Borówka wysoka]] :[[Wikijunior:Owoce/Brzoskwinia|Brzoskwinia]] :[[Wikijunior:Owoce/C|C]] :[[Wikijunior:Owoce/Cytron|Cytron]] :[[Wikijunior:Owoce/Cytryna|Cytryna]] :[[Wikijunior:Owoce/Czereśnia|Czereśnia]] :[[Wikijunior:Owoce/Czerymoja|Czerymoja]] :[[Wikijunior:Owoce/D|D]] :[[Wikijunior:Owoce/Daktyl|Daktyl]] :[[Wikijunior:Owoce/Daktyl indyjski|Daktyl indyjski]] :[[Wikijunior:Owoce/Drzewo chlebowe|Drzewo chlebowe]] :[[Wikijunior:Owoce/Durian|Durian]] :[[Wikijunior:Owoce/Dżakfrut|Dżakfrut]] :[[Wikijunior:Owoce/E|E]] :[[Wikijunior:Owoce/Eugenia jednokwiatowa|Eugenia jednokwiatowa]] :[[Wikijunior:Owoce/F|F]] :[[Wikijunior:Owoce/Figa|Figa]] :[[Wikijunior:Owoce/G|G]] :[[Wikijunior:Owoce/Granadilla|Granadilla]] :[[Wikijunior:Owoce/Granat|Granat]] :[[Wikijunior:Owoce/Grejpfrut|Grejpfrut]] :[[Wikijunior:Owoce/Gruszka|Gruszka]] :[[Wikijunior:Owoce/Guanabana|Guanabana]] :[[Wikijunior:Owoce/Gujawa|Gujawa]] :[[Wikijunior:Owoce/J|J]] :[[Wikijunior:Owoce/Jabłko|Jabłko]] :[[Wikijunior:Owoce/Jabłko cukrowe|Jabłko cukrowe]] :[[Wikijunior:Owoce/Jabłko jamajskie|Jabłko jamajskie]] :[[Wikijunior:Owoce/Jagoda kamczacka|Jagoda kamczacka]] :[[Wikijunior:Owoce/Jeżyna|Jeżyna]] :[[Wikijunior:Owoce/Jujuba|Jujuba]] :[[Wikijunior:Owoce/K|K]] :[[Wikijunior:Owoce/Karambola|Karambola]] :[[Wikijunior:Owoce/Kasztan jadalny|Kasztan jadalny]] :[[Wikijunior:Owoce/Kasztan wodny|Kasztan wodny]] :[[Wikijunior:Owoce/Kazimira jadalna|Kazimira jadalna]] :[[Wikijunior:Owoce/Kiwano|Kiwano]] :[[Wikijunior:Owoce/Kiwi|Kiwi]] :[[Wikijunior:Owoce/Kumkwat|Kumkwat]] :[[Wikijunior:Owoce/Kuruba|Kuruba]] :[[Wikijunior:Owoce/L|L]] :[[Wikijunior:Owoce/Liczi|Liczi]] :[[Wikijunior:Owoce/Lima|Lima]] :[[Wikijunior:Owoce/Longan|Longan]] :[[Wikijunior:Owoce/M|M]] :[[Wikijunior:Owoce/Makadamia|Makadamia]] :[[Wikijunior:Owoce/Malina|Malina]] :[[Wikijunior:Owoce/Malpigia|Malpigia]] :[[Wikijunior:Owoce/Mamea|Mamea]] :[[Wikijunior:Owoce/Mandarynka|Mandarynka]] :[[Wikijunior:Owoce/Mango|Mango]] :[[Wikijunior:Owoce/Mangostan właściwy|Mangostan właściwy]] :[[Wikijunior:Owoce/Marakuja|Marakuja]] :[[Wikijunior:Owoce/Melon|Melon]] :[[Wikijunior:Owoce/Migdał|Migdał]] :[[Wikijunior:Owoce/Mirabelka|Mirabelka]] :[[Wikijunior:Owoce/Mircjaria|Mircjaria]] :[[Wikijunior:Owoce/Morela|Morela]] :[[Wikijunior:Owoce/Morwa|Morwa]] :[[Wikijunior:Owoce/N|N]] :[[Wikijunior:Owoce/Nanercz|Nanercz]] :[[Wikijunior:Owoce/Nashi|Nashi]] :[[Wikijunior:Owoce/Nektarynka|Nektarynka]] :[[Wikijunior:Owoce/Nieśplik|Nieśplik]] :[[Wikijunior:Owoce/O|O]] :[[Wikijunior:Owoce/Oliwka|Oliwka]] :[[Wikijunior:Owoce/Opuncja|Opuncja]] :[[Wikijunior:Owoce/Orzech arachidowy|Orzech arachidowy]] :[[Wikijunior:Owoce/Orzech brazylijski|Orzech brazylijski]] :[[Wikijunior:Owoce/Orzech kokosowy|Orzech kokosowy]] :[[Wikijunior:Owoce/Orzech kola|Orzech kola]] :[[Wikijunior:Owoce/Orzech laskowy|Orzech laskowy]] :[[Wikijunior:Owoce/Orzech włoski|Orzech włoski]] :[[Wikijunior:Owoce/Orzeszki pistacjowe|Orzeszki pistacjowe]] :[[Wikijunior:Owoce/P|P]] :[[Wikijunior:Owoce/Pandan|Pandan]] :[[Wikijunior:Owoce/Papaja|Papaja]] :[[Wikijunior:Owoce/Pekan|Pekan]] :[[Wikijunior:Owoce/Persymona|Persymona]] :[[Wikijunior:Owoce/Pigwa|Pigwa]] :[[Wikijunior:Owoce/Pitaja|Pitaja]] :[[Wikijunior:Owoce/Pomarańcza|Pomarańcza]] :[[Wikijunior:Owoce/Pomelo|Pomelo]] :[[Wikijunior:Owoce/Porzeczka czarna|Porzeczka czarna]] :[[Wikijunior:Owoce/Porzeczka czerwona|Porzeczka czerwona]] :[[Wikijunior:Owoce/Poziomka|Poziomka]] :[[Wikijunior:Owoce/Pulasan|Pulasan]] :[[Wikijunior:Owoce/R|R]] :[[Wikijunior:Owoce/Rambutan|Rambutan]] :[[Wikijunior:Owoce/Renkloda|Renkloda]] :[[Wikijunior:Owoce/Róża dzika|Róża dzika]] :[[Wikijunior:Owoce/Róża pomarszczona|Róża pomarszczona]] :[[Wikijunior:Owoce/S|S]] :[[Wikijunior:Owoce/Saguaro|Saguaro]] :[[Wikijunior:Owoce/Salak|Salak]] :[[Wikijunior:Owoce/Sapodilla|Sapodilla]] :[[Wikijunior:Owoce/Słonecznik|Słonecznik]] :[[Wikijunior:Owoce/Ś|Ś]] :[[Wikijunior:Owoce/Śliwiec słodki|Śliwiec słodki]] :[[Wikijunior:Owoce/Śliwka|Śliwka]] :[[Wikijunior:Owoce/Świdośliwa|Świdośliwa]] :[[Wikijunior:Owoce/T|T]] :[[Wikijunior:Owoce/Tamarillo|Tamarillo]] :[[Wikijunior:Owoce/Tarnina|Tarnina]] :[[Wikijunior:Owoce/Truskawka|Truskawka]] :[[Wikijunior:Owoce/U|U]] :[[Wikijunior:Owoce/Umkokolo|Umkokolo]] :[[Wikijunior:Owoce/W|W]] :[[Wikijunior:Owoce/Winogrono|Winogrono]] :[[Wikijunior:Owoce/Wiśnia|Wiśnia]] :[[Wikijunior:Owoce/Ż|Ż]] :[[Wikijunior:Owoce/Żurawina|Żurawina]] al4prd8a0nj0lmu55j3hucokz1e1ll2 Wikipedysta:Bastet/Książki/Najlepsze vege 2 27354 544995 377404 2026-06-01T20:23:15Z Persino 2851 544995 wikitext text/x-wiki {{zapisane_książki}} == Przepisy wegetariańskie == === Moje ulubione :-)=== ;Zupy :[[Książka kucharska/Zupa krem z dyni]] :[[Książka kucharska/Zupa Dal (Dhal)]] ;Kuchnia wegetariańska :[[Książka kucharska/Kotlety z kaszy gryczanej i ziemniaków]] dx48cbliamvjsufpap9qjprw4797jqv Szablon:Wersja EPUB 10 27440 544836 544792 2026-06-01T15:50:17Z Persino 2851 544836 wikitext text/x-wiki <templatestyles src="Szablon:Wersja do druku/styles.css" />{{Div|klasa=noprint szablon_wersji_linków_do_stron wersja_EPUB {{#if:{{{2|}}}||wersja_z_info}}| {{Div|{{Div|{{Plik|plik=Icon epub file.svg|rozmiar={{#if:{{{2|}}}|50px|30px}}|opis=Wikibooks|rys=tak}}}}}} {{Div|{{Div|Dostępna jest '''''{{lf|{{Jeśli niepuste|{{{1|}}}|{{NAZWASTRONY|{{FULLPAGENAME}}}}}}.epub|wersja EPUB}}''''' podręcznika: '''„{{lo|{{Jeśli niepuste|{{{3|}}}|{{PEŁNANAZWAKSIĄŻKI|{{FULLPAGENAME}}}}|{{NAZWAKSIĄŻKI|{{FULLPAGENAME}}}}}}}}”'''. {{Small|{{Jeśli niepuste|{{{2|}}}}} ({{lf|{{Jeśli niepuste|{{{1|}}}|{{NAZWASTRONY|{{FULLPAGENAME}}}}}}.epub|info}})}}}}}}}}<!-- -->{{#switch:{{NAMESPACE}}||Wikijunior={{Kategoria|Podręczniki z wersją EPUB}}}}<!-- --><noinclude>{{Dokumentacja}}</noinclude> nqbbs0lll1qianiy8hzzdlpq7axg3fk Wikibooks:Kolekcje/Zanurkuj w Pythonie 4 27443 545054 256002 2026-06-01T22:46:00Z Persino 2851 545054 wikitext text/x-wiki {{zapisane książki}} == Zanurkuj w Pythonie == ;Instalacja :[[Zanurkuj_w_Pythonie/Który Python jest dla ciebie najlepszy?|Który Python jest dla ciebie najlepszy?]] :[[Zanurkuj_w_Pythonie/Python w systemie Windows|Python w systemie Windows]] :[[Zanurkuj_w_Pythonie/Python w systemie Mac OS|Python w systemie Mac OS]] :[[Zanurkuj_w_Pythonie/Python w systemach Linux|Python w systemach Linux]] :[[Zanurkuj_w_Pythonie/Instalacja ze źródeł|Instalacja ze źródeł]] :[[Zanurkuj_w_Pythonie/Interaktywna powłoka|Interaktywna powłoka]] :[[Zanurkuj_w_Pythonie/Instalacja - podsumowanie|Podsumowanie]] ;Pierwszy program :[[Zanurkuj_w_Pythonie/Pierwszy program|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Deklarowanie funkcji|Deklarowanie funkcji]] :[[Zanurkuj_w_Pythonie/Dokumentowanie funkcji|Dokumentowanie funkcji]] :[[Zanurkuj_w_Pythonie/Wszystko jest obiektem|Wszystko jest obiektem]] :[[Zanurkuj_w_Pythonie/Wcięcia kodu|Wcięcia kodu]] :[[Zanurkuj_w_Pythonie/Testowanie modułów|Testowanie modułów]] ;Wbudowane typy danych :[[Zanurkuj_w_Pythonie/Łańcuchy znaków i unikod|Łańcuchy znaków i unikod]] :[[Zanurkuj_w_Pythonie/Słowniki|Słowniki]] :[[Zanurkuj_w_Pythonie/Listy|Listy]] :[[Zanurkuj_w_Pythonie/Krotki|Krotki]] :[[Zanurkuj_w_Pythonie/Deklarowanie zmiennych|Deklarowanie zmiennych]] :[[Zanurkuj_w_Pythonie/Formatowanie łańcucha znaków|Formatowanie łańcucha znaków]] :[[Zanurkuj_w_Pythonie/Odwzorowywanie listy|Odwzorowywanie listy]] :[[Zanurkuj_w_Pythonie/Łączenie list i dzielenie łańcuchów znaków|Łączenie list i dzielenie łańcuchów znaków]] :[[Zanurkuj_w_Pythonie/Kodowanie znaków|Kodowanie znaków]] :[[Zanurkuj_w_Pythonie/Praca z unikodem|Praca z unikodem]] :[[Zanurkuj_w_Pythonie/Wbudowane typy danych - podsumowanie|Podsumowanie]] ;Potęga introspekcji :[[Zanurkuj_w_Pythonie/Potęga introspekcji|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Argumenty opcjonalne i nazwane|Argumenty opcjonalne i nazwane]] :[[Zanurkuj_w_Pythonie/Dwa sposoby importowania modułów|Dwa sposoby importowania modułów]] :[[Zanurkuj_w_Pythonie/type, str, dir i inne wbudowane funkcje|<code>type</code>, <code>str</code>, <code>dir</code> i inne wbudowane funkcje]] :[[Zanurkuj_w_Pythonie/Funkcja getattr|Funkcja <code>getattr</code>]] :[[Zanurkuj_w_Pythonie/Filtrowanie listy|Filtrowanie listy]] :[[Zanurkuj_w_Pythonie/Operatory and i or|Operatory <code>and</code> i <code>or</code>]] :[[Zanurkuj_w_Pythonie/Wyrażenia lambda|Wyrażenia <code>lambda</code>]] :[[Zanurkuj_w_Pythonie/Potęga introspekcji - wszystko razem|Wszystko razem]] :[[Zanurkuj_w_Pythonie/Potęga introspekcji - podsumowanie|Podsumowanie]] ;Obiekty i klasy :[[Zanurkuj_w_Pythonie/Obiekty i klasy|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Definiowanie klas|Definiowanie klas]] :[[Zanurkuj_w_Pythonie/Tworzenie instancji klasy|Tworzenie instancji klasy]] :[[Zanurkuj_w_Pythonie/Klasa opakowująca UserDict|Klasa opakowująca <code>UserDict</code>]] {{kompletność krótka|100%|29.08.07}} :[[Zanurkuj_w_Pythonie/Metody specjalne|Metody specjalne]] :[[Zanurkuj_w_Pythonie/Zaawansowane metody specjalne|Zaawansowane metody specjalne]] :[[Zanurkuj_w_Pythonie/Atrybuty klas|Atrybuty klas]] :[[Zanurkuj_w_Pythonie/Funkcje prywatne|Funkcje prywatne]] :[[Zanurkuj_w_Pythonie/Obiekty i klasy - podsumowanie|Podsumowanie]] ;Wyjątki i operacje na plikach :[[Zanurkuj_w_Pythonie/Obsługa wyjątków|Obsługa wyjątków]] :[[Zanurkuj_w_Pythonie/Praca na plikach|Praca na plikach]] :[[Zanurkuj_w_Pythonie/Pętla for|Pętla <code>for</code>]] :[[Zanurkuj_w_Pythonie/Korzystanie z sys.modules|Korzystanie z <tt>sys.modules</tt>]] {{kompletność krótka|100%|11.02.07}} :[[Zanurkuj_w_Pythonie/Praca z katalogami|Praca z katalogami]] :[[Zanurkuj_w_Pythonie/Wyjątki i operacje na plikach - wszystko razem|Wszystko razem]] {{kompletność krótka|100%|18.02.07}} :[[Zanurkuj_w_Pythonie/Wyjątki i operacje na plikach - podsumowanie|Podsumowanie]] {{kompletność krótka|100%|12.02.07}} ;Wyrażenia regularne :[[Zanurkuj_w_Pythonie/Wyrażenia regularne|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Analiza przypadku: Adresy ulic|Analiza przypadku: Adresy ulic]] :[[Zanurkuj_w_Pythonie/Analiza przypadku: Liczby rzymskie|Analiza przypadku: Liczby rzymskie]] :[[Zanurkuj_w_Pythonie/Składnia ?n, m?|Składnia <tt>{n, m}</tt>]] :[[Zanurkuj_w_Pythonie/Rozwlekłe wyrażenia regularne|Rozwlekłe wyrażenia regularne]] :[[Zanurkuj_w_Pythonie/Analiza przypadku: Przetwarzanie numerów telefonów|Analiza przypadku: Przetwarzanie numerów telefonów]] :[[Zanurkuj_w_Pythonie/Wyrażenia regularne - podsumowanie|Podsumowanie]] ;Przetwarzanie HTML-a :[[Zanurkuj_w_Pythonie/Przetwarzanie HTML-a|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Wprowadzenie do sgmllib.py|Wprowadzenie do <tt>sgmllib.py</tt>]] :[[Zanurkuj_w_Pythonie/Wyciąganie danych z dokumentu HTML|Wyciąganie danych z dokumentu HTML]] :[[Zanurkuj_w_Pythonie/Wprowadzenie do BaseHTMLProcessor.py|Wprowadzenie do <tt>BaseHTMLProcessor.py</tt>]] :[[Zanurkuj_w_Pythonie/locals i globals|<tt>locals</tt> i <tt>globals</tt>]] :[[Zanurkuj_w_Pythonie/Formatowanie napisów w oparciu o słowniki|Formatowanie napisów w oparciu o słowniki]] :[[Zanurkuj_w_Pythonie/Dodawanie cudzysłowów do wartości atrybutów|Dodawanie cudzysłowów do wartości atrybutów]] :[[Zanurkuj_w_Pythonie/Wprowadzanie do dialect.py|Wprowadzenie do <tt>dialect.py</tt>]] :[[Zanurkuj_w_Pythonie/Przetwarzanie HTML-a - wszystko razem|Wszystko razem]] :[[Zanurkuj_w_Pythonie/Przetwarzanie HTML-a - podsumowanie|Podsumowanie]] ;Przetwarzanie XML-a :[[Zanurkuj_w_Pythonie/Przetwarzanie XML-a|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Pakiety|Pakiety]] :[[Zanurkuj_w_Pythonie/Parsowanie XML-a|Parsowanie XML-a]] :[[Zanurkuj_w_Pythonie/Wyszukiwanie elementów|Wyszukiwanie elementów]] :[[Zanurkuj_w_Pythonie/Dostęp do atrybutów elementów|Dostęp do atrybutów elementów]] :[[Zanurkuj_w_Pythonie/Przetwarzanie XML-a - podsumowanie|Podsumowanie]] ;Skrypty i strumienie :[[Zanurkuj_w_Pythonie/Abstrakcyjne źródła wejścia|Abstrakcyjne źródła wejścia]] :[[Zanurkuj_w_Pythonie/Standardowy strumień wejścia, wyjścia i błędów|Standardowy strumień wejścia, wyjścia i błędów]] :[[Zanurkuj_w_Pythonie/Buforowanie odszukanego węzła|Buforowanie odszukanego węzła]] :[[Zanurkuj_w_Pythonie/Wyszukanie bezpośrednich elementów potomnych|Wyszukanie bezpośrednich elementów potomnych]] :[[Zanurkuj_w_Pythonie/Tworzenie oddzielnych funkcji obsługi względem typu węzła|Tworzenie oddzielnych funkcji obsługi względem typu węzła]] :[[Zanurkuj_w_Pythonie/Obsługa argumentów linii poleceń|Obsługa argumentów linii poleceń]] :[[Zanurkuj_w_Pythonie/Skrypty i strumienie - wszystko razem|Wszystko razem]] :[[Zanurkuj_w_Pythonie/Skrypty i strumienie - podsumowanie|Podsumowanie]] ;HTTP :[[Zanurkuj_w_Pythonie/HTTP|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Jak nie pobierać danych poprzez HTTP]] :[[Zanurkuj_w_Pythonie/Właściwości HTTP]] :[[Zanurkuj_w_Pythonie/Debugowanie serwisów HTTP]] :[[Zanurkuj_w_Pythonie/Ustawianie User-Agent|Ustawianie <tt>User-Agent</tt>]] :[[Zanurkuj_w_Pythonie/Korzystanie z Last-Modified i ETag|Korzystanie z <tt>Last-Modified</tt> i <tt>ETag</tt>]] :[[Zanurkuj_w_Pythonie/Obsługa przekierowań]] :[[Zanurkuj_w_Pythonie/Obsługa skompresowanych danych]] :[[Zanurkuj_w_Pythonie/HTTP - wszystko razem|Wszystko razem]] :[[Zanurkuj_w_Pythonie/HTTP - podsumowanie|Podsumowanie]] ;SOAP :[[Zanurkuj_w_Pythonie/SOAP|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Instalowanie odpowiednich bibliotek|Instalowanie odpowiednich bibliotek]] :[[Zanurkuj_w_Pythonie/Pierwsze kroki z SOAP|Pierwsze kroki z SOAP]] :[[Zanurkuj_w_Pythonie/Debugowanie serwisu sieciowego SOAP|Debugowanie serwisu sieciowego SOAP]] :[[Zanurkuj_w_Pythonie/Wprowadzenie do WSDL|Wprowadzenie do WSDL]] :[[Zanurkuj_w_Pythonie/Introspekcja SOAP z użyciem WSDL|Introspekcja SOAP z użyciem WSDL]] :[[Zanurkuj_w_Pythonie/Wyszukiwanie w Google|Wyszukiwanie w Google]] :[[Zanurkuj_w_Pythonie/Rozwiązywanie problemów|Rozwiązywanie problemów]] :[[Zanurkuj_w_Pythonie/SOAP - podsumowanie|Podsumowanie]] ;Testowanie jednostkowe :[[Zanurkuj_w_Pythonie/Wprowadzenie do liczb rzymskich|Wprowadzenie do liczb rzymskich]] :[[Zanurkuj_w_Pythonie/Testowanie - nurkujemy|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Wprowadzenie do romantest.py|Wprowadzenie do <tt>romantest.py</tt>]] :[[Zanurkuj_w_Pythonie/Testowanie poprawnych przypadków|Testowanie poprawnych przypadków]] :[[Zanurkuj_w_Pythonie/Testowanie niepoprawnych przypadków|Testowanie niepoprawnych przypadków]] :[[Zanurkuj_w_Pythonie/Testowanie zdroworozsądkowe|Testowanie zdroworozsądkowe]] ;Testowanie 2 :[[Zanurkuj_w_Pythonie/roman.py, etap 1|<tt>roman.py</tt>, etap 1]] :[[Zanurkuj_w_Pythonie/roman.py, etap 2|<tt>roman.py</tt>, etap 2]] :[[Zanurkuj_w_Pythonie/roman.py, etap 3|<tt>roman.py</tt>, etap 3]] :[[Zanurkuj_w_Pythonie/roman.py, etap 4|<tt>roman.py</tt>, etap 4]] :[[Zanurkuj_w_Pythonie/roman.py, etap 5|<tt>roman.py</tt>, etap 5]] ;Refaktoryzacja :[[Zanurkuj_w_Pythonie/Obsługa błędów|Obsługa błędów]] :[[Zanurkuj_w_Pythonie/Obsługa zmieniających się wymagań|Obsługa zmieniających się wymagań]] :[[Zanurkuj_w_Pythonie/Refaktoryzacja|Refaktoryzacja]] :[[Zanurkuj_w_Pythonie/Postscript|Postscript]] :[[Zanurkuj_w_Pythonie/Podsumowanie|Podsumowanie]] ;Programowanie funkcyjne :[[Zanurkuj_w_Pythonie/Programowanie funkcyjne|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Znajdowanie ścieżki|Znajdowanie ścieżki]] :[[Zanurkuj_w_Pythonie/Programowanie funkcyjne/Filtrowanie listy|Filtrowanie listy]] :[[Zanurkuj_w_Pythonie/Programowanie funkcyjne/Odwzorowywanie listy|Odwzorowywanie listy]] :[[Zanurkuj_w_Pythonie/Programowanie koncentrujące się na danych|Programowanie koncentrujące się na danych]] :[[Zanurkuj_w_Pythonie/Dynamiczne importowanie modułów|Dynamiczne importowanie modułów]] :[[Zanurkuj_w_Pythonie/Programowanie funkcyjne - wszystko razem|Wszystko razem]] :[[Zanurkuj_w_Pythonie/Programowanie funkcyjne - podsumowanie|Podsumowanie]] ;Funkcje dynamiczne :[[Zanurkuj_w_Pythonie/Funkcje dynamiczne|Nurkujemy]] :[[Zanurkuj_w_Pythonie/plural.py, etap 1|<tt>plural.py</tt>, etap 1]] :[[Zanurkuj_w_Pythonie/plural.py, etap 2|<tt>plural.py</tt>, etap 2]] :[[Zanurkuj_w_Pythonie/plural.py, etap 3|<tt>plural.py</tt>, etap 3]] :[[Zanurkuj_w_Pythonie/plural.py, etap 4|<tt>plural.py</tt>, etap 4]] :[[Zanurkuj_w_Pythonie/plural.py, etap 5|<tt>plural.py</tt>, etap 5]] :[[Zanurkuj_w_Pythonie/plural.py, etap 6|<tt>plural.py</tt>, etap 6]] :[[Zanurkuj_w_Pythonie/Funkcje dynamiczne - podsumowanie|Podsumowanie]] ;Optymalizacja szybkości :[[Zanurkuj_w_Pythonie/Optymalizacja szybkości|Nurkujemy]] :[[Zanurkuj_w_Pythonie/Korzystanie z modułu timeit|Korzystanie z modułu <tt>timeit</tt>]] :[[Zanurkuj_w_Pythonie/Optymalizacja wyrażeń regularnych|Optymalizacja wyrażeń regularnych]] :[[Zanurkuj_w_Pythonie/Optymalizacja przeszukiwania słownika|Optymalizacja przeszukiwania słownika]] :[[Zanurkuj_w_Pythonie/Optymalizacja operacji na listach|Optymalizacja operacji na listach]] :[[Zanurkuj_w_Pythonie/Optymalizacja operacji na napisach|Optymalizacja operacji na napisach]] :[[Zanurkuj_w_Pythonie/Optymalizacja szybkości - podsumowanie|Podsumowanie]] c7zs3vtuan924e79f9uzoavno3prz98 Wikibooks:Kolekcje/PHP 4 27454 545048 192115 2026-06-01T22:43:19Z Persino 2851 545048 wikitext text/x-wiki __NOEDITSECTION__ {{zapisane książki}} == PHP == ;Wprowadzenie :[[PHP/O podręczniku|O podręczniku]] :[[PHP/Czym jest PHP|Czym jest PHP]] :[[PHP/Możliwości|Możliwości]] :[[PHP/Jak się uczyć?|Jak się uczyć?]] ;Instalacja :[[PHP/Instalacja|Opis instalacji]] :[[PHP/Instalacja/Apache|Apache HTTP Server]] :[[PHP/Instalacja/MySQL 5|MySQL 5]] :[[PHP/Instalacja/PHP|PHP]] ;Podstawy języka :[[PHP/Pierwszy skrypt|Pierwszy skrypt]] :[[PHP/Zmienne i tablice|Zmienne i tablice]] :[[PHP/Formularze|Formularze]] :[[PHP/Struktury kontrolne|Struktury kontrolne]] :[[PHP/Instrukcja if|Instrukcja if]] :[[PHP/Instrukcja switch|Instrukcja switch]] :[[PHP/Instrukcja for|Instrukcja for]] :[[PHP/Instrukcja while|Instrukcja while]] :[[PHP/Instrukcja do while|Instrukcja do while]] :[[PHP/Instrukcja foreach|Instrukcja foreach]] :[[PHP/Funkcje|Funkcje]] :[[PHP/Inne elementy składni|Inne elementy składni]] :[[PHP/Każdy popełnia błędy|Każdy popełnia błędy]] :[[PHP/Korzystanie z dokumentacji|Korzystanie z dokumentacji]] :[[PHP/Studium przypadku - Księga gości|Studium przypadku: Księga gości]] :[[PHP/Ćwiczenia/Podstawy języka|Ćwiczenia]] ;Rozmaitości :[[PHP/Przetwarzanie tekstu|Przetwarzanie tekstu]] :[[PHP/Podstawy wyrażeń regularnych|Podstawy wyrażeń regularnych]] :[[PHP/Obsługa ciastek|Obsługa ciastek]] :[[PHP/Sesje|Sesje]] :[[PHP/Wysyłanie e-maili|Wysyłanie e-maili]] :[[PHP/Internacjonalizacja|Internacjonalizacja]] :[[PHP/System plików|System plików]] :[[PHP/Data i czas|Data i czas]] :[[PHP/Ćwiczenia/Rozmaitości|Ćwiczenia]] ;Programowanie obiektowe :[[PHP/Czym jest programowanie obiektowe?|Czym jest programowanie obiektowe?]] :[[PHP/Klasy i obiekty|Klasy i obiekty]] :[[PHP/Konstruktory i destruktory|Konstruktory i destruktory]] :[[PHP/Dziedziczenie|Dziedziczenie]] :[[PHP/Interfejsy|Interfejsy]] :[[PHP/Wyjątki|Wyjątki]] :[[PHP/Elementy statyczne|Elementy statyczne]] :[[PHP/Metody magiczne|Metody magiczne]] :[[PHP/Iteratory|Iteratory]] :[[PHP/Automatyczne ładowanie|Automatyczne ładowanie]] :[[PHP/Ćwiczenia/Programowanie obiektowe|Ćwiczenia]] ;Zaawansowane programowanie :[[PHP/Domknięcia|Domknięcia]] :[[PHP/Przestrzenie nazw|Przestrzenie nazw]] :[[PHP/Archiwa PHAR|Archiwa PHAR]] :[[PHP/Podstawy przetwarzania XML-a|Podstawy przetwarzania XML-a]] :[[PHP/Wzorce projektowe|Wzorce projektowe]] :[[PHP/XDebug|XDebug]] :[[PHP/Ćwiczenia/Zaawansowane programowanie|Ćwiczenia]] ;Bazy danych :[[PHP/Wstęp do baz danych|Wstęp do baz danych]] :[[PHP/Projekt bazy danych|Projekt bazy danych]] :[[PHP/Zarządzanie rekordami|Zarządzanie rekordami]] :[[PHP/Pobieranie rekordów|Pobieranie rekordów]] :[[PHP/Relacje i indeksy|Relacje i indeksy]] :[[PHP/Biblioteka PDO|Biblioteka PDO]] :[[PHP/ORM i biblioteka Doctrine|ORM i biblioteka Doctrine]] :[[PHP/Jak to się robiło kiedyś?|Jak to się robiło kiedyś?]] :[[PHP/phpMyAdmin|phpMyAdmin]] :[[PHP/Studium przypadku/System newsów|Studium przypadku: System newsów]] :[[PHP/Bazy danych - Co dalej?|Bazy danych - co dalej?]] :[[PHP/Ćwiczenia/Bazy danych|Ćwiczenia]] ;Systemy szablonów :[[PHP/Czym jest system szablonów?|Czym jest system szablonów?]] :[[PHP/Prosty edukacyjny system szablonów|Prosty edukacyjny system szablonów]] :[[PHP/Wybrane systemy szablonów|Wybrane systemy szablonów]]: :[[PHP/Savant|Savant]] :[[PHP/Open Power Template|Open Power Template]] :[[PHP/PHPTAL|PHPTAL]] :[[PHP/Smarty|Smarty]] :[[PHP/Ćwiczenia/Systemy szablonów|Ćwiczenia]] ;Frameworki :[[PHP/Czym jest framework?|Czym jest framework?]] :[[PHP/Wzorce złożone: MVC, MVP i pochodne|Wzorce złożone: MVC, MVP i pochodne]] :[[PHP/Prosty framework edukacyjny|Prosty framework edukacyjny]] :[[PHP/Wybrane frameworki|Wybrane frameworki]]: :[[PHP/Prado Framework|Prado Framework]] :[[PHP/Yii Framework|Yii Framework]] :[[PHP/Symfony Framework|Symfony Framework]] :[[PHP/Zend Framework|Zend Framework]] :[[PHP/Studium przypadku/Prosty blog|Studium przypadku: Prosty blog]] :[[PHP/Ćwiczenia/Frameworki|Ćwiczenia]] ;Bezpieczeństwo :[[PHP/Wstęp do zagadnień bezpieczeństwa|Wstęp do zagadnień bezpieczeństwa]] :[[PHP/Techniki ataków|Techniki ataków]] :[[PHP/Zabezpieczanie sesji|Zabezpieczanie sesji]] :[[PHP/Bezpieczne zarządzanie danymi|Bezpieczne zarządzanie danymi]] :[[PHP/Kontrola formularzy|Kontrola formularzy]] :[[PHP/Obrona przed botami|Obrona przed botami]] :[[PHP/Podstawy kryptografii|Podstawy kryptografii]] :[[PHP/Mechanizmy uwierzytelniania|Mechanizmy uwierzytelniania]] :[[PHP/Mechanizmy kontroli uprawnień|Mechanizmy kontroli uprawnień]] :[[PHP/Połączenia szyfrowane|Połączenia szyfrowane]] :[[PHP/Ćwiczenia/Bezpieczeństwo|Ćwiczenia]] ;Dobre praktyki :[[PHP/Standardy kodowania|Standardy kodowania]] :[[PHP/Dokumentowanie kodu|Dokumentowanie kodu]] :[[PHP/Testowanie aplikacji|Testowanie aplikacji]] ;Inne :[[PHP/Inne/Edytory PHP|Edytory PHP]] :[[PHP/Inne/Autorzy|Autorzy]] :[[PHP/Inne/Dla twórców podręcznika|Dla twórców podręcznika]] ;Archiwum - zawiera fragmenty rozdziałów, które były kiedyś zaczęte, lecz zostały odłożone na później lub są już niepotrzebne z różnych przyczyn (np. zawarta w nich treść jest przekazywana w zupełnie inny sposób). :[[PHP/SQL Injection|SQL Injection]] :[[PHP/Szyfrowanie#Hashowanie|Hashowanie]] :[[PHP/PHP Injection|PHP Injection]] :[[PHP/Bazy danych i sesje|Bazy danych i sesje]] :[[PHP/Smarty|Smarty]] pr17c13psfzzt8ib272tb33p4lrqqg3 Wikibooks:Kolekcje/Ubuntu 4 27455 545052 192121 2026-06-01T22:45:05Z Persino 2851 545052 wikitext text/x-wiki {{zapisane książki}} ;Wstęp :[[Ubuntu/Wstęp|Wstęp]] ;O Ubuntu :[[Ubuntu/O Ubuntu|O Ubuntu]] :[[Ubuntu/Dlaczego warto używać Ubuntu|Dlaczego warto używać Ubuntu]] :[[Ubuntu/Dlaczego nie warto używać Ubuntu|Dlaczego nie warto używać Ubuntu]] :[[Ubuntu/Jak zdobyć Ubuntu|Jak zdobyć Ubuntu]] :[[Ubuntu/Gdzie uzyskac pomoc|Gdzie uzyskać pomoc]] ;Instalacja i konfiguracja :[[Ubuntu/Instalacja systemu| na dysku]] :[[Ubuntu/Instalacja systemu na nośniku USB| na pamięci USB]] :[[Ubuntu/Instalacja systemu w Windows| w Windows]] :[[Ubuntu/Konfiguracja systemu|Konfiguracja systemu]] ;Prolog :[[Ubuntu/Pierwszy rzut oka na system|Pierwszy rzut oka na system]] ;Menu główne systemu ;Programy :[[Ubuntu/Akcesoria|Akcesoria]] :[[Ubuntu/Programy biurowe|Biuro]] :[[Ubuntu/Programy multimedialne|Dźwięk i wideo]] :[[Ubuntu/Programy multimedialne/Nagrywanie płyt|Nagrywanie płyt]] :[[Ubuntu/Programy multimedialne/Odtwarzanie filmów|Odtwarzanie filmów]] :[[Ubuntu/Programy multimedialne/Odtwarzanie muzyki|Odtwarzanie muzyki]] :[[Ubuntu/Programy graficzne|Grafika]] :[[Ubuntu/Gry|Gry]] :[[Ubuntu/Programy internetowe|Internet]] :[[Ubuntu/Programy internetowe/Pobieranie plików w sieci BitTorrent|Pobieranie plików w sieci BitTorrent]] :[[Ubuntu/Programy internetowe/Konfiguracja połączenia z portalem społecznościowym|Konfiguracja połączenia z portalem społecznościowym]] :[[Ubuntu/Programy internetowe/Konfiguracja zdalnego połączenia|Konfiguracja zdalnego połączenia]] :[[Ubuntu/Programy internetowe/Konfiguracja komunikatora internetowego|Konfiguracja komunikatora internetowego]] :[[Ubuntu/Konfiguracja przeglądarki Firefox|Konfiguracja przeglądarki Firefox]] :[[Ubuntu/Konfiguracja programu pocztowego|Konfiguracja programu pocztowego]] :[[Ubuntu/Instalacja dodatkowego oprogramowania (za pomocą Centrum oprogramowania Ubuntu)|Centrum oprogramowania Ubuntu]] ;Ustawienia osobiste :[[Ubuntu/Menu główne|Menu główne]] :[[Ubuntu/O mnie|O mnie]] :[[Ubuntu/Połączenia sieciowe|Połączenia sieciowe]] :[[Ubuntu/Preferowane aplikacje|Preferowane programy]] :[[Ubuntu/Programy startowe|Programy startowe]] :[[Ubuntu/Skróty klawiszowe|Skróty klawiszowe]] :[[Ubuntu/Ubuntu One|Ubuntu One]] :[[Ubuntu/Wygaszacz ekranu|Wygaszacz ekranu]] ;Sprzęt :[[Ubuntu/Bluetooth|Bluetooth]] :[[Ubuntu/Konfiguracja drukarki|Drukarka]] :[[Ubuntu/Dźwięk|Dźwięk]] :[[Ubuntu/Klawiatura|Klawiatura]] :[[Ubuntu/Rozdzielczość ekranu|Monitory]] :[[Ubuntu/Mysz|Mysz]] :[[Ubuntu/Sterowniki|Sterowniki]] :[[Ubuntu/Wygląd|Wygląd]] :[[Ubuntu/Zarządzanie zasilaniem|Zarządzanie zasilaniem]] ;System :[[Ubuntu/Asystent dysku uruchomieniowego|Asystent dysku uruchomieniowego]] :[[Ubuntu/Czas i data|Czas i data]] :[[Ubuntu/Ekran logowania|Ekran logowania]] :[[Ubuntu/Wybór języka|Języki]] :[[Ubuntu/Aktualizacja systemu|Menadżer aktualizacji]] :[[Ubuntu/Instalacja dodatkowego oprogramowania (za pomocą Synaptic)|Menadżer pakietów Synaptic]] :[[Ubuntu/Monitor systemu|Monitor systemu]] :[[Ubuntu/Narzędzie do obsługi dysków|Narzędzie do obsługi dysków]] :[[Ubuntu/Sprzątanie systemu|Sprzątanie systemu]] :[[Ubuntu/Użytkownicy i grupy|Użytkownicy i grupy]] ;Bezpieczeństwo :[[Ubuntu/Zabezpieczenie systemu|Zabezpieczenie systemu]] :[[Ubuntu/Zapora ogniowa|Zapora ogniowa]] :[[Ubuntu/Program antywirusowy|Program antywirusowy]] :[[Ubuntu/Usuwanie rootkitów|Usuwanie rootkitów]] :[[Ubuntu/Anonimowość w sieci|Anonimowość w sieci]] ;Tryb tekstowy :[[Ubuntu/Pierwszy raz z trybem tekstowym|Jak go nie używać]] :[[Ubuntu/Podstawowe polecenia|Podstawowe polecenia]] :[[Ubuntu/Dostęp do konta root|Dostęp do konta root]] :[[Ubuntu/Zarządzanie pakietami|Zarządzanie pakietami]] :[[Ubuntu/Kompilacja programów ze źródeł|Kompilacja programów ze źródeł]] :[[Ubuntu/Kompilacja jądra|Kompilacja jądra]] ;Instalacja dodatkowego oprogramowania i sprzętu {{Porada|Tutaj dodaj aplikacje w/g działów tematycznych, które nie są domyślnie zainstalowane<br> w Ubuntu wraz z zrzutami ekranów z domyślnym motywem graficznym Ubuntu}} ;Programy internetowe :[[Ubuntu/Instalacja Kadu|Komunikator Kadu]] :[[Ubuntu/Skype|Komunikator Skype]] :[[Ubuntu/Przeglądarka Opera|Przeglądarka stron www Opera]] :[[Ubuntu/Przeglądarka Google-Chrome|Przeglądarka stron www Google-Chrome]] :[[Ubuntu/Thunderbird|Program pocztowy Thunderbird]] ;Programy multimedialne :[[Ubuntu/Instalacja kodeków i polskich czcionek|Instalacja kodeków i polskich czcionek]] :[[Ubuntu/Instalacja Xine|Odtwarzacz wideo Xine]] :[[Ubuntu/Odtwarzacz MPlayer|Odtwarzacz wideo MPlayer]] :[[Ubuntu/Odtwarzacz VLC|Odtwarzacz multimedialny VLC]] :[[Ubuntu/Odtwarzacz Audacious|Odtwarzacz muzyki Audacious]] ;Pozostałe :[[Ubuntu/VirtualBox|VirtualBox]] :[[Ubuntu/Instalacja Wine|Instalacja Wine]] :[[Ubuntu/Inne|Ubuntu Tweak, MyUnity, Unsettings]] ;Konfigurowanie połączenia internetowego przez port USB :[[Ubuntu/Instalacja Neostrady i innych|Instalacja Neostrady i innych]] :[[Ubuntu/Instalacja połączenia DSL (poprzez port USB)|Program UbuDSL - instalacja Neostrady i innych połączeń DSL (poprzez port USB)]] ;Instalacja sterowników do kart graficznych :[[Ubuntu/Instalacja kart graficznych ATI|Karty graficzne ATI]] :[[Ubuntu/Instalacja kart graficznych nVIDIA|Karty graficzne nVIDIA]] ;Środowiska graficzne i dodatki :[[Ubuntu/Instalacja innych środowisk graficznych|Instalacja innych środowisk graficznych]] :[[Ubuntu/Tuning GNOME|Tuning GNOME]] :[[Ubuntu/Tuning KDE|Tuning KDE]] :[[Ubuntu/Tuning XFCE4|Tuning XFCE4]] :[[Ubuntu/Compiz-fusion|Compiz-fusion]] :[[Ubuntu/Screenlets|Screenlets]] :[[Ubuntu/gDesklets|gDesklets]] :[[Ubuntu/Wbar|Wbar]] :[[Ubuntu/Conky|Conky]] ;FAQ :[[Ubuntu/FAQ|FAQ]] ;Linki :[[Ubuntu/Linki|Linki]] d0rqqke2znjv4ryv6ol13bphylbhequ Wikibooks:Kolekcje/Organiczna technika studiowania 4 27483 545047 192412 2026-06-01T22:42:49Z Persino 2851 545047 wikitext text/x-wiki {{zapisane_książki}} == Organiczna technika studiowania == :[[Organiczna technika studiowania/Okładka|Okładka]] :[[Organiczna technika studiowania/Wprowadzenie|Wprowadzenie]] :[[Organiczna technika studiowania/Tryb życia|Tryb życia]] :[[Organiczna technika studiowania/Umysł|Twój sprawny umysł]] :[[Organiczna technika studiowania/Czytanie|Podstawy szybkiego czytania]] :[[Organiczna technika studiowania/Definicja|Nowa definicja czytania]] :[[Organiczna technika studiowania/Przyspieszanie|Przyspieszenie czytania]] :[[Organiczna technika studiowania/Wskaźnik|Techniki prowadzenia wzroku]] :[[Organiczna technika studiowania/Przegląd|Przegląd wstępny]] :[[Organiczna technika studiowania/Przeszukiwanie|Przeszukiwanie]] :[[Organiczna technika studiowania/Przemykanie|Przemykanie]] :[[Organiczna technika studiowania/Akapity|Struktura akapitu]] :[[Organiczna technika studiowania/Zaawansowane|Zaawansowane techniki]] :[[Organiczna technika studiowania/Pamięć|Pamięć]] :[[Organiczna technika studiowania/Rytmy|Rytmy pamięci]] :[[Organiczna technika studiowania/Mnemotechniki|Mnemotechniki]] :[[Organiczna technika studiowania/GSP|Główny System Pamięciowy]] :[[Organiczna technika studiowania/Praktyka|GSP w praktyce]] :[[Organiczna technika studiowania/Egzaminy|Przygotowywanie się do egzaminów]] :[[Organiczna technika studiowania/Trening|Ćwiczenia rozwijające pamięć]] :[[Organiczna technika studiowania/Mind Map|Kreślenie Map Myśli]] :[[Organiczna technika studiowania/Zasady|Główne zasady]] :[[Organiczna technika studiowania/Zalecenia|Zalecenia]] :[[Organiczna technika studiowania/Zagrożenia|Główne zagrożenia]] :[[Organiczna technika studiowania/MMOST|Organiczna Technika Studiowania]] :[[Organiczna technika studiowania/Warunki|Otoczenie sprzyjające nauce]] ;Przygotowanie: :[[Organiczna technika studiowania/Wertowanie|Przewertowanie materiału]] :[[Organiczna technika studiowania/Czas i zakres materiału|Czas i zakres materiału]] :[[Organiczna technika studiowania/Mapa_wiedzy|Mapa myśli - obraz dotychczasowej wiedzy]] :[[Organiczna technika studiowania/pytania_cele|Pytania i zamierzone cele]] ;Zastosowanie :[[Organiczna technika studiowania/Ogólny przegląd materiału|Ogólny przegląd materiału]] :[[Organiczna technika studiowania/Wstępne|Przejrzenie wstępne]] :[[Organiczna technika studiowania/Uzupełniające|Przejrzenie uzupełniające]] :[[Organiczna technika studiowania/Końcowe|Końcowy przegląd materiału]] :[[Organiczna technika studiowania/Podsumowanie|Podsumowanie]] e0avza2dsqhiwcaf5lpo891q2aww8v9 Wikibooks:Kolekcje/Biologia szkoła ponadgimnazjalna 4 27526 545037 241352 2026-06-01T22:37:39Z Persino 2851 545037 wikitext text/x-wiki __NOEDITSECTION__ __NOTOC__ {{zapisane książki}} == Biologia szkoła ponadgimnazjalna == === Zakres podstawowy === :[[Biologia_szkoła_ponadgimnazjalna/Okładka|Okładka]] ;O Podręczniku :[[Biologia_szkoła_ponadgimnazjalna/O podręczniku|O podręczniku]] ;Spis treści :[[Biologia_szkoła_ponadgimnazjalna/Podstawa programowa|Podstawa programowa]] :[[Biologia_szkoła_ponadgimnazjalna/Informacja genetyczna|Informacja genetyczna]] :[[Biologia_szkoła_ponadgimnazjalna/Biotechnologia tradycyjna|Biotechnologia tradycyjna]] :[[Biologia_szkoła_ponadgimnazjalna/Inżynieria genetyczna|Inżynieria genetyczna]] :[[Biologia_szkoła_ponadgimnazjalna/Modyfikowane genetycznie mikroorganizmy|Modyfikowane genetycznie mikroorganizmy]] :[[Biologia_szkoła_ponadgimnazjalna/Modyfikowane genetycznie rośliny i zwierzęta|Modyfikowane genetycznie rośliny i zwierzęta]] :[[Biologia_szkoła_ponadgimnazjalna/Klonowanie zwierząt|Klonowanie zwierząt]] :[[Biologia_szkoła_ponadgimnazjalna/Korzyści i zagrożenia wykorzystania GMO|Korzyści i zagrożenia wykorzystania GMO]] :[[Biologia_szkoła_ponadgimnazjalna/Wykorzystanie badań DNA w sądownictwie|Wykorzystanie badań DNA w sądownictwie]] :[[Biologia_szkoła_ponadgimnazjalna/Wykorzystanie badań DNA w medycynie|Wykorzystanie badań DNA w medycynie]] :[[Biologia_szkoła_ponadgimnazjalna/Wykorzystanie badań DNA w nauce|Wykorzystanie badań DNA w nauce]] :[[Biologia_szkoła_ponadgimnazjalna/Poradnictwo genetyczne|Poradnictwo genetyczne]] :[[Biologia_szkoła_ponadgimnazjalna/Terapia genowa|Terapia genowa]] :[[Biologia_szkoła_ponadgimnazjalna/Biotechnologia i inżynieria genetyczna. Powtórzenie wiadomości|Biotechnologia i inżynieria genetyczna. Powtórzenie wiadomości]] :[[Biologia_szkoła_ponadgimnazjalna/Biosfera a różnorodność biologiczna|Biosfera a różnorodność biologiczna]] :[[Biologia_szkoła_ponadgimnazjalna/Różnorodność genetyczna|Różnorodność genetyczna]] :[[Biologia_szkoła_ponadgimnazjalna/Różnorodność gatunkowa|Różnorodność gatunkowa]] :[[Biologia_szkoła_ponadgimnazjalna/Różnorodność ekosystemowa|Różnorodność ekosystemowa]] :[[Biologia_szkoła_ponadgimnazjalna/Wpływ człowieka na różnorodność biologiczną|Wpływ człowieka na różnorodność biologiczną]] :[[Biologia_szkoła_ponadgimnazjalna/Dlaczego chronimy przyrodę?|Dlaczego chronimy przyrodę?]] :[[Biologia_szkoła_ponadgimnazjalna/Wymarłe i zagrożone gatunki|Wymarłe i zagrożone gatunki]] :[[Biologia_szkoła_ponadgimnazjalna/Formy ochrony przyrody|Formy ochrony przyrody]] :[[Biologia_szkoła_ponadgimnazjalna/Ochrona in situ i ex situ|Ochrona in situ i ex situ]] :[[Biologia_szkoła_ponadgimnazjalna/Współpraca międzynarodowa w ochronie przyrody|Współpraca międzynarodowa w ochronie przyrody]] :[[Biologia_szkoła_ponadgimnazjalna/Rozwój rolnictwa a różnorodność biologiczna|Rozwój rolnictwa a różnorodność biologiczna]] :[[Biologia_szkoła_ponadgimnazjalna/Restytucja gatunków zagrożonych wyginięciem|Restytucja gatunków zagrożonych wyginięciem]] :[[Biologia_szkoła_ponadgimnazjalna/Różnorodność biologiczna i jej zagrożenia. Powtórzenie wiadomości|Różnorodność biologiczna i jej zagrożenia. Powtórzenie wiadomości]] :[[Biologia_szkoła_ponadgimnazjalna/Wycieczka do ogrodu zoologicznego, ogrodu botanicznego lub muzeum przyrodniczego|Wycieczka do ogrodu zoologicznego, ogrodu botanicznego lub muzeum przyrodniczego]] :[[Biologia_szkoła_ponadgimnazjalna/Wycieczka do obszaru chronionego|Wycieczka do obszaru chronionego]] :[[Biologia_szkoła_ponadgimnazjalna/Bibliografia|Bibliografia]] 5sdwmxaiblliw5k5s6yg0rzaqtno9jk Wikibooks:Kolekcje/Wstęp do fizyki jądra atomowego 4 27528 545053 231353 2026-06-01T22:45:33Z Persino 2851 545053 wikitext text/x-wiki __NOEDITSECTION__ __NOTOC__ {{zapisane książki}} ;Wstęp do fizyki jądra atomowego :[[Wstęp_do_fizyki_jądra_atomowego/Nukleony_a_budowa_jądra_atomowego|Nukleony a budowa jądra atomowego]] :[[Wstęp_do_fizyki_jądra_atomowego/Najważniejsze_parametry_jądra_atomowego|Najważniejsze parametry jądra atomowego]] :[[Wstęp_do_fizyki_jądra_atomowego/Rozpady_(przejścia,_przemiany)_jądrowe|Rozpady (przejścia, przemiany) jądrowe]] :[[Wstęp_do_fizyki_jądra_atomowego/Promieniowanie_i_szeregi_promieniotwórcze|Promieniowanie i szeregi promieniotwórcze]] :[[Wstęp_do_fizyki_jądra_atomowego/Rozpraszanie_cząstek_na_jądrze_atomowym|Rozpraszanie cząstek na jądrze atomowym]] :[[Wstęp_do_fizyki_jądra_atomowego/Reakcje_jądrowe|Reakcje jądrowe]] :[[Wstęp_do_fizyki_jądra_atomowego/Łańcuchowe reakcje rozszczepienia. Reaktory jądrowe. Bomba jądrowa|Łańcuchowe reakcje rozszczepienia. Reaktory jądrowe. Bomba jądrowa]] :[[Wstęp do fizyki jądra atomowego/Oddziaływanie promieniowania z materią|Oddziaływanie promieniowania z materią]] ;Bibliografia :[[Fizyka teoretyczna/Bibliografia|Bibliografia]] ;Licencja :[[Fizyka teoretyczna/Licencja|Licencja]] szsa0fqe43wt132qzisg85dqux53nba Wikibooks:Kolekcje/Komputer w praktyce 4 27537 545042 192783 2026-06-01T22:40:28Z Persino 2851 545042 wikitext text/x-wiki {{zapisane książki}} ==Komputer w praktyce== :[[Komputer w praktyce/Okładka|Okładka]] ;Wstęp :[[Komputer w praktyce/Twój komputer nie wybuchnie|Twój komputer nie wybuchnie]] :[[Komputer w praktyce/Do czego przyda nam się komputer|Do czego przyda nam się komputer]] ;Nowy komputer :[[Komputer w praktyce/Wybierz z głową|Wybierz z głową]] :[[Komputer w praktyce/Prosto z pudełka|Prosto z pudełka]] :[[Komputer w praktyce/Mam komputer|Mam komputer]] :[[Komputer w praktyce/Oprogramowanie|Oprogramowanie]] ;Obsługa komputera :[[Komputer w praktyce/ABC zestawu komputerowego|ABC zestawu komputerowego]] :[[Komputer w praktyce/Pierwsze uruchomienie|Pierwsze uruchomienie]] :[[Komputer w praktyce/Obsługa zestawu komputerowego|Obsługa zestawu komputerowego]] :[[Komputer w praktyce/I co dalej?|I co dalej?]] ;O podręczniku :[[Komputer w praktyce/Dla autorów|Dla autorów]] :[[Komputer w praktyce/Bibliografia|Bibliografia]] b2otqgc762mk5qyn97mr0hkkfngifj4 Wikibooks:Kolekcje/Debian - uniwersalna instalacja 4 27540 544927 238013 2026-06-01T19:38:57Z Persino 2851 544927 wikitext text/x-wiki {{zapisane_książki}} == Debian == === Dodatki === ;Wstęp :[[Debian - uniwersalna instalacja/O podręczniku]] ;Instalacja i konfiguracja :[[Debian - uniwersalna instalacja/Pobranie i nagranie obrazu systemu]] :[[Debian - uniwersalna instalacja/Instalacja systemu podstawowego]] :[[Debian - uniwersalna instalacja/Wybór wersji systemu]] :[[Debian - uniwersalna instalacja/HDD]] :[[Debian - uniwersalna instalacja/PXE]] :[[Debian - uniwersalna instalacja/Internet]] :[[Debian - uniwersalna instalacja/Instalacja systemu grafiki]] :[[Debian - uniwersalna instalacja/Instalacja systemu dźwięku]] :[[Debian - uniwersalna instalacja/Wybór środowiska graficznego]] :[[Debian/Wybór menedżera logowania]] :[[Debian - uniwersalna instalacja/Polonizacja]] :[[Debian - uniwersalna instalacja/Instalacja języka polskiego dla programów]] ;Prolog :[[Debian - uniwersalna instalacja/Pierwsze uruchomienie]] ;System zarządzania pakietami :[[Debian - uniwersalna instalacja/Instalacja dodatkowego oprogramowania]] :[[Debian/Repozytoria zewnętrzne i klucze publiczne]] :[[Debian - uniwersalna instalacja/Dselect|Dselect]] ;Bezpieczeństwo :[[Debian - uniwersalna instalacja/Konfigurowanie iptables|Konfigurowanie iptables]] :[[Debian - uniwersalna instalacja/Konfigurowanie macchanger]] :[[Debian - uniwersalna instalacja/Aktualizacje bezpieczeństwa]] :[[Debian - uniwersalna instalacja/Konfiguracja Iceweasela]] :[[Debian - uniwersalna instalacja/Konfiguracja Tora]] ;Tryb tekstowy :[[Ubuntu/Pierwszy raz z trybem tekstowym]] :[[Ubuntu/Niebezpieczne polecenia]] :[[Ubuntu/Zabezpieczenie systemu]] :[[Ubuntu/Podstawowe polecenia]] :[[Ubuntu/Dostęp do konta root]] :[[Ubuntu/Zarządzanie pakietami]] :[[Ubuntu/Kompilacja programów ze źródeł]] :[[Aktualizacja i kompilacja jądra w Debianie/Przedsłowie]] :[[Aktualizacja i kompilacja jądra w Debianie/Wprowadzenie, pobieranie jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Budowanie jądra krok po kroku]] :[[Aktualizacja i kompilacja jądra w Debianie/Konfiguracja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Obsługa dźwięku, ext3 i nagrywarek]] :[[Aktualizacja i kompilacja jądra w Debianie/Kompilacja, instalacja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Rozwiązywanie problemów]] ;Dodatki ;Internet : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Przegladarki stron www|Przeglądarki stron www]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Programy pocztowe|Programy pocztowe]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Komunikatory|Komunikatory]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Telefonia voip|Telefonia voip]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Menadżery pobierania plików|Menadżery pobierania plików]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Bezpośrednia wymiana plików w sieciach p2p|Bezpośrednia wymiana plików w sieciach p2p]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Klienty ftp|Klienty ftp]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Edycja stron www|Edycja stron www]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Zarządzanie sieciami lokalnymi|Zarządzanie sieciami lokalnymi]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Połączenie w sieci lokalnej|Połączenie w sieci lokalnej]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Anonimowość w sieci|Anonimowość w sieci]] ;Multimedia : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Kodeki, polskie czcionki|Kodeki, polskie czcionki]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Odtwarzacze wideo|Odtwarzacze wideo]]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Odtwarzacze audio|Odtwarzacze audio]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Edycja audio i wideo|Edycja audio i wideo]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Miksery dźwięku|Miksery dźwięku]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Nagrywanie płyt|Nagrywanie płyt]] ;Biuro : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Edytory tekstu|Edytory tekstu]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Pakiety biurowe|Pakiety biurowe]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Przeglądarki dokumentów PDF|Przeglądarki dokumentów PDF]] ;Grafika : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Przeglądarki grafiki|Przeglądarki grafiki]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Edytory grafiki|Edytory grafiki]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Tworzenie albumów fotograficznych|Tworzenie albumów fotograficznych]] ;Wirtualizacja : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Wirtualna maszyna Java|Wirtualna maszyna Java]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Wine|Wine]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/VirtualBox|VirtualBox]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/VMware Player|VMware Player]] ;Akcesoria : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Archiwizacja danych|Archiwizacja danych]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Dodatki do pulpitu|Dodatki do pulpitu]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Efekty specjalne pulpitu|Efekty specjalne pulpitu]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Gry|Gry]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Kalkulator|Kalkulator]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Menadżer plików|Menadżer plików]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Notatnik|Notatnik]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Wygaszacz ekranu|Wygaszacz ekranu]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Wyszukiwanie plików|Wyszukiwanie plików]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Zrzut ekranu|Zrzut ekranu]] ;Urządzenia peryferyjne : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Bluetooth|Bluetooth]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Cyfrowy aparat fotograficzny|Cyfrowy aparat fotograficzny]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Drukarka|Drukarka]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Kamera internetowa|Kamera internetowa]] : [[Aptosid - czyli Debian sid krok po kroku dla każdego/Programy użytkowe/Pamięć przenośna|Pamięć przenośna]] ;Dodatki :[[Debian - uniwersalna instalacja/Aktualizacja systemu]] :[[Debian - uniwersalna instalacja/Aktualizacja wsteczna systemu]] :[[Debian - uniwersalna instalacja/Znane błędy]] :[[Debian - uniwersalna instalacja/Bibliografia]] :[[Debian - uniwersalna instalacja/Przydatne linki]] :[[Debian - uniwersalna instalacja/Zakończenie]] d212d72atkyqoo6bci01u1vhsn1phvz Wikibooks:Kolekcje/Metody matematyczne fizyki 4 27548 545044 216051 2026-06-01T22:41:23Z Persino 2851 545044 wikitext text/x-wiki __NOEDITSECTION__ __NOTOC__ {{zapisane książki}} ;Matody matematyczne fizyki :[[Metody_matematyczne_fizyki/Działania na wektorach|Działania na wektorach]] :[[Metody_matematyczne_fizyki/Rachunek tensorowy|Rachunek tensorowy]] :[[Metody_matematyczne_fizyki/Układ współrzędnych|Układ współrzędnych]] :[[Metody_matematyczne_fizyki/Obrót układu współrzędnych|Obrót układu współrzędnych]] :[[Metody_matematyczne_fizyki/Całki i funkcje Eulera|Całki i funkcje Eulera]] :[[Metody_matematyczne_fizyki/Kula zanurzona w przestrzeni n-wymiarowej|Kula zanurzona w przestrzeni n-wymiarowej]] :[[Metody_matematyczne_fizyki/Operatory różniczkowe|Operatory różniczkowe]] :[[Metody_matematyczne_fizyki/Wprowadzenie do funkcji zespolonej|Wprowadzenie do funkcji zespolonej]] :[[Metody_matematyczne_fizyki/Wprowadzenie do wielomianów ortogonalnych|Wprowadzenie do wielomianów ortogonalnych]] :[[Metody_matematyczne_fizyki/Funkcji sferyczne w matematyce|Funkcji sferyczne w matematyce]] :[[Metody_matematyczne_fizyki/Funkcje Bessela|Funkcje Bessela]] :[[Metody_matematyczne_fizyki/Dystrybucje jako funkcje uogólnione|Dystrybucje jako funkcje uogólnione]] :[[Metody_matematyczne_fizyki/Szeregi Fouriera|Szeregi Fouriera]] :[[Metody_matematyczne_fizyki/Wstęp do transformacji Fouriera|Wstęp do transformacji Fouriera]] :[[Metody_matematyczne_fizyki/Wprowadzenie do teorii operatorów liniowych|Wprowadzenie do teorii operatorów liniowych]] :[[Metody_matematyczne_fizyki/Grupy i ich reprezentacje|Grupy i ich reprezentacje]] :[[Metody_matematyczne_fizyki/Rachunek wariacyjny|Rachunek wariacyjny]] :[[Metody_matematyczne_fizyki/Transformacja Laplace'a|Transformacja Laplace'a]] :[[Metody_matematyczne_fizyki/Równania różnicowe liniowe|Równania różnicowe liniowe]] :[[Metody_matematyczne_fizyki/Funkcje Greena|Funkcje Greena]] ;Bibliografia :[[Fizyka_teoretyczna/Bibliografia|Bibliografia]] ;Licencja :[[Fizyka_teoretyczna/Licencja|Licencja]] mwjflz6iw85ne2mlw3osw43k94kqjfx Wikibooks:Kolekcje/Astronomiczne podstawy geografii 4 27555 545034 192911 2026-06-01T22:36:15Z Persino 2851 545034 wikitext text/x-wiki {{zapisane książki}} == Astronomiczne podstawy geografii == :[[Astronomiczne podstawy geografii/Okładka|Okładka]] ;Spis treści :[[Astronomiczne podstawy geografii/Oznaczenia|Podstawowe oznaczenia]] :[[Astronomiczne podstawy geografii/Kąty|Czasy i Kąty]] :[[Astronomiczne podstawy geografii/Odległości|Odległości na kuli ziemskiej]] :[[Astronomiczne podstawy geografii/Czas strefowy|Czas strefowy i Strefy czasowe]] :[[Astronomiczne podstawy geografii/Rektascencja i deklinacja|Rektascencja i deklinacja]] :[[Astronomiczne podstawy geografii/Zmierzch|Zmierzch]] :[[Astronomiczne podstawy geografii/Noc polarna|Białe noce i noc polarna]] :[[Astronomiczne podstawy geografii/Literatura|Literatura]] :[[Astronomiczne podstawy geografii/Tablice|Tablice]] 305vy9pwztys33uao5cmpgv3pjo8p80 Wikibooks:Kolekcje/Atlas histopatologii guzów skóry 4 27556 545035 192919 2026-06-01T22:36:39Z Persino 2851 545035 wikitext text/x-wiki {{zapisane książki}} == Atlas histopatologii guzów skóry == :[[Atlas histopatologii guzów skóry/Okładka|Okładka]] :[[Atlas histopatologii guzów skóry/Wstęp|Wstęp]] :[[Atlas histopatologii guzów skóry/Podział nowotworów skóry|Podział nowotworów skóry]] :[[Atlas histopatologii guzów skóry/Nowotwory i rozrosty nabłonka wielowarstwowego płaskiego|Nowotwory i rozrosty nabłonka wielowarstwowego płaskiego]] :[[Atlas histopatologii guzów skóry/Rozrosty i nowotwory z przydatków skóry (adneksalne)|Rozrosty i nowotwory z przydatków skóry (adneksalne)]] :[[Atlas histopatologii guzów skóry/Rozrosty i nowotwory melanocytarne|Rozrosty i nowotwory melanocytarne]] :[[Atlas histopatologii guzów skóry/Guzy skóry właściwej i tkanki podskórnej (guzy mezenchymalne i nerwowe)|Guzy skóry właściwej i tkanki podskórnej (guzy mezenchymalne i nerwowe)]] :[[Atlas histopatologii guzów skóry/Podstawowa bibliografia|Podstawowa bibliografia]] g1v0zg568nco6rcsrc8rvvoq16nfjhq Wikibooks:Kolekcje/Internet w praktyce 4 27630 545040 392262 2026-06-01T22:39:29Z Persino 2851 545040 wikitext text/x-wiki {{zapisane książki}} ==Internet w praktyce== :[[Internet w praktyce/Okładka|Okładka]] ;Wstęp :[[Internet w praktyce/Co to jest Internet?|Co to jest Internet?]] :[[Internet w praktyce/Dla autorów|Dla autorów]] :[[Internet w praktyce/Podłączanie komputera do internetu|Podłączanie komputera do internetu]] :[[Internet w praktyce/Przed surfowaniem|Przed surfowaniem]] ;Przeglądarki :[[Internet w praktyce/Firefox|Firefox]] :[[Internet w praktyce/Internet Explorer|Internet Explorer]] :[[Internet w praktyce/Opera|Opera]] :[[Internet w praktyce/Google Chrome]] ;Poczta elektroniczna :[[Internet w praktyce/Podstawy obsługi webmaila|Podstawy obsługi webmaila]] ;Komunikacja Online :[[Internet w praktyce/Sposoby komunikacji|Sposoby komunikacji]] :[[Internet w praktyce/Połączenie zdalne|Połączenie zdalne]] ;Praktyczne zastosowania internetu :[[Internet w praktyce/Rozrywka w Internecie|Rozrywka w Internecie]] :[[Internet w praktyce/Zasoby|Zasoby]] ;Dodatki :[[Internet w praktyce/Multimedia|Dodatek A: Multimedia]] :[[Internet w praktyce/Telewizja internetowa|Dodatek B: Telewizja internetowa]] q9d6drzoz0mw4306h7an9q388912tne Wikibooks:Kolekcje/Microsoft Windows NT 4 27631 545045 392263 2026-06-01T22:41:45Z Persino 2851 545045 wikitext text/x-wiki {{zapisane książki}} ==Microsoft Windows NT== :[[Microsoft Windows NT/Okładka|Okładka]] ;Wstęp :[[Microsoft Windows NT/Wstęp|Wstęp]] ;Instalacja i konfiguracja :[[Microsoft Windows NT/Przygotowania do reinstalacji|Przygotowania]] :[[Microsoft Windows NT/Instalacja Windows XP|Instalacja Windows XP]] :[[Microsoft Windows NT/Instalacja Windows Vista i 7|Instalacja Windows Vista/7]] ;Prolog :[[Microsoft Windows NT/Co się dzieje przy starcie|Co się dzieje przy starcie komputera?]] :[[Microsoft Windows NT/Pierwszy rzut oka na system|Pierwszy rzut oka na system]] ;Menu główne systemu :[[Microsoft Windows NT/Programy Windows XP|Programy dostępne w Windows XP]] :[[Microsoft Windows NT/Programy Windows Vista|Programy dostępne w Vista]] :[[Microsoft Windows NT/Programy Windows 7|Programy dostępne w 7]] :[[Microsoft Windows NT/Programy Windows 8|Programy dostępne w 8]] ;Instalacja dodatkowego oprogramowania :[[Microsoft Windows NT/O programach|O programach]] :[[Microsoft Windows NT/Personalizacja|Piękny system]] ;Bezpieczeństwo :[[Microsoft Windows NT/Aktualizacja komputera|Aktualizacja komputera]] :[[Microsoft Windows NT/Zabezpieczenia|zabezpieczenia]] ;Administracja systemem :[[Microsoft Windows NT/Rejestr|Rejestr]] :[[Microsoft Windows NT/Usługi|Usługi]] ;Dodatki :[[Microsoft Windows NT/Przeżyć zawieszenie]] :[[Microsoft Windows NT/Bibliografia]] jqlszwttv47axxps350ftrhg78muz81 Wikibooks:Kolekcje/AutoIt 4 27940 545036 411928 2026-06-01T22:37:03Z Persino 2851 545036 wikitext text/x-wiki {{zapisane książki}} =AutoIt= Witaj w kursie programowania w [[w:AutoIt|języku AutoIt]] na Wikibooks! Niniejszy podręcznik ma za zadanie zademonstrować i wytłumaczyć składnię samego języka, jego możliwości oraz pokazać jego przykładowe zastosowania. == Spis treści == === Wstęp === : [[AutoIt/O podręczniku|O podręczniku]] : [[AutoIt/O języku AutoIt|O języku AutoIt]] : [[AutoIt/Czego potrzebujesz|Czego potrzebujesz]] : [[AutoIt/SciTE|SciTE]] === AutoIt dla początkujących === : [[AutoIt/Pierwszy program|Pierwszy program]] : [[AutoIt/Zmienne w AutoIt|Zmienne w AutoIt]] : [[AutoIt/Operatory|Operatory]] : [[AutoIt/Instrukcje sterujące|Instrukcje sterujące]] : [[AutoIt/Funkcje|Funkcje]] : [[AutoIt/Funkcje matematyczne|Funkcje matematyczne]] : [[AutoIt/Ćwiczenia dla początkujących|Ćwiczenia dla początkujących]] === AutoIt dla zaawansowanych === : [[AutoIt/Funkcje rekurencyjne|Funkcje rekurencyjne]] : [[AutoIt/Funkcje polimorficzne|Funkcje polimorficzne]] : [[AutoIt/Makra|Makra]] : [[AutoIt/Operacje na plikach|Operacje na plikach]] : [[AutoIt/Tablice|Tablice]] : [[AutoIt/Napisy (stringi)|Napisy (stringi)]] : [[AutoIt/Łańcuchy binarne|Łańcuchy binarne]] : [[AutoIt/Wyrażenia regularne|Wyrażenia regularne]] : [[AutoIt/Pliki konfiguracyjne|Pliki konfiguracyjne]] : [[AutoIt/Wyskakujące okna - prosta interakcja ze skryptem|Wyskakujące okna - prosta interakcja ze skryptem]] : [[AutoIt/GUI|GUI]] : [[AutoIt/Zasobnik systemowy (Tray)|Zasobnik systemowy (Tray)]] : [[AutoIt/Przejmowanie kontroli|Przejmowanie kontroli]] : [[AutoIt/Konsola tekstowa|Konsola tekstowa]] : [[AutoIt/Dyrektywy i funkcje konfiguracyjne translatora|Dyrektywy i funkcje konfiguracyjne translatora]] : [[AutoIt/Biblioteki|Tworzenie bibliotek]] : [[AutoIt/Biblioteki DLL|Korzystanie z bibliotek DLL]] : [[AutoIt/Obiekty COM|Obiekty COM]] : [[AutoIt/Nietypowe techniki programowania|Nietypowe techniki programowania]] : [[AutoIt/Rejestr systemowy|Rejestr systemowy]] : [[AutoIt/Sieć|Sieć]] {{kompletność krótka|100%|23.08.2012}}<br><small>- internet, TCP, UDP</small> : [[AutoIt/Inne użyteczne funkcje|Inne użyteczne funkcje]] : [[AutoIt/Indeks|Indeks]] === Dodatek A - Rozwiązania ćwiczeń === : [[AutoIt/Ćwiczenia dla początkujących - przykładowe rozwiązania|Ćwiczenia dla początkujących - przykładowe rozwiązania]] : [[AutoIt/Ćwiczenia dla zaawansowanych - przykładowe rozwiązania|Ćwiczenia dla zaawansowanych - przykładowe rozwiązania]] === Dodatek B - Licencja GNU === : [[Wikibooks:GNU Free Documentation License|Licencja]] === Dodatek C - Opis funkcji biblioteki standardowej === : [[AutoIt/Funkcje GUI|GUI - opis wybranych funkcji]] : [[AutoIt/Funkcje interfejsu GDI+|Funkcje interfejsu GDI+]] : [[AutoIt/WinAPI|Funkcje WinAPI]] : [[AutoIt/Zrzut ekranu|Zrzut ekranu (Capture Screen)]] 4vfgcgrub2o7z27wzwamdc0c7cruyqa Wikibooks:Kolekcje/Borland C++ Compiler 4 27941 545038 198173 2026-06-01T22:38:09Z Persino 2851 545038 wikitext text/x-wiki {{zapisane książki}} =O podręczniku= Podręcznik ten jest zwięzłym opisem działania [[w:Borland|borlandowskiego]] zestawu narzędzi - [[w:FreeCommandLineTools|FreeCommandLineTools]] do [[w:programowanie|programowania]] w języku [[w:C (język programowania)|C]]/[[w:C++|C++]], w środowisku [[w:Windows|Windows]]. Kurs obejmuje instalację pakietu, podstawy użytkowania FreeCommandLineTools oraz opis narzędzi: [[w:BCC32|BCC32]] ([[w:kompilator|kompilator]]), ILINK32 ([[w:konsolidator|konsolidator]]) i [[w:make|MAKE]] (narzędzie do budowania projektów). Chcemy aby był on zrozumiały również dla początkujących programistów dla których być może jest to pierwszy kompilator C++, jaki zamierzają używać, stąd wiele przykładów i łopatologiczne wręcz tłumaczenie niektórych zagadnień. ---- : '''[[Borland C++ Compiler/Wstęp|Wstęp]]''' {{kompletność|100%|15.04.2006}} : '''[[Borland C++ Compiler/Wprowadzenie|Wprowadzenie]]''' {{kompletność|100%|15.04.2006}} : [[Borland C++ Compiler/Wprowadzenie#Kompilator? A z czym to się je?|Kompilator? A z czym to się je???]] : [[Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu|Dlaczego warto to mieć na swoim twardzielu]] : [[Borland C++ Compiler/Wprowadzenie#Skąd wziąć FCLT?|Skąd wziąć FCLT?]] : [[Borland C++ Compiler/Wprowadzenie#Instalacja|Instalacja]] : [[Borland C++ Compiler/Wprowadzenie#Co mamy w katalogu bin|Co mamy w katalogu bin]] : [[Borland C++ Compiler/Wprowadzenie#Podstawy użytkowania FCLT|Podstawy użytkowania FCLT]] : [[Borland C++ Compiler/Wprowadzenie#Jak BCC32 buduje program|Jak BCC32 buduje program]] : [[Borland C++ Compiler/Wprowadzenie#Najprostsza kompilacja|Najprostsza kompilacja]] : [[Borland C++ Compiler/Wprowadzenie#Edytory|Edytory]] : '''[[Borland C++ Compiler/BCC32|BCC32]]''' {{kompletność|100%|15.04.2006}} : [[Borland C++ Compiler/BCC32#Wywołanie|Wywołanie]] : [[Borland C++ Compiler/BCC32#Opcje|Opcje]] : [[Borland C++ Compiler/BCC32#Źródła|Źródła]] :### [[Borland C++ Compiler/BCC32#Wynik|Wynik]] :### [[Borland C++ Compiler/BCC32#Optymalizacja|Optymalizacja]] :### [[Borland C++ Compiler/BCC32#Wyjście|Wyjście]] :## [[Borland C++ Compiler/BCC32#Response & configuration files|''Response & configuration files'']] :## [[Borland C++ Compiler/BCC32#BCC32 i ILINK32|BCC32 i ILINK32]] :## [[Borland C++ Compiler/BCC32#Zasoby?|Zasoby?]] :# '''[[Borland C++ Compiler/ILINK32|ILINK32]]''' {{kompletność|100%|15.04.2006}} :## [[Borland C++ Compiler/ILINK32#Wprowadzenie|Wprowadzenie]] :## [[Borland C++ Compiler/ILINK32#Wywołanie|Wywołanie]] :## [[Borland C++ Compiler/ILINK32#Opcje|Opcje]] :### [[Borland C++ Compiler/ILINK32#Źródła|Źródła]] :### [[Borland C++ Compiler/ILINK32#Wynik|Wynik]] :### [[Borland C++ Compiler/ILINK32#Plik MAP|Plik MAP]] :### [[Borland C++ Compiler/ILINK32#Ostrzeżenia|Ostrzeżenia]] :## [[Borland C++ Compiler/ILINK32#Plik DEF|Plik DEF]] :### [[Borland C++ Compiler/ILINK32#CODE|<tt>CODE</tt>]] :### [[Borland C++ Compiler/ILINK32#DATA|<tt>DATA</tt>]] :### [[Borland C++ Compiler/ILINK32#HEAPSIZE|<tt>HEAPSIZE</tt>]] :### [[Borland C++ Compiler/ILINK32#STACKSIZE|<tt>STACKSIZE</tt>]] :### [[Borland C++ Compiler/ILINK32#NAME|<tt>NAME</tt>]] :### [[Borland C++ Compiler/ILINK32#LIBRARY|<tt>LIBRARY</tt>]] :### [[Borland C++ Compiler/ILINK32#EXPORTS|<tt>EXPORTS</tt>]] :### [[Borland C++ Compiler/ILINK32#IMPORTS|<tt>IMPORTS</tt>]] :### [[Borland C++ Compiler/ILINK32#DESCRIPTION|<tt>DESCRIPTION</tt>]] :## [[Borland C++ Compiler/ILINK32#Zasoby|Zasoby]] :# '''[[Borland C++ Compiler/MAKE|MAKE]]''' {{kompletność|100%|15.04.2006}} :## [[Borland C++ Compiler/MAKE#Wprowadzenie|Wprowadzenie]] :## [[Borland C++ Compiler/MAKE#Plik Makefile|Plik Makefile]] :## [[Borland C++ Compiler/MAKE#Wywołanie|Wywołanie]] :## [[Borland C++ Compiler/MAKE#Składnia makefile'a|Składnia makefile'a]] :## [[Borland C++ Compiler/MAKE#Komentarze|Komentarze]] :## [[Borland C++ Compiler/MAKE#Zasady ogólne i szczegółowe|Zasady ogólne i szczegółowe]] :### [[Borland C++ Compiler/MAKE#Zasady ogólne (implicit rules)|Zasady oglne (''implicit rules'')]] :### [[Borland C++ Compiler/MAKE#Zasady szczegółowe (explicit rules)|Zasady szczegółowe (''explicit rules'')]] :### [[Borland C++ Compiler/MAKE#Zasada "bez zasad" :-)|Zasada "bez zasad" :-)]] :## [[Borland C++ Compiler/MAKE#Komendy systemowe|Komendy systemowe]] :## [[Borland C++ Compiler/MAKE#Zmienne|Zmienne]] :### [[Borland C++ Compiler/MAKE#Zmiana wartości zmiennej|Zmiana wartości zmiennej]] :### [[Borland C++ Compiler/MAKE#Specjalne zmienne|Specjalne zmienne]] :## [[Borland C++ Compiler/MAKE#Dyrektywy|Dyrektywy]] :### [[Borland C++ Compiler/MAKE#Pliki projektu i konfiguracja MAKE|Pliki projektu i konfiguracja MAKE]] :### [[Borland C++ Compiler/MAKE#Instrukcje warunkowe|Instrukcje warunkowe]] :### [[Borland C++ Compiler/MAKE#Ekran|Ekran]] :## [[Borland C++ Compiler/MAKE#MAKE w praktyce|MAKE w praktyce]] jl66lwfmryn48fpygjra7epbdkaorr5 Wikipedysta:Polimerek/Książki/IRC 2 27970 544941 198547 2026-06-01T19:46:22Z Persino 2851 544941 wikitext text/x-wiki {{zapisane_książki}} == IRC == :[[IRC/Okładka|Okładka]] :[[IRC]] :[[IRC/Czym jest IRC?|Czym jest IRC?]] :[[IRC/Początki|Początki]] :[[IRC/Najbardziej znane publiczne sieci IRC|Najbardziej znane publiczne sieci IRC]] :[[IRC/Klienty|Klienty]] :[[IRC/Serwery|Serwery]] :[[IRC/Kanały|Kanały]] :[[IRC/Użytkownicy|Użytkownicy]] :[[IRC/Inne, podstawowe komendy|Inne, podstawowe komendy]] :[[IRC/Netykieta i społeczności|Netykieta i społeczności]] :[[IRC/Skrypty i boty|Skrypty i boty]] :[[IRC/Protokół i jego odmiany|Protokół i jego odmiany]] :[[IRC/Dodatkowe serwisy|Dodatkowe serwisy]] :[[IRC/Terminologia|Terminologia]] :[[IRC/Bibliografia|Bibliografia]] ep3hydboxegy1l1vx9l0jt775tjxae2 Wikipedysta:Ryszardgol1/Książki/Sygnalizacja kolejowa 2 28172 544982 200148 2026-06-01T20:15:57Z Persino 2851 544982 wikitext text/x-wiki {{zapisane_książki}} :[[Sygnalizacja kolejowa]] 0e2vr6g6q8g6ogx69mzxxtqnrjgg80d Wikipedysta:Ryszardgol1/Książki/Grzyby 2 28173 544937 200149 2026-06-01T19:44:24Z Persino 2851 544937 wikitext text/x-wiki {{zapisane_książki}} :[[Sygnalizacja kolejowa/Sygnały na semaforach|Sygnały na semaforach]] :[[Grzyby Polski]] 32km3l9e5jvjr1rursun6noj6s0cqn7 Wikibooks:Kolekcje/MS-DOS 4 28248 545046 205528 2026-06-01T22:42:20Z Persino 2851 545046 wikitext text/x-wiki {{zapisane książki}} ==MS-DOS== :[[Fdisk/Wstęp|Wstęp]] :[[MS-DOS/Instalacja systemu|Instalacja systemu]] :[[MS-DOS/Zarządzanie systemem|Zarządzanie systemem]] ;Programy dostępne w DOS :[[Fdisk/Wstęp|Fdisk]] ::[[Fdisk/Tworzenie partycji podstawowej|Tworzenie partycji podstawowej]] ::[[Fdisk/Tworzenie partycji rozszerzonej i logicznych|Tworzenie partycji rozszerzonej i logicznych]] ::[[Fdisk/Usuwanie i przegląd partycji|Usuwanie i przegląd partycji]] :[[Fdisk/Słownik|Słownik]] :[[Fdisk/Program format|Program format]] :[[w:CHKDSK|CHKDSK]] :[[MS-DOS/Edytor tekstu|Program edit]] :[[MS-DOS/QBasic|QBasic]] ;Nakładki i pozostałe :[[MS-DOS/Arachne|Internet pod DOSem]] :[[Pliki wsadowe/Windows|Pliki wsadowe]] :[[Pliki wsadowe/MS-DOS|MS-DOS]] ;Dodatki :[[MS-DOS/Emulacja|Emulacja środowiska MS-DOS w innych systemach]] :[[MS-DOS/O podręczniku|O podręczniku]] hd400kkp5h25zedmnhxjv5ia7i96g8e Wikibooks:Kolekcje/Sony Vegas 9.0 4 28249 545049 200796 2026-06-01T22:43:42Z Persino 2851 545049 wikitext text/x-wiki {{zapisane książki}} ==Sony Vegas== :[[Sony Vegas/Przygotowania|Przygotowania]] :[[Sony Vegas/Pierwsze kroki|Pierwsze kroki]] :[[Sony Vegas/Podstawy|Podstawowy montaż]] :[[Sony Vegas/Wstęp|O podręczniku]] srw4cze2911cyjf6r9vs8vjwlen0uu3 Wikipedysta:Pedros.lol/Książki/PBP 2 28366 544969 202391 2026-06-01T20:06:00Z Persino 2851 544969 wikitext text/x-wiki {{zapisane_książki | setting-papersize = Letter | setting-showtoc = 1 | setting-columns = 2 }} == Porozumieć się bez przemocy == === Podręcznik empatycznej komunikacji === :[[Porozumieć się bez przemocy/Okładka|Okładka]] :[[Porozumieć się bez przemocy/Wstęp|Wstęp]] :[[Porozumieć się bez przemocy/Model porozumienia bez przemocy|Model porozumienia bez przemocy]] :[[Porozumieć się bez przemocy/Spostrzeżenia|Spostrzeżenia]] :[[Porozumieć się bez przemocy/Uczucia|Uczucia]] :[[Porozumieć się bez przemocy/Potrzeby|Potrzeby]] :[[Porozumieć się bez przemocy/Prośby|Prośby]] :[[Porozumieć się bez przemocy/Zastosowania metody w praktyce|Zastosowania metody w praktyce]] :[[Porozumieć się bez przemocy/Używanie siły dla celów ochronnych|Używanie siły dla celów ochronnych]] :[[Porozumieć się bez przemocy/Wyrażenie gniewu|Wyrażenie gniewu]] :[[Porozumieć się bez przemocy/Wyrażenie uznania|Wyrażenie uznania]] :[[Porozumieć się bez przemocy/Wyzwolenie siebie oraz poradnictwo|Wyzwolenie siebie oraz poradnictwo]] :[[Porozumieć się bez przemocy/O empatii|O empatii]] :[[Porozumieć się bez przemocy/Autorzy|Autorzy]] :[[Porozumieć się bez przemocy/Bibliografia|Bibliografia]] 3gf8nqvyusxly7bvaag6i65txus0xjo Wikibooks:Książki/Debian - uniwersalna instalacja 4 30644 544931 216065 2026-06-01T19:41:03Z Persino 2851 544931 wikitext text/x-wiki {{zapisane_książki | setting-papersize = a4 | setting-toc = auto | setting-columns = 2 }} == Debian == === Uniwersalna instalacja === ;Wstęp :[[Debian - uniwersalna instalacja/O podręczniku]] :[[Debian - uniwersalna instalacja/Pobranie i nagranie obrazu systemu]] :[[Debian - uniwersalna instalacja/Instalacja systemu podstawowego]] :[[Debian - uniwersalna instalacja/Wybór wersji systemu]] :[[Debian - uniwersalna instalacja/PXE]] :[[Debian - uniwersalna instalacja/HDD]] :[[Debian - uniwersalna instalacja/Instalacja Debiana na nForce2 i dyskach SATA]] :[[Debian - uniwersalna instalacja/Internet]] :[[Debian - uniwersalna instalacja/Instalacja systemu grafiki]] :[[Debian - uniwersalna instalacja/Instalacja systemu dźwięku]] :[[Debian/Wybór menedżera logowania]] :[[Debian - uniwersalna instalacja/Wybór środowiska graficznego]] :[[Debian - uniwersalna instalacja/Polonizacja]] :[[Debian - uniwersalna instalacja/Instalacja języka polskiego dla programów]] ;Instalacja i konfiguracja ;Prolog :[[Debian - uniwersalna instalacja/Pierwsze uruchomienie]] ;System zarządzania pakietami :[[Debian - uniwersalna instalacja/Instalacja dodatkowego oprogramowania]] :[[Debian/Repozytoria zewnętrzne i klucze publiczne]] :[[Debian - uniwersalna instalacja/Dselect]] ;Bezpieczeństwo :[[Ubuntu/Zabezpieczenie systemu]] :[[Debian - uniwersalna instalacja/Konfigurowanie iptables]] :[[Debian - uniwersalna instalacja/Konfigurowanie macchanger]] :[[Debian - uniwersalna instalacja/Aktualizacje bezpieczeństwa]] :[[Debian - uniwersalna instalacja/Aktualizacja systemu]] :[[Debian - uniwersalna instalacja/Aktualizacja wsteczna systemu]] ;Tryb tekstowy :[[Ubuntu/Pierwszy raz z trybem tekstowym]] :[[Ubuntu/Niebezpieczne polecenia]] :[[Ubuntu/Podstawowe polecenia]] :[[Ubuntu/Dostęp do konta root]] :[[Ubuntu/Zarządzanie pakietami]] :[[Ubuntu/Kompilacja programów ze źródeł]] :[[Aktualizacja i kompilacja jądra w Debianie]] :[[Aktualizacja i kompilacja jądra w Debianie/Przedsłowie]] :[[Aktualizacja i kompilacja jądra w Debianie/Wprowadzenie, pobieranie jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Budowanie jądra krok po kroku]] :[[Aktualizacja i kompilacja jądra w Debianie/Konfiguracja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Obsługa dźwięku, ext3 i nagrywarek]] :[[Aktualizacja i kompilacja jądra w Debianie/Kompilacja, instalacja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Rozwiązywanie problemów]] ;Dodatki :[[Debian - uniwersalna instalacja/Znane błędy]] :[[Debian - uniwersalna instalacja/Przydatne linki]] :[[Debian - uniwersalna instalacja/Bibliografia]] :[[Debian - uniwersalna instalacja/Zakończenie]] g6tzvke89p8b6ybgtmsxu41p9i244p4 Wikibooks:Kolekcje/Szczególna teoria względności 4 30657 545051 401938 2026-06-01T22:44:37Z Persino 2851 545051 wikitext text/x-wiki __NOEDITSECTION__ __NOTOC__ {{zapisane książki}} ;Szczególna teoria względności :[[Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów|Postulaty szczególnej teorii względności i rodzaje układów]] :[[Szczególna teoria względności/Podstawy teorii względności|Podstawy teorii względności]] :[[Szczególna teoria względności/Przypomnienie o operatorach rzutowych|Przypomnienie o operatorach rzutowych]] :[[Szczególna teoria względności/Przypomnienie transformacji Galileusza, właściwości operatorów transformacji|Przypomnienie transformacji Galileusza, właściwości operatorów transformacji]] :[[Szczególna teoria względności/Wydłużenie podłużne a poprzeczne|Wydłużenie podłużne a poprzeczne]] :[[Szczególna teoria względności/Układy inercjalne i nieinercjalne|Układy inercjalne i nieinercjalne]] :[[Szczególna teoria względności/Transformacje prędkości - początek rozważań|Transformacje prędkości - początek rozważań]] :[[Szczególna teoria względności/Transformacje różniczek czasu i położenia|Transformacje różniczek czasu i położenia]] :[[Szczególna teoria względności/Transformacje prędkości - równania końcowe|Transformacje prędkości - równania końcowe]] :[[Szczególna teoria względności/Transformacje macierzy transformacji, układy globalnie (lokalnie) płaskie a słabozakrzywione - rozważania ogólne|Transformacje macierzy transformacji, układy globalnie (lokalnie) płaskie a słabozakrzywione - rozważania ogólne]] :[[Szczególna teoria względności/Transformacje macierzy transformacji Einsteina i Newtona, układy globalnie (lokalnie) płaskie a słabozakrzywione|Transformacje macierzy transformacji Einsteina i Newtona, układy globalnie (lokalnie) płaskie a słabozakrzywione]] :[[Szczególna teoria względności/Istnienie dowolnych ogólnie nieprostokątnych układów odniesienia|Istnienie dowolnych ogólnie nieprostokątnych układów odniesienia]] :[[Szczególna teoria względności/Równoważności macierzy transformacji|Równoważności macierzy transformacji]] :[[Szczególna teoria względności/Zestawienie transformacji w układach płaskich i słabozakrzywionych|Zestawienie transformacji w układach płaskich i słabozakrzywionych]] :[[Szczególna teoria względności/Przechodniość macierzy transformacji|Przechodniość macierzy transformacji]] :[[Szczególna teoria względności/Tensor metryczny Minkowskiego i jego niezmienniczość interwału czasoprzestrzennego, a stożek światła|Tensor metryczny Minkowskiego i jego niezmienniczość interwału czasoprzestrzennego, a stożek światła]] :[[Szczególna teoria względności/Baza odniesienia w mechanice Einsteina i Newtona|Baza odniesienia w mechanice Einsteina i Newtona]] :[[Szczególna teoria względności/Własności czasoprzestrzeni|Własności czasoprzestrzeni]] :[[Szczególna teoria względności/Trzy zasady dynamiki Einsteina|Trzy zasady dynamiki Einsteina]] :[[Szczególna teoria względności/Tensory w czasoprzestrzeni|Tensory w czasoprzestrzeni]] :[[Szczególna teoria względności/Konwencje Newtona i Einsteina - formułowanie drugiej zasady dynamiki Einsteina-Newtona|Konwencje Newtona i Einsteina - formułowanie drugiej zasady dynamiki Einsteina-Newtona]] :[[Szczególna teoria względności/Tensorowy charakter różniczki położenia oraz tensora siły w mechanine Einsteina i wektora siły w mechanice Newtona|Tensorowy charakter różniczki położenia oraz tensora siły w mechanine Einsteina i wektora siły w mechanice Newtona]] :[[Szczególna teoria względności/Formułowanie drugiej i trzeciej zasady dynamiki Einsteina-Newtona, zasada niezależności działania tensorów (wektorów) sił|Formułowanie drugiej i trzeciej zasady dynamiki Einsteina-Newtona, zasada niezależności działania tensorów (wektorów) sił]] :[[Szczególna teoria względności/Formułowanie zasad dynamiki ruchu obrotowego|Formułowanie zasad dynamiki ruchu obrotowego]] :[[Szczególna teoria względności/Twierdzenie o środku mas w dynamice Einsteina-Newtona|Twierdzenie o środku mas w dynamice Einsteina-Newtona]] :[[Szczególna teoria względności/Pewne prawa w układach globalnie (lokalnie) płaskich o globalnie (lokalnie) stałym tensorze (wektorze) prędkości|Pewne prawa w układach globalnie (lokalnie) płaskich o globalnie (lokalnie) stałym tensorze (wektorze) prędkości]] :[[Szczególna teoria względności/Pierwsza i druga zasada Lagrange'a|Pierwsza i druga zasada Lagrange'a]] :[[Szczególna teoria względności/Teoria funkcji lagrangianu|Teoria funkcji lagrangianu]] :[[Szczególna teoria względności/Matematyczna teoria najmniejszego działania, dodawanie do niej dowolnych zer i jedynek z definicji całki|Matematyczna teoria najmniejszego działania, dodawanie do niej dowolnych zer i jedynek z definicji całki]] :[[Szczególna teoria względności/Anormalne układy, tylko matematyczne, a nie fizyczne|Anormalne układy, tylko matematyczne, a nie fizyczne]] :[[Szczególna teoria względności/Definicja masy i energii, spoczynkowej i relatywistycznej, i pędu|Definicja masy i energii, spoczynkowej i relatywistycznej, i pędu]] :[[Szczególna teoria względności/Niezmienniczość ciśnienia od układu odniesienia|Niezmienniczość ciśnienia od układu odniesienia]] :[[Szczególna teoria względności/Lokalna zachowawczość tensora gęstości energii(masy)-pędu|Lokalna zachowawczość tensora gęstości energii(masy)-pędu]] :[[Szczególna teoria względności/Lokalna zasada zachowania tensora pędu|Lokalna zasada zachowania tensora pędu]] :[[Szczególna teoria względności/Lokalna zasada zachowania energii(masy)-pędu z lokalnej zachowawczości tensora gęstości energii(masy)-pędu|Lokalna zasada zachowania energii(masy)-pędu z lokalnej zachowawczości tensora gęstości energii(masy)-pędu]] :[[Szczególna teoria względności/Dyskretne i ciągłe równanie ruchu|Dyskretne i ciągłe równanie ruchu]] :[[Szczególna teoria względności/Lokalna zasada zachowania energii(masy)-pędu z zasady zachowania energii(masy)-pędu|Lokalna zasada zachowania energii(masy)-pędu z zasady zachowania energii(masy)-pędu]] :[[Szczególna teoria względności/Lokalna zachowawczość tensora gęstości energii(masy)-pędu z teorii gęstości lagrangianu|Lokalna zachowawczość tensora gęstości energii(masy)-pędu z teorii gęstości lagrangianu]] :[[Szczególna teoria względności/Lokalna zasada zachowania tensora pędu, z teorii gęstości lagrangianu|Lokalna zasada zachowania tensora pędu, z teorii gęstości lagrangianu]] :[[Szczególna teoria względności/Lagrangian masowy kinematyczny w mechanice Einsteina i Newtona|Lagrangian masowy kinematyczny w mechanice Einsteina i Newtona]] :[[Szczególna teoria względności/Oddziaływanie elektromagnetyczne ogólnie zmienne i statyczne (pole elektromagnetyczne) z teorii gęstości lagrangianu|Oddziaływanie elektromagnetyczne ogólnie zmienne i statyczne (pole elektromagnetyczne) z teorii gęstości lagrangianu]] ;Bibliografia :[[Fizyka_teoretyczna/Bibliografia|Bibliografia]] cfs4r79v1y560rk0z8e8aq6lulkjh7x Wikipedysta:Jawor94/Książki/Podstawy inteligentnej grafiki 2 31376 544972 227838 2026-06-01T20:08:26Z Persino 2851 544972 wikitext text/x-wiki {{zapisane_książki | setting-papersize = a4 | setting-toc = auto | setting-columns = 1 }} == Podstawy inteligentnej grafiki == === Inteligentna grafika komputerowa, wersja 1.1 === ;Podstawy grafiki komputerowej :[[Wikibooks:Strona główna]] ckv77aewuzuzd90uyn841xls10z5k4i Wikibooks:Kolekcje/Libertarianizm 4 31458 545043 231778 2026-06-01T22:40:57Z Persino 2851 545043 wikitext text/x-wiki {{zapisane_książki}} ==Libertarianizm== ;Czym jest libertarianizm :[[Libertarianizm/Trzy filary|Co to jest libertarianizm?]] ::[[Libertarianizm/historia|Skąd się wziął libertarianizm?]] :[[Libertarianizm/Poglądy libertarian|Za czym opowiada się libertarianizm?]] ::[[Libertarianizm/Broń|Broń]] ::[[Libertarianizm/O cenzurze|Wolność wypowiedzi i cenzura]] :[[Libertarianizm/rodzaje|Jakie są rodzaje libertarianizmu?]] :[[Libertarianizm/Postacie|Jacy są główni myśliciele libertariańscy]] :[[Libertarianizm/Ruchy wolnościowe|Jakie można podać przykłady "libertarianizmu w działaniu"?]] ;Dlaczego libertarianie zwalczają obecny system? :[[Libertarianizm/Państwo|Dlaczego libertarianie występują przeciwko państwu?]] ::[[Libertarianizm/Demokracja|Dlaczego libertarianie występują przeciwko demokracji]] <!-- Dlaczego libertarianie są za własnością prywatną?--> <!-- Jak kapitalizm wpływa na wolność?--> ;Jakie mity obowiązują w marksistowskiej ideologii? <!--Co wyznacza ceny w kapitalizmie? --> <!-- kształtowanie się cen na rynku --> ::[[w:Austracka teoria cyklu koniukturalnego|Czy państwowa kontrola pieniądza jest przyczyną występowania cyklów koniunkturalnych?]] <!-- Czy interwencja państwowa ograniczyłaby bezrobocie? --> :[[Libertarianizm/Biedni|Czy z "wolnorynkowego" kapitalizmu skorzystają wszyscy, a zwłaszcza biedni?]] <!-- Czy kapitalizm bez interwencji państwa byłby stabilny? --> <!-- Jaką rolę odegrało państwo w stworzeniu kapitalizmu? --> :[[Libertarianizm/Socjalizm|Co anarchokomuniści rozumieją przez "równość" i dlaczego ma ona dla nich bardzo duzą wartość?]] ;W jaki sposób kapitalizm i etatyzm wpływa na społeczeństwo? :[[Libertarianizm/Interwencja|Dlaczego występuje interwencja państwa?]] <!--Jak kapitalizm wpływa na technologię? --> ;Jak by wyglądało "libertariańskie" społeczeństwo? <!-- Jak mogłaby wyglądać struktura gospodarcza "libertariańskiego" społeczeństwa?--> :[[Libertarianizm/Struktura kapitalizmu|Jak będzie wyglądała społeczna struktura kapitalizmu?]] :[[Libertarianizm/pomoc|Jakie tendencje w społeczeństwie pomagają działalności libertarian?]] <!-- Jakie metody wychowywania dzieci są zalecane przez libertarian?--> ;Dodatki :[[Libertarianizm/Krytyka|Krytyka]] :[[Libertarianizm/Literatura|Literatura]] :[[Libertarianizm/tożsame pojęcia|tożsame pojęcia]] :[[Libertarianizm/Symbolika|Symbole libertarianizmu]] :[[Libertarianizm/Bibliografia|Bibliografia]] k3njod4qvmyu2yf5ekibaao8itxsfn0 Wikibooks:Książki/Libertarianizm 4 31579 544952 231779 2026-06-01T19:54:18Z Persino 2851 544952 wikitext text/x-wiki {{zapisane_książki}} == Libertarianizm == ;Czym jest libertarianizm :[[Libertarianizm/Trzy filary|Co to jest libertarianizm?]] :[[Libertarianizm/Poglądy libertarian|Za czym opowiada się libertarianizm?]] :[[Libertarianizm/O cenzurze]] :[[Libertarianizm/rodzaje|Jakie są rodzaje libertarianizmu?]] :[[Libertarianizm/Ruchy wolnościowe|Jakie można podać przykłady "libertarianizmu w działaniu"?]] ;Dlaczego libertarianie zwalczają obecny system? :[[Libertarianizm/Państwo|Dlaczego libertarianie występują przeciwko państwu?]] :[[Libertarianizm/Demokracja]] ;Jakie mity obowiązują w marksistowskiej ideologii? :[[Libertarianizm/Biedni|Czy z "wolnorynkowego" kapitalizmu skorzystają wszyscy, a zwłaszcza biedni?]] :[[Libertarianizm/Antyinterwecjonizm]] :[[Libertarianizm/Socjalizm|Co anarchokomuniści rozumieją przez "równość" i dlaczego ma ona dla nich bardzo duzą wartość?]] ;W jaki sposób kapitalizm i etatyzm wpływa na społeczeństwo? :[[Libertarianizm/Interwencja|Dlaczego występuje interwencja państwa?]] ;Jak by wyglądało "libertariańskie" społeczeństwo? :[[Libertarianizm/Struktura kapitalizmu|Jak będzie wyglądała społeczna struktura kapitalizmu?]] :[[Libertarianizm/pomoc|Jakie tendencje w społeczeństwie pomagają działalności libertarian?]] ;Dodatki :[[Libertarianizm/Krytyka|Krytyka]] :[[Libertarianizm/Literatura|Literatura]] :[[Libertarianizm/tożsame pojęcia|tożsame pojęcia]] :[[Libertarianizm/Symbolika|Symbole libertarianizmu]] :[[Libertarianizm/Bibliografia|Bibliografia]] 5fnc4o3zf4rl6pkpm95k7xqzs6izehb Wikipedysta:Halibutt/Książki/AutoIt 2 31591 544922 411929 2026-06-01T19:36:46Z Persino 2851 544922 wikitext text/x-wiki {{zapisane_książki}} == Spis treści == === Dodatek C - Opis funkcji biblioteki standardowej === :[[AutoIt/O podręczniku|O podręczniku]] :[[AutoIt/O języku AutoIt|O języku AutoIt]] :[[AutoIt/Czego potrzebujesz|Czego potrzebujesz]] :[[AutoIt/SciTE|SciTE]] :[[AutoIt/Pierwszy program|Pierwszy program]] :[[AutoIt/Zmienne w AutoIt|Zmienne w AutoIt]] :[[AutoIt/Operatory|Operatory]] :[[AutoIt/Instrukcje sterujące|Instrukcje sterujące]] :[[AutoIt/Funkcje|Funkcje]] :[[AutoIt/Funkcje matematyczne|Funkcje matematyczne]] :[[AutoIt/Ćwiczenia dla początkujących|Ćwiczenia dla początkujących]] :[[AutoIt/Funkcje rekurencyjne|Funkcje rekurencyjne]] :[[AutoIt/Funkcje polimorficzne|Funkcje polimorficzne]] :[[AutoIt/Makra|Makra]] :[[AutoIt/Operacje na plikach|Operacje na plikach]] :[[AutoIt/Tablice|Tablice]] :[[AutoIt/Napisy (stringi)|Napisy (stringi)]] :[[AutoIt/Łańcuchy binarne|Łańcuchy binarne]] :[[AutoIt/Wyrażenia regularne|Wyrażenia regularne]] :[[AutoIt/Pliki konfiguracyjne|Pliki konfiguracyjne]] :[[AutoIt/Wyskakujące okna - prosta interakcja ze skryptem|Wyskakujące okna - prosta interakcja ze skryptem]] :[[AutoIt/GUI|GUI]] :[[AutoIt/Zasobnik systemowy (Tray)|Zasobnik systemowy (Tray)]] :[[AutoIt/Przejmowanie kontroli|Przejmowanie kontroli]] :[[AutoIt/Konsola tekstowa|Konsola tekstowa]] :[[AutoIt/Dyrektywy i funkcje konfiguracyjne translatora|Dyrektywy i funkcje konfiguracyjne translatora]] :[[AutoIt/Biblioteki|Tworzenie bibliotek]] :[[AutoIt/Biblioteki DLL|Korzystanie z bibliotek DLL]] :[[AutoIt/Obiekty COM|Obiekty COM]] :[[AutoIt/Nietypowe techniki programowania|Nietypowe techniki programowania]] :[[AutoIt/Rejestr systemowy|Rejestr systemowy]] :[[AutoIt/Inne użyteczne funkcje|Inne użyteczne funkcje]] :[[AutoIt/Indeks|Indeks]] :[[AutoIt/Ćwiczenia dla początkujących - przykładowe rozwiązania|Ćwiczenia dla początkujących - przykładowe rozwiązania]] :[[AutoIt/Ćwiczenia dla zaawansowanych - przykładowe rozwiązania|Ćwiczenia dla zaawansowanych - przykładowe rozwiązania]] :[[Wikibooks:GNU Free Documentation License|Licencja]] :[[AutoIt/Funkcje GUI|GUI - opis wybranych funkcji]] :[[AutoIt/Funkcje interfejsu GDI+|Funkcje interfejsu GDI+]] :[[AutoIt/WinAPI|Funkcje WinAPI]] :[[AutoIt/Zrzut ekranu|Zrzut ekranu (Capture Screen)]] 6jpd9njaw9cau5kahd1388f0fkm3sh7 Wikibooks:Książki/Mentalizm 4 31650 544959 232515 2026-06-01T19:59:32Z Persino 2851 544959 wikitext text/x-wiki {{zapisane_książki | setting-papersize = a4 | setting-toc = auto | setting-columns = 2 }} [[Plik:Mentalizm okładka.jpg|mały|centruj]] == Mentalizm == :[[Mentalizm/Wprowadzenie]] ;Pamięć i mózg :[[Mentalizm/Aktywne czytanie: zwiększanie wydajności zapamiętywania]] :[[Mentalizm/Jak pisać dziennik i dlaczego]] :[[Mentalizm/Jak podwoić szybkość czytania]] :[[Mentalizm/Jak zapamiętać hasła]] :[[Mentalizm/Mapy myśli i inne graficzne formy notatek]] :[[Mentalizm/Mnemoniczny System Główny]] :[[Mentalizm/Mnemoniczny System Podstawowy]] :[[Mentalizm/Możliwości ludzkiego mózgu i umysłu]] :[[Mentalizm/Pałac pamięci]] :[[Mentalizm/Powtarzaj to, co już wiesz]] :[[Mentalizm/Superlearning, czyli o wykorzystaniu relaksacji]] :[[Mentalizm/Wpływ technologii na mózg i pamięć]] :[[Mentalizm/Zapamiętywanie nazw własnych i trudnych wyrażeń]] ;Vademecum psychologii :[[Mentalizm/Mądrość tłumu - kiedy i dlaczego tłum jest mądrzejszy, niż jednostka]] :[[Mentalizm/Medytacja i jej wpływ na mózg]] :[[Mentalizm/Nawyki: jak zmienić przyzwyczajenia]] :[[Mentalizm/Ograniczenia ludzkiej percepcji i pamięci]] :[[Mentalizm/Psychologia wywierania wpływu]] :[[Mentalizm/Szkoła w Summerhill: jak edukacja wpływa na osobowość]] :[[Mentalizm/W jaki sposób mamią nas liczby i statystki]] ;Racjonalizm i sceptycyzm :[[Mentalizm/Dlaczego wierzymy w pseudonaukę]] :[[Mentalizm/Jak szybko można czytać?]] :[[Mentalizm/NLP]] :[[Mentalizm/Przekaz podprogowy]] :[[Mentalizm/Stożek Zapamiętywania]] ;Mowa ciała :[[Mentalizm/Jak rozpoznać, czy ktoś mówi prawdę]] :[[Mentalizm/Pozawerbalna komunikacja]] :[[Mentalizm/I Wykrywanie kłamstwa: wprowadzenie]] :[[Mentalizm/II Wykrywanie kłamstwa]] :[[Mentalizm/III Wykrywanie kłamstwa]] :[[Mentalizm/IV Wykrywanie kłamstwa]] :[[Mentalizm/V Wykrywanie kłamstwa]] :[[Mentalizm/VI Wykrywanie kłamstwa]] :[[Mentalizm/VII Wykrywanie kłamstwa]] :[[Mentalizm/Zimny odczyt]] ;Hipnoza i sugestia :[[Mentalizm/Hipnoza i sugestia]] :[[Mentalizm/Błyskawiczna indukcja hipnozy]] :[[Mentalizm/Jak wywołać stan relaksu]] ;Sztuka iluzji :[[Mentalizm/O wywoływaniu duchów i zjaw]] :[[Mentalizm/Podłoże niektórych trików mentalistycznych]] 53qtgwop5ryuz5h4f2xcysm45rzip19 Wikibooks:Kolekcje/Mentalizm 4 31670 544958 232517 2026-06-01T19:58:38Z Persino 2851 544958 wikitext text/x-wiki {{zapisane_książki | setting-papersize = a4 | setting-toc = auto | setting-columns = 2 }} [[Plik:Mentalizm okładka.jpg|mały|centruj]] == Mentalizm == :[[Mentalizm/Wprowadzenie]] ;Pamięć i mózg :[[Mentalizm/Aktywne czytanie: zwiększanie wydajności zapamiętywania]] :[[Mentalizm/Jak pisać dziennik i dlaczego]] :[[Mentalizm/Jak podwoić szybkość czytania]] :[[Mentalizm/Jak zapamiętać hasła]] :[[Mentalizm/Mapy myśli i inne graficzne formy notatek]] :[[Mentalizm/Mnemoniczny System Główny]] :[[Mentalizm/Mnemoniczny System Podstawowy]] :[[Mentalizm/Możliwości ludzkiego mózgu i umysłu]] :[[Mentalizm/Pałac pamięci]] :[[Mentalizm/Powtarzaj to, co już wiesz]] :[[Mentalizm/Superlearning, czyli o wykorzystaniu relaksacji]] :[[Mentalizm/Wpływ technologii na mózg i pamięć]] :[[Mentalizm/Zapamiętywanie nazw własnych i trudnych wyrażeń]] ;Vademecum psychologii :[[Mentalizm/Mądrość tłumu - kiedy i dlaczego tłum jest mądrzejszy, niż jednostka]] :[[Mentalizm/Medytacja i jej wpływ na mózg]] :[[Mentalizm/Nawyki: jak zmienić przyzwyczajenia]] :[[Mentalizm/Ograniczenia ludzkiej percepcji i pamięci]] :[[Mentalizm/Psychologia wywierania wpływu]] :[[Mentalizm/Szkoła w Summerhill: jak edukacja wpływa na osobowość]] :[[Mentalizm/W jaki sposób mamią nas liczby i statystki]] ;Racjonalizm i sceptycyzm :[[Mentalizm/Dlaczego wierzymy w pseudonaukę]] :[[Mentalizm/Jak szybko można czytać?]] :[[Mentalizm/NLP]] :[[Mentalizm/Przekaz podprogowy]] :[[Mentalizm/Stożek Zapamiętywania]] ;Mowa ciała :[[Mentalizm/Jak rozpoznać, czy ktoś mówi prawdę]] :[[Mentalizm/Pozawerbalna komunikacja]] :[[Mentalizm/I Wykrywanie kłamstwa: wprowadzenie]] :[[Mentalizm/II Wykrywanie kłamstwa]] :[[Mentalizm/III Wykrywanie kłamstwa]] :[[Mentalizm/IV Wykrywanie kłamstwa]] :[[Mentalizm/V Wykrywanie kłamstwa]] :[[Mentalizm/VI Wykrywanie kłamstwa]] :[[Mentalizm/VII Wykrywanie kłamstwa]] :[[Mentalizm/Zimny odczyt]] ;Hipnoza i sugestia :[[Mentalizm/Hipnoza i sugestia]] :[[Mentalizm/Błyskawiczna indukcja hipnozy]] :[[Mentalizm/Jak wywołać stan relaksu]] ;Sztuka iluzji :[[Mentalizm/O wywoływaniu duchów i zjaw]] :[[Mentalizm/Podłoże niektórych trików mentalistycznych]] 53qtgwop5ryuz5h4f2xcysm45rzip19 Wikipedysta:Kompowiec2/Książki/Debian 2 32056 544928 238012 2026-06-01T19:39:37Z Persino 2851 544928 wikitext text/x-wiki {{zapisane_książki}} == Debian == === Dodatki === ;Wstęp :[[Debian - uniwersalna instalacja/O podręczniku]] ;Instalacja i konfiguracja :[[Debian - uniwersalna instalacja/Pobranie i nagranie obrazu systemu]] :[[Debian - uniwersalna instalacja/Instalacja systemu podstawowego]] :[[Debian - uniwersalna instalacja/Wybór wersji systemu]] :[[Debian - uniwersalna instalacja/HDD]] :[[Debian - uniwersalna instalacja/PXE]] :[[Debian - uniwersalna instalacja/Internet]] :[[Debian - uniwersalna instalacja/Instalacja systemu grafiki]] :[[Debian - uniwersalna instalacja/Instalacja systemu dźwięku]] :[[Debian - uniwersalna instalacja/Wybór środowiska graficznego]] :[[Debian/Wybór menedżera logowania]] :[[Debian - uniwersalna instalacja/Polonizacja]] :[[Debian - uniwersalna instalacja/Instalacja języka polskiego dla programów]] ;Prolog :[[Debian - uniwersalna instalacja/Pierwsze uruchomienie]] ;System zarządzania pakietami :[[Debian - uniwersalna instalacja/Instalacja dodatkowego oprogramowania]] :[[Debian/Repozytoria zewnętrzne i klucze publiczne]] :[[Debian - uniwersalna instalacja/Dselect|Dselect]] ;Bezpieczeństwo :[[Debian - uniwersalna instalacja/Konfigurowanie iptables|Konfigurowanie iptables]] :[[Debian - uniwersalna instalacja/Konfigurowanie macchanger]] :[[Debian - uniwersalna instalacja/Aktualizacje bezpieczeństwa]] :[[Debian - uniwersalna instalacja/Konfiguracja Iceweasela]] :[[Debian - uniwersalna instalacja/Konfiguracja Tora]] ;Tryb tekstowy :[[Ubuntu/Pierwszy raz z trybem tekstowym]] :[[Ubuntu/Niebezpieczne polecenia]] :[[Ubuntu/Zabezpieczenie systemu]] :[[Ubuntu/Podstawowe polecenia]] :[[Ubuntu/Dostęp do konta root]] :[[Ubuntu/Zarządzanie pakietami]] :[[Ubuntu/Kompilacja programów ze źródeł]] :[[Aktualizacja i kompilacja jądra w Debianie/Przedsłowie]] :[[Aktualizacja i kompilacja jądra w Debianie/Wprowadzenie, pobieranie jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Budowanie jądra krok po kroku]] :[[Aktualizacja i kompilacja jądra w Debianie/Konfiguracja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Obsługa dźwięku, ext3 i nagrywarek]] :[[Aktualizacja i kompilacja jądra w Debianie/Kompilacja, instalacja jądra]] :[[Aktualizacja i kompilacja jądra w Debianie/Rozwiązywanie problemów]] ;Dodatki :[[Debian - uniwersalna instalacja/Aktualizacja systemu]] :[[Debian - uniwersalna instalacja/Aktualizacja wsteczna systemu]] :[[Debian - uniwersalna instalacja/Znane błędy]] :[[Debian - uniwersalna instalacja/Bibliografia]] :[[Debian - uniwersalna instalacja/Przydatne linki]] :[[Debian - uniwersalna instalacja/Zakończenie]] pk903o12s8d4ntusho1bqhi6a27wrxm Wikipedysta:JoMaMa/Książki/Pszczelarstwo 2 32431 544975 242209 2026-06-01T20:10:32Z Persino 2851 544975 wikitext text/x-wiki {{zapisane_książki | setting-papersize = a4 | setting-toc = auto | setting-columns = 2 }} == Pszczelarstwo == :[[Pszczelarstwo]] 8lyxio4wnu6d4s1w41qe0c49dk6ltnj Wikipedysta:Daro1910/Książki/Języki Świata 2 41461 544946 286679 2026-06-01T19:50:24Z Persino 2851 544946 wikitext text/x-wiki {{zapisane_książki | setting-papersize = a4 | setting-toc = yes | setting-columns = 1 }} == Języki Świata == === Język słowacki === :[[Wikijunior:Języki/Okładka|Okładka]] :[[Wikijunior:Języki]] :[[Wikijunior:Języki/Wstęp|Wstęp]] :[[Wikijunior:Języki/Autorzy|Autorzy]] :[[Wikijunior:Języki/Angielski|Angielski]] :[[Wikijunior:Języki/Arabski|Arabski]] :[[Wikijunior:Języki/Czeski|Czeski]] :[[Wikijunior:Języki/Esperanto|Esperanto]] :[[Wikijunior:Języki/Francuski|Francuski]] :[[Wikijunior:Języki/Grecki|Grecki]] :[[Wikijunior:Języki/Hindi|Hindi]] :[[Wikijunior:Języki/Hiszpański|Hiszpański]] :[[Wikijunior:Języki/Japoński|Japoński]] :[[Wikijunior:Języki/Niemiecki|Niemiecki]] :[[Wikijunior:Języki/Polski|Polski]] :[[Wikijunior:Języki/Rosyjski|Rosyjski]] :[[Wikijunior:Języki/Włoski|Włoski]] :[[Wikijunior:Języki/Słowacki|Słowacki]] ;Podstawy :[[Gramatyka języka słowackiego/Fonetyka]] :[[Gramatyka języka słowackiego/Pisownia]] :[[Gramatyka języka słowackiego/Rzeczownik]] :[[Gramatyka języka słowackiego/Czasownik]] :[[Gramatyka języka słowackiego/Przysłówek]] :[[Gramatyka języka słowackiego/Przyimek]] :[[Gramatyka języka słowackiego/Słowotwórstwo]] :[[Wikijunior:Języki/Aneks|Aneks]] mepqan58j4tzsqn01m4agy3fdyirs9d Moduł:Parametry 828 45669 544828 544813 2026-06-01T14:11:25Z Persino 2851 544828 Scribunto text/plain local p={}; p["LiczbaElementówNumerowanychTablicy"]=function(tabela, wliczac,mnoga) local liczba_elementow_ponumerowanych_w_tablicy=0; local czy_puste_wliczac=p.CzyTak(wliczac); local czy_mnoga=p.CzyTak(mnoga); for _1,_2 in ipairs(tabela)do if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then liczba_elementow_ponumerowanych_w_tablicy=liczba_elementow_ponumerowanych_w_tablicy+1; if((czy_mnoga)and(liczba_elementow_ponumerowanych_w_tablicy>1))then return liczba_elementow_ponumerowanych_w_tablicy;end; end; end; return liczba_elementow_ponumerowanych_w_tablicy; end; p["LiczbaElementówNumerowanychSzablonu"]=function(frame) local parametry_modul=require("Module:Parametry"); return parametry_modul["LiczbaElementówNumerowanychTablicy"](frame:getParent().args,frame.args["niepuste"],frame.args["mnoga"]); end; p["LiczbaElementówNienazwanychTablicy"] = function(tabela,wliczac,mnoga) local czy_puste_wliczac=p.CzyTak(wliczac); local czy_mnoga=p.CzyTak(mnoga); local liczba_elementow_nienazwanych_w_tablicy=0; for _1,_2 in pairs(tabela)do if(type(_1)=="number")then if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then liczba_elementow_nienazwanych_w_tablicy=liczba_elementow_nienazwanych_w_tablicy+1; if((czy_mnoga)and(liczba_elementow_nienazwanych_w_tablicy>1))then return liczba_elementow_nienazwanych_w_tablicy;end; end; end; end; return liczba_elementow_nienazwanych_w_tablicy; end; p["LiczbaParametrówNienazwanychSzablonu"] = function (frame) return p["LiczbaElementówNienazwanychTablicy"](frame:getParent().args,frame.args["niepuste"],frame.args["mnoga"]) end; p["LiczbaElementówTablicy"]=function(tabela,wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); local liczba_elementow_w_tablicy=0; for _1,_2 in pairs(tabela)do if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then liczba_elementow_w_tablicy=liczba_elementow_w_tablicy+1; end; end; return liczba_elementow_w_tablicy; end; p["LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy"]=function(tabela,przedrostek,wliczac,czy_formy_numerkowe) local czy_puste_wliczac=p.CzyTak(wliczac); local liczba_elementow_w_tablicy=0; local techniczne_modul=require("Module:Techniczne"); local wzor="^"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](przedrostek).."(%d+)$"; for _1,_2 in pairs(tabela)do local string_liczba=tonumber(_1) or nil; local czy_liczba=((string_liczba)and(czy_formy_numerkowe or p.TypeNumber(_1))and(string_liczba>0)); local zmienna=czy_liczba and przedrostek.._1 or nil; local element=(czy_liczba and tabela[zmienna] or nil) or (czy_liczba and tabela[_1] or (mw.ustring.match(tostring(_1),wzor) and tabela[_1] or nil) ); if(element)then if((not czy_puste_wliczac)or((czy_puste_wliczac)and(element~="")))then liczba_elementow_w_tablicy=liczba_elementow_w_tablicy+1; end; end; end; return liczba_elementow_w_tablicy; end; function p.MaksymalnaLiczbaParametruNienazwanegoSzablonu(frame) return p.MaksymalnaLiczbaParametruNienazwanegoTablicy(frame:getParent().args,frame.args["niepuste"]); end; function p.MaksymalnaLiczbaParametruNienazwanegoTablicy(tabela, wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); local liczba_elementow_ponumerowanych_w_tablicy=0; for _1,_2 in pairs(tabela)do if(type(_1)=="number")then if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then liczba_elementow_ponumerowanych_w_tablicy=math.max(liczba_elementow_ponumerowanych_w_tablicy,_1); end; end; end; return (liczba_elementow_ponumerowanych_w_tablicy)and liczba_elementow_ponumerowanych_w_tablicy or 0; end; function p.MinimalnaLiczbaParametruNienazwanegoSzablonu(frame) return p.MinimalnaLiczbaParametruNienazwanegoTablicy(frame:getParent().args,frame.args["niepuste"]); end; function p.MinimalnaLiczbaParametruNienazwanegoTablicy(tabela,wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); local liczba_elementow_ponumerowanych_w_tablicy; for _1,_2 in pairs(tabela)do if(type(_1)=="number")then if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then if(not liczba_elementow_ponumerowanych_w_tablicy)then liczba_elementow_ponumerowanych_w_tablicy=_1; else liczba_elementow_ponumerowanych_w_tablicy=math.min(liczba_elementow_ponumerowanych_w_tablicy,_1); end; end; end; end; return (liczba_elementow_ponumerowanych_w_tablicy)and liczba_elementow_ponumerowanych_w_tablicy or 1; end; function p.MinimalnyIMaksymalnyNumerParametru(tabela,nazwa_parametru_okreslona, czy_od_zera) local liczba_maksimum=0; local liczba_minimum; for nazwa_parametru,wartosc_parametru in pairs(tabela)do local liczba_z_parametru=mw.ustring.match(nazwa_parametru,"^"..nazwa_parametru_okreslona.."%s(%d+)$") if(liczba_z_parametru)then local liczba=tonumber(liczba_z_parametru) or (czy_od_zera and 0 or 1); liczba=(liczba>0)and liczba or (czy_od_zera and 0 or 1); liczba_maksimum=math.max(liczba_maksimum,liczba); if(not liczba_minimum)then liczba_minimum=liczba; else liczba_minimum=math.min(liczba_minimum,liczba); end; elseif(nazwa_parametru_okreslona==nazwa_parametru)then liczba_maksimum=math.max(liczba_maksimum,(czy_od_zera and 0 or 1)); if(not liczba_minimum)then liczba_minimum=czy_od_zera and 0 or 1; else liczba_minimum=math.min(liczba_minimum,czy_od_zera and 0 or 1); end; end; end; if(not liczba_minimum)then liczba_minimum=1;end; return liczba_minimum,liczba_maksimum; end; p["CzySąParametryNumerowaneSzablonu"] = function(frame) local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyNumerowaneTablicy"](frame:getParent().args,frame.args["niepuste"]); if(czy_sa_elementy_tablicy)then return "tak";end; return; end; p["CzySąElementyNumerowaneTablicy"]=function(tabela,wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); for _1,_2 in ipairs(tabela)do if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then return true; end; end; return false; end; p["CzySąParametryNienazwaneSzablonu"] = function(frame) local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyNienazwaneTablicy"](frame:getParent().args,frame.args["niepuste"]); if(czy_sa_elementy_tablicy)then return "tak";end; return; end; p["CzySąElementyNienazwaneTablicy"]=function(tabela,wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); for _1,_2 in pairs(tabela)do if(type(_1)=="number")then if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then return true; end; end; end; return false; end; p["CzySąParametryNazwaneSzablonu"] = function(frame) local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyNazwaneTablicy"](frame:getParent().args,frame.args["niepuste"]); if(czy_sa_elementy_tablicy)then return "tak";end; return; end; p["CzySąElementyNazwaneTablicy"]=function(tabela,wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); for _1,_2 in pairs(tabela)do if(type(_1)~="number")then if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then return true; end; end; end; return false; end; p["CzySąParametrySzablonu"] = function(frame) local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyTablicy"](frame:getParent().args,frame.args["niepuste"]); if(czy_sa_elementy_tablicy)then return "tak";end; return; end; p["CzySąElementyTablicy"]=function(tabela,wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); for _1,_2 in pairs(tabela)do if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then return true; end; end; return false; end; p["CzyCoNajwyżejJedenNumerowanyParametrSzablonu"] = function (frame) local parametry_modul=require("Module:Parametry"); local czy_jest_taki_element=parametry_modul["CzyCoNajwyżejJedenNumerowanyElementTablicy"](frame:getParent().args,frame.args["niepuste"]); if(czy_jest_taki_element)then return "tak";end; end; p["CzyCoNajwyżejJedenNumerowanyElementTablicy"] = function (args,wliczac) local czy_puste_wliczac=p.CzyTak(wliczac); local i=1; local czy=false; for _1,_2 in pairs(args)do if(type(_1)=="number")then if((not czy_puste_wliczac)or((czy_puste_wliczac)and(p.CzyTak(_2))))then if(_1==1)then czy=true;end; if(i>1)then return false; else i=i+1; end; end; end; end; if((czy)or(i==1))then return true;end; return false; end; p["KopiujTabelęŁańcuchów"]=function(args) local args2={}; local wzor_temp=args["wzór"];local wzor_wszystko=args["wzór wszystko"]; local podstawienie_temp=args.podstawienie;local podstawienie_wszystko=args["podstawienie wszystko"]; local wzor2_temp=args["wzór 2"];local wzor_wszystko_2=args["wzór wszystko 2"]; local przedrostek_temp=args.przedrostek;local przedrostek_wszystko=args["przedrostek wszystko"]; local przyrostek_temp=args.przyrostek;local przyrostek_wszystko=args["przyrostek wszystko"]; for name,value in pairs(args.tabela)do local wzor=wzor_temp and wzor_temp[name] or wzor_wszystko; local podstawienie=wzor and (podstawienie_temp and podstawienie_temp[name] or podstawienie_wszystko) or nil; if(wzor and podstawienie)then value=mw.ustring.gsub(value,wzor,podstawienie);end; local wzor2=wzor2_temp and wzor2_temp[name] or wzor_wszystko_2; if(wzor2)then value=mw.ustring.match(value,wzor2);end; if(value)then local przedrostek=przedrostek_temp and przedrostek_temp[name] or przedrostek_wszystko; local przyrostek=przyrostek_temp and przyrostek_temp[name] or przyrostek_wszystko; args2[name]=(przedrostek or '')..value..(przyrostek or ''); end; end; return args2; end; p["KopiujTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2) local czy_puste_wliczac_1=p.CzyTak(wliczac_1); local czy_puste_wliczac_2=p.CzyTak(wliczac_2); local tabelka2={}; for name,value in pairs(tabelka)do if(((not czy_puste_wliczac_1)or((czy_puste_wliczac_1)and(p.CzyTak(name))))and((not czy_puste_wliczac_2)or((czy_puste_wliczac_2)and(p.CzyTak(value)))))then tabelka2[name]=value; end; end; return tabelka2; end; p["KopiujTabelęElementówBezTablicyKluczy"]=function(tabelka,tabelka2,wliczac_1,wliczac_2) local czy_puste_wliczac_1=p.CzyTak(wliczac_1); local czy_puste_wliczac_2=p.CzyTak(wliczac_2); local tabelka3={}; for name,value in pairs(tabelka)do if(((not czy_puste_wliczac_1)or((czy_puste_wliczac_1)and(p.CzyTak(name))))and((not czy_puste_wliczac_2)or((czy_puste_wliczac_2)and(p.CzyTak(value)))))then local czy=p.CzyJestTakiKluczTabeli(tabelka2,name); if(not czy)then tabelka3[name]=value; end; end; end; return tabelka3; end; p["KopiujRekurencyjnieTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2) local czy_puste_wliczac_1=p.CzyTak(wliczac_1); local czy_puste_wliczac_2=p.CzyTak(wliczac_2); local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); local szablonowe_modul=require("Module:Szablonowe"); local kopiuj_metatable=function(value,funkcja,funkcja2) local __metatabelka=getmetatable(value); if(__metatabelka)then if(__metatabelka.KopiujMetaTabela)then __metatabelka.KopiujMetaTabela(value,funkcja,funkcja2) else funkcja(value,true); end; else funkcja(value,true); end; end; local function kopiuj(tabelka,tabelka_nowa) local tabelka2=tabelka_nowa or {}; for name,value in pairs(tabelka)do if(((not czy_puste_wliczac_1)or((czy_puste_wliczac_1)and(p.CzyTak(name))))and((not czy_puste_wliczac_2)or((czy_puste_wliczac_2)and(p.CzyTak(value)))))then if(type(value)=="table")then kopiuj_metatable(value,function(value,jak) if(jak)then tabelka2[name]=kopiuj(value); else tabelka2[name]=value; end; end,kopiuj); else tabelka2[name]=value; end; end; end; return tabelka2; end; local tabela_kopiuj={}; kopiuj_metatable(tabelka,function(value,jak) if(jak)then tabela_kopiuj=kopiuj(value); else tabela_kopiuj=value; end; end,kopiuj); return tabela_kopiuj; end; p["NazwanyLiczbą"] = function(frame) local pf=frame:getParent() local numer_parametru=frame.args[1] if(numer_parametru)then numer_parametru=tonumber(numer_parametru); if(numer_parametru and pf.args[numer_parametru])then return "tak" end end; return; end p["NazwanyCiągiem"] = function (frame) local pf=frame:getParent() local klucz_parametru=frame.args[1] if(klucz_parametru)then local klucz_parametru_do_liczby=tonumber(klucz_parametru); if((not klucz_parametru_do_liczby)and(pf.args[klucz_parametru]))then return "tak" end end; return; end; function p.Nazwane(frame) local pf = frame:getParent() for _, nazwa_parametru in ipairs(frame.args)do local wartosc_parametru_nazwanego=pf.args[mw.text.trim(nazwa_parametru)] if(wartosc_parametru_nazwanego)then return "tak" end end return; end function p.Nienazwane(frame) local pf = frame:getParent() for _, wartosc_parametru in ipairs(frame.args)do wartosc_parametru=mw.text.trim(wartosc_parametru) for name, wartosc_parametru2 in pairs(pf.args) do if(type(name)=="number")then if(mw.text.trim(wartosc_parametru2)==wartosc_parametru)then return "tak" end end; end end return; end function p.Numerowane(frame) local pf = frame:getParent() for _, wartosc_parametru in ipairs(frame.args)do wartosc_parametru=mw.text.trim(wartosc_parametru) for _, wartosc_parametru2 in ipairs(pf.args) do if(mw.text.trim(wartosc_parametru2)==wartosc_parametru)then return "tak" end end end return; end p["Odstępy"] = function(frame) local PobierzParametr=p.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local czy=PobierzParametr(2) or PobierzParametr("wewnątrz"); local dolny_myslnik=PobierzParametr(3) or PobierzParametr("dolny-myślnik"); local odstep_spacje=PobierzParametr(4) or PobierzParametr("spacje"); if(not p.CzyTak(nazwa))then return nazwa;end; local m_=(p.CzyTak(odstep_spacje) and "" or "_"); nazwa=mw.ustring.gsub(nazwa,"^[%s"..m_.."]+",""); nazwa=mw.ustring.gsub(nazwa,"[%s"..m_.."]+$","") if(p.CzyTak(czy))then nazwa=mw.ustring.gsub(nazwa,"[%s"..m_.."]+",(p.CzyTak(dolny_myslnik) and "_" or " ")); end; return nazwa; end; function p.DodajElementDoZbioru(tabela,wartosc) if(wartosc==nil)then return; end; if(type(tabela)~="table")then return;end; for _,element_tabeli in pairs(tabela)do if(element_tabeli==wartosc)then return false; end; end; table.insert(tabela,wartosc); return true; end; function p.CzyJestTakiElementNumerowanyTabeli(tabela,wartosc) if(wartosc==nil)then return;end; if(type(tabela)~="table")then return;end; for _, element_tabeli in ipairs(tabela)do if(element_tabeli==wartosc)then return true; end; end; return false; end; function p.CzyJestTakiElementNienazwanyTabeli(tabela,wartosc) if(wartosc==nil)then return;end; if(type(tabela)~="table")then return;end; for name,value in pairs(tabela)do if(type(name)=="number")then if(value==wartosc)then return true; end; end; end; return false; end; function p.CzyJestTakiKluczTabeli(tabela,klucz) if(klucz==nil)then return;end; if(type(tabela)~="table")then return;end; local wartosc=tabela[klucz]; if(wartosc~=nil)then return true;end; return false; end; function p.CzyJestTakiElementTabeli(tabela,klucz,wartosc) if((klucz==nil)or(wartosc==nil))then return;end; if(type(tabela)~="table")then return;end; for __klucz, __wartosc in pairs(tabela)do if((__klucz==klucz)and(__wartosc==wartosc))then return true; end; end; return false; end; p["ŁączDwieTabele"] = function (tabelka1,tabelka2) local parametry_modul=require("Module:Parametry"); return (tabelka2 and parametry_modul["CzySąElementyTablicy"](tabelka2)) and ((tabelka1 and parametry_modul["CzySąElementyTablicy"](tabelka1)) and parametry_modul["ŁączNumerowaneTabele"]{[1]=tabelka1,[2]=tabelka2,} or tabelka2) or tabelka1; end; p["ŁączZbioryElementówNumerowanychDwóchTabel"]=function(tabelka1,tabelka2) local parametry_modul=require("Module:Parametry"); return (tabelka1 and parametry_modul["CzySąElementyNumerowaneTablicy"](tabelka1))and ((tabelka2 and parametry_modul["CzySąElementyNumerowaneTablicy"](tabelka2))and parametry_modul["ŁączZbioryNumerowanychElementówNumerowanychTabel"]{[1]=tabelka1,[2]=tabelka2} or tabelka1) or tabelka2; end; p["ŁączZbioryElementówNienazwanychDwóchTabel"]=function(tabelka1,tabelka2) local parametry_modul=require("Module:Parametry"); return (tabelka1 and parametry_modul["CzySąElementyNienazwaneTablicy"](tabelka1))and ((tabelka2 and parametry_modul["CzySąElementyNienazwaneTablicy"](tabelka2))and parametry_modul["ŁączZbioryNienazwanychElementówNumerowanychTabel"]{[1]=tabelka1,[2]=tabelka2} or tabelka1) or tabelka2; end; p["ŁączZbioryElementówNazwanychDwóchTabel"]=function(tabelka1,tabelka2) local parametry_modul=require("Module:Parametry"); return (tabelka1 and parametry_modul["CzySąElementyNazwaneTablicy"](tabelka1))and ((tabelka2 and parametry_modul["CzySąElementyNazwaneTablicy"](tabelka2))and parametry_modul["ŁączZbioryNazwanychElementówNumerowanychTabel"]{[1]=tabelka1,[2]=tabelka2} or tabelka1) or tabelka2; end; p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=false,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączZbioryNazwanychElementówNienazwanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=true,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=false,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączZbioryNazwanychElementówNumerowanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=true,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączNumerowaneTabele"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=false,NazwijElementyNumerowane=true,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączNienazwaneTabele"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=false,NazwijElementyNumerowane=true,}; return parametry_modul["ŁączTabele"](args,args2); end; p["ŁączTabele"] = function(args,args2) local tabela={}; local par1=(args2.CzyPairsTablic)and pairs or ipairs; local czy_number_nie_tylko_tablic=(not args2.CzyPairsTablic)and true or false; local par2=(args2["CzyPairsElementówTablic"])and pairs or ipairs; local czy_number_nie_tylko_elementow_tablic=(not args2["CzyPairsElementówTablic"])and true or false; local czy_nazwane=(args2.CzyNazwaneElementyTabel)and true or false; local czy_nie_tylko_nazwane=(not args2.CzyTylkoNazwaneElementyTabel)and true or false; local nazwij_elementy_numerowane=(args2.NazwijElementyNumerowane) and true or false; for licznik, args_tabeli in par1(args)do if(((czy_number_nie_tylko_tablic)or(type(licznik)=="number"))and(type(args_tabeli)=="table"))then for name,value in par2(args_tabeli)do if((czy_nie_tylko_nazwane)and((czy_number_nie_tylko_elementow_tablic)or(type(name)=="number")))then if(nazwij_elementy_numerowane)then if(not tabela[name])then tabela[name]=value;end; else table.insert(tabela,value); end; elseif((czy_nazwane)and(czy_nie_tylko_nazwane or ((not czy_nie_tylko_nazwane)and(type(name)~="number"))))then if(not tabela[name])then tabela[name]=value;end; end; end; end; end; return tabela; end; p["UsuńElementyTabeli"]=function(tabelka_1,tabelka_2) if(not tabelka_1)then return nil;end; if(not tabelka_2)then return tabelka_1;end; for name,_ in pairs(tabelka_1)do if(tabelka_2[name]~=nil)then tabelka_1[name]=nil; end; end; return tabelka_1; end; p["TwórzTabelęBezPowtarzającychKluczyTabel"]=function(args) local tabela_poczatkowa=args[1]; local tabela={}; local lens=#args; for name,value in pairs(tabela_poczatkowa)do local yes=false; for i=2,lens,1 do if(args[i][name]~=nil)then yes=true; break; end; end; if(not yes)then tabela[name]=value; end; end; return tabela; end; function p.TypeTable(zmienna) return (type(zmienna)=="table"); end; function p.TypeFunction(zmienna) return (type(zmienna)=="function"); end; function p.TypeString(zmienna) return (type(zmienna)=="string"); end; function p.TypeBoolean(zmienna) return (type(zmienna)=="boolean"); end; function p.TypeNumber(zmienna) return (type(zmienna)=="number"); end; function p.TypeNil(zmienna) return (zmienna==nil); end; local function CzyTakSilnik(args,funkcja) local parametry_modul=require("Module:Parametry"); local parametr=p.CzyTak(args[2]) and require("Module:"..args[2])[args[1]] or args[1]; local argsfun; if(p.CzyTak(args[2]))then for name,value in pairs(args)do local typen=(type(name)=="number"); if(((typen)and((name~=1)and(name~=2)))or(not typen))then if(not argsfun)then argsfun={};end; argsfun[(typen and name>2) and (name-2) or name]=value; end; end; else parametr=tonumber(parametr) or parametr; if(type(parametr)=="string")then local parametr2=parametry_modul["Odstępy"](parametr); if(parametr2=="true")then parametr=true; elseif(parametr2=="false")then parametr=false; elseif(parametr2=="nil")then parametr=nil; else parametr=tonumber(parametr2) or parametr; end; end; end; return (parametry_modul[funkcja]{[1]=parametr,[2]=argsfun,})and "tak" or nil; end; p["CzyTakCiąg"]=function(...) local frame_parametry={...}; local frame=(#frame_parametry>1)and frame_parametry or frame_parametry[1]; local czy_table=p.TypeTable(frame); if((czy_table and (not frame.getParent)) or (not czy_table))then local PobierzParametr=p.PobierzParametr(frame); local ciag=PobierzParametr("ciąg") or PobierzParametr(1); local parametry=PobierzParametr("parametry") or PobierzParametr(2); local parametry_modul=require("Module:Parametry"); return ciag and p.CzyTak{[1]=(p.TypeString(ciag) and parametry_modul["Odstępy"]{[1]=ciag,[2]="tak",} or ciag),[2]=parametry,} or false; else local args=p.PobierzArgsParametry(frame); return CzyTakSilnik(args,"CzyTakCiąg"); end; end; function p.CzyTak(...) local frame_parametry={...}; local frame=(#frame_parametry>1)and frame_parametry or frame_parametry[1]; local czy_table=p.TypeTable(frame); if((czy_table and (not frame.getParent)) or (not czy_table))then local PobierzParametr=p.PobierzParametr(frame); local zmienna;local parametry; if(czy_table)then local zmienna_temp=PobierzParametr("zmienna") or PobierzParametr(1); zmienna=zmienna_temp or frame; parametry=zmienna_temp and (PobierzParametr("parametry") or PobierzParametr(2)) or nil; else zmienna=frame; parametry=nil; end; if(zmienna~=nil)then if(p.TypeString(zmienna))then if(zmienna~="")then return "tak"; else return nil; end; elseif(p.TypeNumber(zmienna))then if(zmienna~=0)then return "tak"; else return nil; end; elseif(p.TypeBoolean(zmienna))then return (zmienna and "tak" or nil); elseif(p.TypeTable(zmienna))then local parametry_modul=require("Module:Parametry"); return (parametry_modul["CzySąElementyTablicy"](zmienna) and "tak" or nil); elseif(p.TypeFunction(zmienna))then return (zmienna(parametry) and "tak" or nil); else return nil; end; else return nil; end; else local args=p.PobierzArgsParametry(frame); return CzyTakSilnik(args,"CzyTak"); end; end; function p.PobierzFrameEwentualnieParent(frame) return (frame.getParent and (p.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame); end; function p.PobierzArgsParametry(frame, czy_nie_tablica_jako_tablica) local TempFunc=function(frame) local pf=p.PobierzFrameEwentualnieParent(frame); local args=pf.args; if(p.TypeTable(args))then return args; else return nil; end; end; if(not p.TypeNil(frame))then return p.TypeTable(frame) and (TempFunc(frame) or frame) or ((czy_nie_tablica_jako_tablica)and {frame,} or frame); else return {}; end; end; function p.PobierzParametryRamki(frame) local TempFun1=function(tablica) return function(nazwa) return tablica[nazwa]; end; end; local TempFun2=function(wartosc) local tak=true; return function(nazwa) if(tak)then tak=false; return wartosc; end; return nil; end; end; local tablica_parametrow_ramki=p.TypeTable(frame) and (p.TypeTable(frame.args) and TempFun1(frame.args) or TempFun1(frame)) or TempFun2(frame); return function(nazwa) return tablica_parametrow_ramki(nazwa); end; end; function p.PobierzElementNumerowanyZFrameLubTablicy(frame) local tablica_parametrow_funkcji=p.TypeTable(frame[1]) and p.TypeTable(frame[1].args)and frame[1].args or frame; return function(nazwa) local wartosc=tablica_parametrow_funkcji[nazwa]; return wartosc; end; end; function p.PobierzParametr(frame,czy_frame_lub_parent,czy_frame) local __pobierz_parametr_table_args=nil; if(not p.TypeNil(frame))then if(p.TypeTable(frame))then local tak_frame_lub_parent=p.CzyTak(czy_frame_lub_parent); if((not tak_frame_lub_parent)or(not frame.getParent))then local __pobierz_parametr_table_args_temp=p.CzyTak(czy_frame) and frame.args or p.PobierzArgsParametry(frame); __pobierz_parametr_table_args=function(nazwa) return __pobierz_parametr_table_args_temp[nazwa or 1],1; end; elseif(tak_frame_lub_parent)then local pf=(frame.getParent)and frame:getParent() or nil; __pobierz_parametr_table_args=function(nazwa) local wartosc=frame.args[nazwa or 1] or (pf and pf.args[nazwa or 1] or nil); return wartosc,2; end; end; else local tak=true; __pobierz_parametr_table_args=function(nazwa) if(tak)then tak=false; return frame,0; end; return nil,0; end; end; else __pobierz_parametr_table_args=function(nazwa) return nil,0; end; end; return function(nazwa) return __pobierz_parametr_table_args(nazwa); end; end; function p.And(frame) local czy="tak"; local parametry_modul=require("Module:Parametry"); local wartosc_uzyskana=nil; for _,wartosc in ipairs(frame.args)do czy=czy and parametry_modul["CzyTakCiąg"](wartosc); if(not czy)then return nil;end; wartosc_uzyskana=wartosc; end; return czy and wartosc_uzyskana or nil; end; function p.Or(frame) local czy=nil; for _,wartosc in ipairs(frame.args)do czy=czy or p["CzyTakCiąg"](wartosc); if(czy)then return wartosc;end; end; return nil; end; function p.Not(frame) local parametry_modul=require("Module:Parametry"); return (not parametry_modul["CzyTakCiąg"](frame.args[1]))and "tak" or nil; end; function p.Mniejszy(frame) local wyraz1=tonumber(frame.args[1]) or 0; local wyraz2=tonumber(frame.args[2]) or 0; if(wyraz1<wyraz2)then return "tak"; end; return; end; function p.IlePodano(frame) local args=frame.args; local args2=frame:getParent().args; local licznik=0; for _,name in pairs(args)do if(args2[name])then licznik=licznik+1; end; end; return licznik; end; p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter={}; function p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter.__index(t,klucz) local html_modul=require("Module:Html"); klucz=html_modul.DecodeKoduHTMLZnaku(klucz); klucz=p["Odstępy"]{[1]=klucz,[2]="tak",}; klucz=mw.ustring.lower(klucz); return rawget(t,klucz); end; function p.IteratorPoNumerowanychElementachTablicy(t) local i=1; return function() local v=t[i]; if(v~=nil)then i=i+1;end; return v; end; end; p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu=function(tabela,funkcja) local keys={}; for name,_ in next,tabela do table.insert(keys,name); end; table.sort(keys,funkcja); return function(tablica,klucz) if(klucz==nil)then return keys[1];end; for k,_ in ipairs(keys)do if(keys[k]==klucz)then return keys[k+1]; end; end; end; end; function p.Max(...) local frame={...}; local PobierzElement=p.PobierzElementNumerowanyZFrameLubTablicy(frame); local parametr1=tonumber(PobierzElement(1)); local parametr2=tonumber(PobierzElement(2)); return math.max(parametr1,parametr2); end; function p.Min(...) local frame={...}; local PobierzElement=p.PobierzElementNumerowanyZFrameLubTablicy(frame); local parametr1=tonumber(PobierzElement(1)); local parametr2=tonumber(PobierzElement(2)); return math.min(parametr1,parametr2); end; return p; gppz5lj3stc8jssk9haxjucp5lblsn5 Moduł:Kategorie 828 45670 544872 544601 2026-06-01T16:56:40Z Persino 2851 544872 Scribunto text/plain local p={}; local function PoliczLiczbeStronWPodkategoriach(z_kategoriami_bledow,parametry_modul,argumenty_szablonu,zebrane_kategorie,bledy,czy_korzystana_kategoria) local parametry_modul=require("Module:Parametry"); local techniczne_modul=require("Module:Techniczne"); local szablonowe_modul=require("Module:Szablonowe"); local specjalne_modul=require("Module:Specjalne"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local liczba_stron_w_kategoriach=0; for numer_argumentu_szablonu, nazwa_kategorii in ipairs(argumenty_szablonu) do if(numer_argumentu_szablonu~=0)then local nazwa_kategorii_naprawiona=parametry_modul["Odstępy"]{[1]=nazwa_kategorii,[2]="tak",}; local liczba_stron_istniejacych,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory(Category..":"..nazwa_kategorii_naprawiona); if(liczba_stron_istniejacych==0)then if(z_kategoriami_bledow)then if(tabela_uchwytow_stron[1][1])then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - nieistniejące kategorie"); else parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - niepoprawne kategorie"); end; end; else local zawartosc_strony=tabela_uchwytow_stron[1][2]; zawartosc_strony=specjalne_modul["UsuńKomentarze"](zawartosc_strony); local tablica_obiektow_strony_dany_modul={}; local tekst=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(zawartosc_strony,nil,tablica_obiektow_strony_dany_modul,function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local nazwa_szablonu,tabela_modyfikatorow,czy_z_parametrami=szablonowe_modul["NazwaSzablonuWywołania"](szablon); if(szablonowe_modul.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu=="Łączna liczba stron w kategoriach")then local niepowtarzajace_sie_kategorie=true; if(zebrane_kategorie[nazwa_kategorii_naprawiona])then if(z_kategoriami_bledow)then if(not czy_korzystana_kategoria)then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się kategorie"); else parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się parametry"); end; end; niepowtarzajace_sie_kategorie=false; end; if(niepowtarzajace_sie_kategorie)then zebrane_kategorie[nazwa_kategorii_naprawiona]=true; local tablica_argumentow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon); local liczba_stron_w_kategorii=0; for licznik,elementy_nieponumerowane_argumentow_szablonu in pairs(tablica_argumentow_szablonu)do if((type(licznik)=="number")and(licznik>0))then local elementy_nieponumerowane_argumentow_szablonu2=parametry_modul["Odstępy"]{[1]=elementy_nieponumerowane_argumentow_szablonu,[2]="tak",}; liczba_stron_w_kategorii=liczba_stron_w_kategorii+mw.site.stats.pagesInCategory(elementy_nieponumerowane_argumentow_szablonu2,"all"); end; end; liczba_stron_w_kategoriach=liczba_stron_w_kategoriach+liczba_stron_w_kategorii; end; elseif(nazwa_szablonu=="Rekurencyjna łączna liczba stron w kategoriach")then local tablica_argumentow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon); for licznik,wartosc_argumentu in pairs(tablica_argumentow_szablonu) do wartosc_argumentu=parametry_modul["Odstępy"]{[1]=wartosc_argumentu,[2]="tak",}; if((type(licznik)=="number")and(wartosc_argumentu~=""))then tablica_argumentow_szablonu[licznik]=wartosc_argumentu end; end; local niepowtarzajace_sie_kategorie=true if(zebrane_kategorie[nazwa_kategorii_naprawiona])then if(z_kategoriami_bledow)then if(not czy_korzystana_kategoria)then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się kategorie"); else parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się parametry"); end; end; niepowtarzajace_sie_kategorie=false; end; zebrane_kategorie[nazwa_kategorii_naprawiona]=true; if(niepowtarzajace_sie_kategorie)then liczba_stron_w_kategoriach=liczba_stron_w_kategoriach+PoliczLiczbeStronWPodkategoriach(z_kategoriami_bledow,parametry_modul,tablica_argumentow_szablonu,zebrane_kategorie,bledy,false); end; end; end; end; end); end; end; end; return liczba_stron_w_kategoriach; end; p["Rekurencyjna łączna liczba stron w kategoriach"]=function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local bledy={}; local nazwy_modul=require("Module:Nazwy"); local nazwa_kategorii=(args["aktualna kategoria"])and (Category..':'..args["aktualna kategoria"]) or nil; local tabela_nazw={}; local nazwa_strony_aktualnej=nazwy_modul["NAZWASTRONY"](nazwa_kategorii,tabela_nazw); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_kategorii,tabela_nazw); local zebrane_kategorie={}; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni==nazwy_np_modul.Category)then zebrane_kategorie[nazwa_strony_aktualnej]=true; end; local Category=nazwy_np_modul.Category; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local liczba_argumentow_ponumerowanych_w_argumentach_szablonu=parametry_modul["MaksymalnaLiczbaParametruNienazwanegoTablicy"](args,"tak"); if(liczba_argumentow_ponumerowanych_w_argumentach_szablonu==0)then if(z_kategoriami_bledow)then local tab_parametrow={}; tab_parametrow[1]="Szablon rekurencyjna łączna liczba stron w kategoriach - brak kategorii"; local str_kategoria=p.Kategoria{args=tab_parametrow,}; return "0"..str_kategoria; else return "0"; end; end; for licznik,wartosc_argumentu in pairs(args) do local wartosc_argumentu=parametry_modul["Odstępy"]{[1]=wartosc_argumentu,[2]="tak",}; if((type(licznik)=="number")and(wartosc_argumentu~=""))then args[licznik]=wartosc_argumentu; end; end; local liczba_stron_w_kategoriach=PoliczLiczbeStronWPodkategoriach(z_kategoriami_bledow,parametry_modul,args,zebrane_kategorie,bledy,true); if((z_kategoriami_bledow)and(not parametry_modul["CzySąElementyNienazwaneTablicy"](bledy,"tak")))then if(nazwa_przestrzeni==nazwy_np_modul.Category)then local args2=parametry_modul["KopiujTabelęŁańcuchów"]{tabela=args,["przedrostek wszystko"]='Category:'}; local techniczne_modul=require("Module:Techniczne"); local liczba_istniejacych_kategorii_w_aktualnej_kategorii,_=techniczne_modul.PoliczZbiory(args2); if(liczba_argumentow_ponumerowanych_w_argumentach_szablonu~=mw.site.stats.pagesInCategory(nazwa_strony_aktualnej,"subcats") or(liczba_argumentow_ponumerowanych_w_argumentach_szablonu~=liczba_istniejacych_kategorii_w_aktualnej_kategorii) )then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - niezgodność kategorii"); end; end; end; local str_kategorie; if(parametry_modul["CzySąElementyNumerowaneTablicy"](bledy))then str_kategorie=p.Kategorie{args=bledy} else str_kategorie=""; end; return liczba_stron_w_kategoriach..str_kategorie; end; p["Łączna liczba stron w kategoriach"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local czy_szablon_z_parametrami=true; if(#args==0)then local nazwy_modul=require("Module:Nazwy"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul.NAZWAPRZESTRZENI(nil,tabela_nazw); if(nazwa_przestrzeni==nazwy_np_modul.Category)then args={[1]=nazwy_modul.NAZWASTRONY(nil,tabela_nazw);}; czy_szablon_z_parametrami=false; end; end; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local liczba_argumentow_ponumerowanych_w_argumentach_szablonu=parametry_modul["MaksymalnaLiczbaParametruNienazwanegoTablicy"](args,"tak"); if(liczba_argumentow_ponumerowanych_w_argumentach_szablonu==0)then if(z_kategoriami_bledow)then local tab_parametrow={}; tab_parametrow[1]="Szablon łączna liczba stron w kategoriach - brak kategorii"; local str_kategoria=p.Kategoria{args=tab_parametrow,}; return "0"..str_kategoria; else return "0"; end; end; local tabela_kategorii={}; for licznik=1,liczba_argumentow_ponumerowanych_w_argumentach_szablonu,1 do args[licznik]=parametry_modul["Odstępy"]{[1]=args[licznik],[2]="tak",};end; local liczba_stron_w_kategorii=0; local liczba_kategorii_w_korzystanej_kategorii=0; local czy_ma_liczyc_zgodnosc_kategorii=true; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local techniczne_modul=require("Module:Techniczne"); for licznik,wartosc_argumentu in pairs(args)do if((type(licznik)=="number")and(mw.text.trim(wartosc_argumentu)~=""))then local liczba_istniejacych_kategorii,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory("Category:"..args[licznik]); if(liczba_istniejacych_kategorii==0)then if(z_kategoriami_bledow)then if(tabela_uchwytow_stron[1][1])then parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - nieistniejące kategorie"); else parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - niepoprawne kategorie"); end; end; czy_ma_liczyc_zgodnosc_kategorii=false; else local czy_niepowtarzajace_kategorie=true; for licznik2=licznik+1,liczba_argumentow_ponumerowanych_w_argumentach_szablonu,1 do if(args[licznik]==args[licznik2])then if(z_kategoriami_bledow)then parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - powtarzające się parametry"); end; czy_niepowtarzajace_kategorie=false; czy_ma_liczyc_zgodnosc_kategorii=false; break; end; end; if(czy_niepowtarzajace_kategorie)then liczba_kategorii_w_korzystanej_kategorii=liczba_kategorii_w_korzystanej_kategorii+1; liczba_stron_w_kategorii=liczba_stron_w_kategorii+mw.site.stats.pagesInCategory(args[licznik],"all"); end; end; end; end; if(z_kategoriami_bledow)then if((czy_ma_liczyc_zgodnosc_kategorii)and(czy_szablon_z_parametrami))then local nazwy_modul=require("Module:Nazwy"); local nazwa_kategorii=(args["aktualna kategoria"])and ('Category:'..args["aktualna kategoria"]) or nil; local tabela_nazw={}; local nazwa_strony_aktualnej=nazwy_modul["NAZWASTRONY"](nazwa_kategorii,tabela_nazw); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_kategorii,tabela_nazw); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni==nazwy_np_modul.Category)then local liczba_kategorii_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony_aktualnej,"subcats")+(((args["kategoria alternatywna jako podkategoria"])and(args["kategoria alternatywna jako podkategoria"]~="")) and -1 or 0); local liczba_kategorii_w_kategorii_alternatywnej=0; if(args["kategoria alternatywna"])then local iter=mw.text.gsplit(args["kategoria alternatywna"], "|", true ); for kategoria in iter do liczba_kategorii_w_kategorii_alternatywnej=liczba_kategorii_w_kategorii_alternatywnej+mw.site.stats.pagesInCategory(mw.text.trim(kategoria),"subcats"); end; end; if(liczba_kategorii_w_korzystanej_kategorii~=liczba_kategorii_w_kategorii_aktualnej+liczba_kategorii_w_kategorii_alternatywnej)then parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - niezgodność kategorii"); end; end; end; end; local str_kategorie; if(parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_kategorii))then str_kategorie=p.Kategorie{args=tabela_kategorii,}; else str_kategorie=""; end; return liczba_stron_w_kategorii..str_kategorie; end; function p.DomniemanaNazwaSortowaniaStrony(frame) return p:DomniemanaNazwaSortowania(frame); end; function p.DomniemanaNazwaSortowania(self,frame) local pf=frame.getParent and frame:getParent() or frame; if(pf.args["nazwa przestrzeni nazw"] or pf.args["nazwa jednostki"])then return p.DomniemanaNazwaSortowaniaBezParametrowychJednostkowych(self,frame); end; local kategorie_nazwa_sortowania_modul=mw.loadData('Module:Kategorie/nazwa sortowania'); return kategorie_nazwa_sortowania_modul.domniemana_nazwa_sortowania; end; function p.DomniemanaNazwaSortowaniaBezParametrowychJednostkowych(self,frame) if(self.nazwa_sortowania)then return self.nazwa_sortowania;end; local pudelko_modul=require("Module:Pudełko"); local nazwa_sortowania=pudelko_modul["Nazwa jednostki 2"](frame); local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local category=nazwy_np_modul.Category; local ile_ksiazka=0; if(nazwa_przestrzeni_nazw==category)then nazwa_sortowania,ile_ksiazka=mw.ustring.gsub(nazwa_sortowania,"^Książka:","");end; local koncowka=mw.ustring.match(nazwa_sortowania,"%.([^/%.]+)$"); local inne_niz_mediawiki=((nazwa_przestrzeni_nazw==nazwy_np_modul.Template)or(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)); local czy_bez_prawego_ukosnika=false; if((inne_niz_mediawiki)or(nazwa_przestrzeni_nazw==nazwy_np_modul.MediaWiki))then if(inne_niz_mediawiki)then nazwa_sortowania,ile_ksiazka=mw.ustring.gsub(nazwa_sortowania,"^Książka:",""); end; local koncowka=mw.ustring.match(nazwa_sortowania,"%.([^/%.%s]+)$"); if(koncowka)then koncowka=mw.ustring.lower(koncowka); if((koncowka=="css")or((not inne_niz_mediawiki)and(koncowka=="js")))then if(mw.ustring.match(nazwa_sortowania,"/"))then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"(/[^/]*%.[^/%.%s]+)$",""); else nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"(.)(%.[^/%.%s]+)$","%1"); end; end; else local core=mw.ustring.match(nazwa_sortowania,"/(core)$") or mw.ustring.match(nazwa_sortowania,"/(silnik)$") or mw.ustring.match(nazwa_sortowania,"/(Wersja do druku)$") or mw.ustring.match(nazwa_sortowania,"/(Do druku)$"); if(core)then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"/"..core.."$",""); end; end; else local okladka=mw.ustring.match(nazwa_sortowania,"/[Oo][Kk][LlŁł][Aa][Dd][Kk][Aa]$") if(okladka)then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"/[^/]+$",""); end; end; if((nazwa_przestrzeni_nazw~=nazwy_np_modul.Main)and(nazwa_przestrzeni_nazw~=nazwy_np_modul.Wikijunior))then if(ile_ksiazka==0)then local kategorie_sortowanie_modul=require("Module:Kategorie/sortowanie"); nazwa_sortowania,czy_bez_prawego_ukosnika=kategorie_sortowanie_modul.NazwaSortowaniaNazwyStrony(nazwa_sortowania); else czy_bez_prawego_ukosnika=not mw.ustring.match(nazwa_sortowania,"/"); if(czy_bez_prawego_ukosnika)then local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; nazwa_sortowania=nazwy_modul.NAZWASTRONY(nazwa_sortowania,tabela_nazw); end; end; end; if(not czy_bez_prawego_ukosnika)then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"[/%s_]+$",""); nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"^.*/([^/]+)$","%1"); end; self.nazwa_sortowania=nazwa_sortowania; return nazwa_sortowania; end; function p.CzyKategoriaDlaKategorii(frame) local pudelko_modul=require("Module:Pudełko"); local nazwa_przestrzeni=pudelko_modul["Nazwa przestrzeni nazw 2"](frame); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni==nazwy_np_modul.Category)then local nazwa_strony=pudelko_modul["Nazwa jednostki 2"](frame); local kategorie_dla_kategorii="Kategorie dla kategorii"; if(nazwa_strony==kategorie_dla_kategorii)then return nil;end; local techniczne_modul=require("Module:Techniczne"); local liczba_stron_istniejacych,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory("Category:"..kategorie_dla_kategorii); if(liczba_stron_istniejacych==0)then return nil;end; local liczba_stron_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony,"pages"); local liczba_podkategorii_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony,"subcats"); local liczba_plikow_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony,"files"); if((liczba_stron_w_kategorii_aktualnej>0)or (liczba_plikow_w_kategorii_aktualnej>0)or(liczba_podkategorii_w_kategorii_aktualnej==0))then return nil;end; return "tak"; end; return nil; end; function p.KategoriaDlaKategorii(frame) local czy_kategoria_dla_kategorii=p.CzyKategoriaDlaKategorii(frame) if(czy_kategoria_dla_kategorii)then local nazwa_sortowania=p:DomniemanaNazwaSortowania(frame); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; return "[["..Category..":Kategorie dla kategorii|"..nazwa_sortowania.."]]"; end; return ""; end; function p.Kategoria(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local kategoria2=args[1] and parametry_modul["Odstępy"]{[1]=args[1],[2]="tak",}; local kategoria=parametry_modul.CzyTak(kategoria2) and mw.getContentLanguage():ucfirst(kategoria2) or nil; local nazwa_sortowania=args[2] and parametry_modul["Odstępy"]{[1]=args[2],[2]="tak",}; local czy_nazwa_sortowania_aut=parametry_modul.CzyTak(args["nie sortuj nazwą"] or args["n"]); local czy_nie_kategorie_dla_kategorii=parametry_modul.CzyTak(args["nie kategorie dla kategorii"] or args["nk"]); local kategorie_dla_kategorii="Kategorie dla kategorii"; local function DodawanieKategorii() local sortuj=args["sortuj spacją"] or args["s"]; local techniczne_modul=require("Module:Techniczne"); local liczba_istniejacych_stron,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory(Category..":"..kategoria); local dotatkowekategorie=""; local nazwa_sortowania_aut; if(z_kategoriami_bledow)then if(liczba_istniejacych_stron==0)then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); if(tabela_uchwytow_stron[1][1])then dotatkowekategorie="[["..Category..":Szablon kategoria - nieistniejąca kategoria|"..nazwa_sortowania_aut.."]]"; else dotatkowekategorie="[["..Category..":Szablon kategoria - niepoprawna kategoria|"..nazwa_sortowania_aut.."]]"; end; end; end; if(parametry_modul.CzyTak(nazwa_sortowania))then return ((tabela_uchwytow_stron[1][1])and "[["..Category..":"..kategoria..((not czy_nazwa_sortowania_aut) and ("|"..((parametry_modul.CzyTak(sortuj))and " " or nazwa_sortowania)) or "").."]]" or "")..dotatkowekategorie..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); else if(parametry_modul.CzyTak(sortuj))then return ((tabela_uchwytow_stron[1][1])and "[["..Category..":"..kategoria.."| ]]" or "")..dotatkowekategorie..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); else nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); return ((tabela_uchwytow_stron[1][1])and "[["..Category..":"..kategoria..(((not czy_nazwa_sortowania_aut) and (not nazwa_sortowania)) and ("|"..nazwa_sortowania_aut) or "").."]]" or "")..dotatkowekategorie..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); end; end; end; if(parametry_modul.CzyTak(kategoria))then return DodawanieKategorii(); end; local title=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") local category=nazwy_np_modul.Category; if(title.nsText==category)then nazwa_sortowania,_=mw.ustring.gsub(title.text,"^Książka:(.*)$","%1");else nazwa_sortowania=title.text;end; --nazwa_sortowania,_=mw.ustring.gsub(nazwa_sortowania,"^.*/([^/]+)$","%1"); local nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); return "[["..Category..":Szablon kategoria - nazwa kategorii pusta lub niepodana|"..nazwa_sortowania_aut.."]]"..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); end; function p.Kategorie(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local tablica_kategorii_bledow={}; local tablica_kategorii={}; local tablica_czy_kategorie_sie_powtarzaja={}; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local czy_sa_argumenty_ponumerowane=parametry_modul["CzySąElementyNienazwaneTablicy"](args); if(not czy_sa_argumenty_ponumerowane)then if(z_kategoriami_bledow)then local nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); return "[["..Category..":Szablon kategorie - nie podano nazw kategorii|"..nazwa_sortowania_aut.."]]"..(czy_nie_kategorie_dla_kategorii and "" or p.KategoriaDlaKategorii(frame)); else return (czy_nie_kategorie_dla_kategorii and "" or p.KategoriaDlaKategorii(frame)); end; end; local klucz_sortowania=args["klucz sortowania"] or args["k"]; local czy_klucz_sortowania=parametry_modul.CzyTak(klucz_sortowania); local czy_nie_kategorie_dla_kategorii=parametry_modul.CzyTak(args["nie kategorie dla kategorii"] or args["nk"]); local kategorie_dla_kategorii="Kategorie dla kategorii"; local techniczne_modul=require("Module:Techniczne"); local nazwa_sortowania_aut; for licznik,wartosc_argumentu in pairs(args)do if(type(licznik)=="number")then local kategoria=wartosc_argumentu and parametry_modul["Odstępy"]{[1]=wartosc_argumentu,[2]="tak",}; if((kategoria)and(kategoria~=""))then local _i=args["_"..licznik] or args["_i"]; local nazwa_sortowania=_i and parametry_modul["Odstępy"]{[1]=_i,[2]="tak",}; local sortuj=(not czy_klucz_sortowania) and (parametry_modul.CzyTak(args["sortuj spacją "..licznik] or args["s"..licznik] or args["sortuj spacją"] or args["s"])) or nil; local czy_nazwa_sortowania_aut=parametry_modul.CzyTak(args["nie sortuj nazwą "..licznik] or args["n"..licznik] or args["nie sortuj nazwą"] or args["n"]); local function DodawanieKategorii() local liczba_istniejacych_stron,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory(Category..":"..kategoria); if(z_kategoriami_bledow)then if(liczba_istniejacych_stron==0)then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); if(tabela_uchwytow_stron[1][1])then parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - nieistniejące kategorie|"..nazwa_sortowania_aut.."]]"); else parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - niepoprawne kategorie|"..nazwa_sortowania_aut.."]]"); end; end; end; local czy_sie_nie_powtarza=true; kategoria=mw.getContentLanguage():ucfirst(kategoria); if(tablica_czy_kategorie_sie_powtarzaja[kategoria])then if(z_kategoriami_bledow)then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - powtarzające się kategorie|"..nazwa_sortowania_aut.."]]"); end; czy_sie_nie_powtarza=false; end; if((czy_sie_nie_powtarza)and (tabela_uchwytow_stron[1][1]))then if(parametry_modul.CzyTak(nazwa_sortowania))then tablica_kategorii[#tablica_kategorii+1]="[["..Category..":"..kategoria..((not czy_klucz_sortowania)and("|"..((parametry_modul.CzyTak(sortuj))and " " or nazwa_sortowania)) or "").."]]"; else if(parametry_modul.CzyTak(sortuj))then tablica_kategorii[#tablica_kategorii+1]="[["..Category..":"..kategoria.."| ]]"; else nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); tablica_kategorii[#tablica_kategorii+1]="[["..Category..":"..kategoria..(((not czy_nazwa_sortowania_aut) and (not czy_klucz_sortowania)) and ("|"..nazwa_sortowania_aut) or "").."]]"; end; end; end; tablica_czy_kategorie_sie_powtarzaja[kategoria]=true; end; DodawanieKategorii(); elseif((kategoria)and(kategoria==""))then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - puste kategorie|"..nazwa_sortowania_aut.."]]"); end; end; end; local lancuch_kategorii=table.concat(tablica_kategorii,"")..table.concat(tablica_kategorii_bledow); if(lancuch_kategorii~="")then if(czy_klucz_sortowania)then klucz_sortowania=parametry_modul["Odstępy"]{[1]=klucz_sortowania,[2]="tak",}; local m=parametry_modul.PobierzFrameEwentualnieParent(frame); lancuch_kategorii=m:callParserFunction("DEFAULTSORT",klucz_sortowania)..lancuch_kategorii; end; end; return lancuch_kategorii..((czy_nie_kategorie_dla_kategorii or (tablica_czy_kategorie_sie_powtarzaja[kategorie_dla_kategorii])) and "" or p.KategoriaDlaKategorii(frame)); end; p["SzablonyDodająceKategorie"]=function() return "Szablony dodające kategorie"; end; function p.OpakujKategorie(frame) local pf=frame:getParent(); local wikikod=frame.args[1] or pf.args[1]; local _; wikikod,_=mw.ustring.gsub(wikikod,"__NOINDEX__","") local bez_kategorii=frame.args["bez kategorii wikikodu"] or pf.args["bez kategorii wikikodu"]; local z_nazwa_sortowania=frame.args["z nazwą sortowania"] or pf.args["z nazwą sortowania"]; local category; local tablica_category={}; local iterator=mw.ustring.gmatch(wikikod,"(%[%[%s*([^%[%]%|:%s]+)%s*:%s*[^%[%]]+%s*%]%])") local parametry_modul=require("Module:Parametry"); local function NazwaStronyKategorii(category) local NieprzetworzonaNazwaStronyKategorii=function(category) local nazwa=mw.ustring.match(category,"^%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|]*)") if(nazwa)then return nazwa;end; nazwa=mw.ustring.match(category,"^%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|]*)"); return nazwa; end; local nazwa=NieprzetworzonaNazwaStronyKategorii(category); if(nazwa)then return parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",}; end; return nil; end; local sprawdz_modul=require("Module:Sprawdź"); local nazwa_sprawdzania_parametrow_szablonu=sprawdz_modul["NazwaKategoriiSprawdzaniaParametrówSzablonu"](); local specjalne_modul=require("Module:Specjalne"); local nazwa_szablonow_dodajace_kategorie=p["SzablonyDodająceKategorie"](); local tab_innych_kategorii={ [nazwa_sprawdzania_parametrow_szablonu]=true, [nazwa_szablonow_dodajace_kategorie]=true, } local function TablicaKategoriiSzablonu(iterator) for category,przestrzen_kategorii in iterator do przestrzen_kategorii=mw.ustring.lower(przestrzen_kategorii); if((przestrzen_kategorii=="category")or(przestrzen_kategorii=="kategoria"))then local nazwa=NazwaStronyKategorii(category); if((nazwa)and(not tab_innych_kategorii[nazwa]))then table.insert(tablica_category,category); end; end; end; end; TablicaKategoriiSzablonu(iterator); local parametry_modul=require("Module:Parametry"); if(not parametry_modul["CzySąElementyTablicy"](tablica_category))then return wikikod;end; wikikod=mw.ustring.gsub(wikikod,"(%[%[%s*[^%[%]]+%s*%]%])",function(kategoria) for _,name in pairs(tablica_category) do if(name==kategoria)then return ""; end; end; end); if(parametry_modul.CzyTak(bez_kategorii))then return wikikod;end; local czy_z_nazwa_sortowania=parametry_modul.CzyTak(z_nazwa_sortowania); local ulramka=mw.html.create('ul'); ulramka:addClass('okul'); local pionowa=false; local kategorie_istnieja=frame.args["kategorie istnieją"] or pf.args["kategorie istnieją"]; local czy_kategorie_istnieja=parametry_modul.CzyTak(kategorie_istnieja); local parametry_modul=require("Module:Parametry") local function Nazwa(nazwa) local kategoria_istnieje=mw.ustring.match(nazwa,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|%[%]]+)%s*%]%]"); if(kategoria_istnieje)then return kategoria_istnieje; end; kategoria_istnieje=mw.ustring.match(nazwa,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*%]%]") return kategoria_istnieje; end; local function NazwaSort(nazwa) local kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=mw.ustring.match(nazwa,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]*)%s*%]%]"); if(kategoria_istnieje)then return kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej; end; local kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=mw.ustring.match(nazwa,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]*)%s*%]%]"); return kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej; end; local function tag(nazwa) local nazwa=mw.ustring.gsub(nazwa,"<%s*/?[^<>]->",""); return nazwa; end; local i=1; for _,nazwa in ipairs(tablica_category)do local nazwa2; local kategoria_istnieje=Nazwa(nazwa); if(kategoria_istnieje)then nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]"; else local nazwa_sortowania_kategorii_istniejacej; kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=NazwaSort(nazwa); if(kategoria_istnieje)then nazwa_sortowania_kategorii_istniejacej,_=tag(nazwa_sortowania_kategorii_istniejacej) nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]"..((czy_z_nazwa_sortowania)and ("<sup title=\""..nazwa_sortowania_kategorii_istniejacej.."\">["..i.."]</sup>") or ""); i=i+1; end; end; if((kategoria_istnieje)and((not czy_kategorie_istnieja)or((czy_kategorie_istnieja)and((kategoria_istnieje~="Szablon kategoria - nieistniejąca kategoria")and(kategoria_istnieje~="Szablon kategorie - nieistniejące kategorie")))) )then nazwa2=parametry_modul["Odstępy"]{[1]=nazwa2,[2]="tak",}; local liramka=mw.html.create('li'); liramka:addClass('okli'); if(pionowa)then liramka:addClass('oklilo'); pionowa=true; else pionowa=true; end; liramka:wikitext(nazwa2); ulramka:node(liramka); end; end; local kategorie="[[Specjalna:Kategorie|Kategorie]]:" local divramka=mw.html.create('div'); divramka:addClass('oks'); divramka:wikitext(kategorie); divramka:node(ulramka); local divcalosc=mw.html.create('div'); divcalosc:addClass('ocwkzks'); local divwikikod=mw.html.create('div'); divwikikod:addClass('obkwk'); divwikikod:wikitext(parametry_modul["CzyTakCiąg"](wikikod) and (wikikod) or ""); divcalosc:node(divwikikod); divcalosc:node(divramka) return tostring(divcalosc:allDone()); end; return p; fo3d3ziw0pggjatt21x5iyop6iu7ca4 544873 544872 2026-06-01T17:01:34Z Persino 2851 544873 Scribunto text/plain local p={}; local function PoliczLiczbeStronWPodkategoriach(z_kategoriami_bledow,parametry_modul,argumenty_szablonu,zebrane_kategorie,bledy,czy_korzystana_kategoria) local parametry_modul=require("Module:Parametry"); local techniczne_modul=require("Module:Techniczne"); local szablonowe_modul=require("Module:Szablonowe"); local specjalne_modul=require("Module:Specjalne"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local liczba_stron_w_kategoriach=0; for numer_argumentu_szablonu, nazwa_kategorii in ipairs(argumenty_szablonu) do if(numer_argumentu_szablonu~=0)then local nazwa_kategorii_naprawiona=parametry_modul["Odstępy"]{[1]=nazwa_kategorii,[2]="tak",}; local liczba_stron_istniejacych,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory(Category..":"..nazwa_kategorii_naprawiona); if(liczba_stron_istniejacych==0)then if(z_kategoriami_bledow)then if(tabela_uchwytow_stron[1][1])then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - nieistniejące kategorie"); else parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - niepoprawne kategorie"); end; end; else local zawartosc_strony=tabela_uchwytow_stron[1][2]; zawartosc_strony=specjalne_modul["UsuńKomentarze"](zawartosc_strony); local tablica_obiektow_strony_dany_modul={}; local tekst=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(zawartosc_strony,nil,tablica_obiektow_strony_dany_modul,function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local nazwa_szablonu,tabela_modyfikatorow,czy_z_parametrami=szablonowe_modul["NazwaSzablonuWywołania"](szablon); if(szablonowe_modul.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu=="Łączna liczba stron w kategoriach")then local niepowtarzajace_sie_kategorie=true; if(zebrane_kategorie[nazwa_kategorii_naprawiona])then if(z_kategoriami_bledow)then if(not czy_korzystana_kategoria)then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się kategorie"); else parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się parametry"); end; end; niepowtarzajace_sie_kategorie=false; end; if(niepowtarzajace_sie_kategorie)then zebrane_kategorie[nazwa_kategorii_naprawiona]=true; local tablica_argumentow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon); local liczba_stron_w_kategorii=0; for licznik,elementy_nieponumerowane_argumentow_szablonu in pairs(tablica_argumentow_szablonu)do if((type(licznik)=="number")and(licznik>0))then local elementy_nieponumerowane_argumentow_szablonu2=parametry_modul["Odstępy"]{[1]=elementy_nieponumerowane_argumentow_szablonu,[2]="tak",}; liczba_stron_w_kategorii=liczba_stron_w_kategorii+mw.site.stats.pagesInCategory(elementy_nieponumerowane_argumentow_szablonu2,"all"); end; end; liczba_stron_w_kategoriach=liczba_stron_w_kategoriach+liczba_stron_w_kategorii; end; elseif(nazwa_szablonu=="Rekurencyjna łączna liczba stron w kategoriach")then local tablica_argumentow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon); for licznik,wartosc_argumentu in pairs(tablica_argumentow_szablonu) do wartosc_argumentu=parametry_modul["Odstępy"]{[1]=wartosc_argumentu,[2]="tak",}; if((type(licznik)=="number")and(wartosc_argumentu~=""))then tablica_argumentow_szablonu[licznik]=wartosc_argumentu end; end; local niepowtarzajace_sie_kategorie=true if(zebrane_kategorie[nazwa_kategorii_naprawiona])then if(z_kategoriami_bledow)then if(not czy_korzystana_kategoria)then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się kategorie"); else parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - powtarzające się parametry"); end; end; niepowtarzajace_sie_kategorie=false; end; zebrane_kategorie[nazwa_kategorii_naprawiona]=true; if(niepowtarzajace_sie_kategorie)then liczba_stron_w_kategoriach=liczba_stron_w_kategoriach+PoliczLiczbeStronWPodkategoriach(z_kategoriami_bledow,parametry_modul,tablica_argumentow_szablonu,zebrane_kategorie,bledy,false); end; end; end; end; end); end; end; end; return liczba_stron_w_kategoriach; end; p["Rekurencyjna łączna liczba stron w kategoriach"]=function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local bledy={}; local nazwy_modul=require("Module:Nazwy"); local nazwa_kategorii=(args["aktualna kategoria"])and (Category..':'..args["aktualna kategoria"]) or nil; local tabela_nazw={}; local nazwa_strony_aktualnej=nazwy_modul["NAZWASTRONY"](nazwa_kategorii,tabela_nazw); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_kategorii,tabela_nazw); local zebrane_kategorie={}; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni==nazwy_np_modul.Category)then zebrane_kategorie[nazwa_strony_aktualnej]=true; end; local Category=nazwy_np_modul.Category; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local liczba_argumentow_ponumerowanych_w_argumentach_szablonu=parametry_modul["MaksymalnaLiczbaParametruNienazwanegoTablicy"](args,"tak"); if(liczba_argumentow_ponumerowanych_w_argumentach_szablonu==0)then if(z_kategoriami_bledow)then local tab_parametrow={}; tab_parametrow[1]="Szablon rekurencyjna łączna liczba stron w kategoriach - brak kategorii"; local str_kategoria=p.Kategoria{args=tab_parametrow,}; return "0"..str_kategoria; else return "0"; end; end; for licznik,wartosc_argumentu in pairs(args) do local wartosc_argumentu=parametry_modul["Odstępy"]{[1]=wartosc_argumentu,[2]="tak",}; if((type(licznik)=="number")and(wartosc_argumentu~=""))then args[licznik]=wartosc_argumentu; end; end; local liczba_stron_w_kategoriach=PoliczLiczbeStronWPodkategoriach(z_kategoriami_bledow,parametry_modul,args,zebrane_kategorie,bledy,true); if((z_kategoriami_bledow)and(not parametry_modul["CzySąElementyNienazwaneTablicy"](bledy,"tak")))then if(nazwa_przestrzeni==nazwy_np_modul.Category)then local args2=parametry_modul["KopiujTabelęŁańcuchów"]{tabela=args,["przedrostek wszystko"]='Category:'}; local techniczne_modul=require("Module:Techniczne"); local liczba_istniejacych_kategorii_w_aktualnej_kategorii,_=techniczne_modul.PoliczZbiory(args2); if(liczba_argumentow_ponumerowanych_w_argumentach_szablonu~=mw.site.stats.pagesInCategory(nazwa_strony_aktualnej,"subcats") or(liczba_argumentow_ponumerowanych_w_argumentach_szablonu~=liczba_istniejacych_kategorii_w_aktualnej_kategorii) )then parametry_modul.DodajElementDoZbioru(bledy,"Szablon rekurencyjna łączna liczba stron w kategoriach - niezgodność kategorii"); end; end; end; local str_kategorie; if(parametry_modul["CzySąElementyNumerowaneTablicy"](bledy))then str_kategorie=p.Kategorie{args=bledy} else str_kategorie=""; end; return liczba_stron_w_kategoriach..str_kategorie; end; p["Łączna liczba stron w kategoriach"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local czy_szablon_z_parametrami=true; if(#args==0)then local nazwy_modul=require("Module:Nazwy"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul.NAZWAPRZESTRZENI(nil,tabela_nazw); if(nazwa_przestrzeni==nazwy_np_modul.Category)then args={[1]=nazwy_modul.NAZWASTRONY(nil,tabela_nazw);}; czy_szablon_z_parametrami=false; end; end; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local liczba_argumentow_ponumerowanych_w_argumentach_szablonu=parametry_modul["MaksymalnaLiczbaParametruNienazwanegoTablicy"](args,"tak"); if(liczba_argumentow_ponumerowanych_w_argumentach_szablonu==0)then if(z_kategoriami_bledow)then local tab_parametrow={}; tab_parametrow[1]="Szablon łączna liczba stron w kategoriach - brak kategorii"; local str_kategoria=p.Kategoria{args=tab_parametrow,}; return "0"..str_kategoria; else return "0"; end; end; local tabela_kategorii={}; for licznik=1,liczba_argumentow_ponumerowanych_w_argumentach_szablonu,1 do args[licznik]=parametry_modul["Odstępy"]{[1]=args[licznik],[2]="tak",};end; local liczba_stron_w_kategorii=0; local liczba_kategorii_w_korzystanej_kategorii=0; local czy_ma_liczyc_zgodnosc_kategorii=true; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local techniczne_modul=require("Module:Techniczne"); for licznik,wartosc_argumentu in pairs(args)do if((type(licznik)=="number")and(mw.text.trim(wartosc_argumentu)~=""))then local liczba_istniejacych_kategorii,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory("Category:"..args[licznik]); if(liczba_istniejacych_kategorii==0)then if(z_kategoriami_bledow)then if(tabela_uchwytow_stron[1][1])then parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - nieistniejące kategorie"); else parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - niepoprawne kategorie"); end; end; czy_ma_liczyc_zgodnosc_kategorii=false; else local czy_niepowtarzajace_kategorie=true; for licznik2=licznik+1,liczba_argumentow_ponumerowanych_w_argumentach_szablonu,1 do if(args[licznik]==args[licznik2])then if(z_kategoriami_bledow)then parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - powtarzające się parametry"); end; czy_niepowtarzajace_kategorie=false; czy_ma_liczyc_zgodnosc_kategorii=false; break; end; end; if(czy_niepowtarzajace_kategorie)then liczba_kategorii_w_korzystanej_kategorii=liczba_kategorii_w_korzystanej_kategorii+1; liczba_stron_w_kategorii=liczba_stron_w_kategorii+mw.site.stats.pagesInCategory(args[licznik],"all"); end; end; end; end; if(z_kategoriami_bledow)then if((czy_ma_liczyc_zgodnosc_kategorii)and(czy_szablon_z_parametrami))then local nazwy_modul=require("Module:Nazwy"); local nazwa_kategorii=(args["aktualna kategoria"])and ('Category:'..args["aktualna kategoria"]) or nil; local tabela_nazw={}; local nazwa_strony_aktualnej=nazwy_modul["NAZWASTRONY"](nazwa_kategorii,tabela_nazw); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_kategorii,tabela_nazw); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni==nazwy_np_modul.Category)then local liczba_kategorii_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony_aktualnej,"subcats")+(((args["kategoria alternatywna jako podkategoria"])and(args["kategoria alternatywna jako podkategoria"]~="")) and -1 or 0); local liczba_kategorii_w_kategorii_alternatywnej=0; if(args["kategoria alternatywna"])then local iter=mw.text.gsplit(args["kategoria alternatywna"], "|", true ); for kategoria in iter do liczba_kategorii_w_kategorii_alternatywnej=liczba_kategorii_w_kategorii_alternatywnej+mw.site.stats.pagesInCategory(mw.text.trim(kategoria),"subcats"); end; end; if(liczba_kategorii_w_korzystanej_kategorii~=liczba_kategorii_w_kategorii_aktualnej+liczba_kategorii_w_kategorii_alternatywnej)then parametry_modul.DodajElementDoZbioru(tabela_kategorii,"Szablon łączna liczba stron w kategoriach - niezgodność kategorii"); end; end; end; end; local str_kategorie; if(parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_kategorii))then str_kategorie=p.Kategorie{args=tabela_kategorii,}; else str_kategorie=""; end; return liczba_stron_w_kategorii..str_kategorie; end; function p.DomniemanaNazwaSortowaniaStrony(frame) return p:DomniemanaNazwaSortowania(frame); end; function p.DomniemanaNazwaSortowania(self,frame) local pf=frame.getParent and frame:getParent() or frame; if(pf.args["nazwa przestrzeni nazw"] or pf.args["nazwa jednostki"])then return p.DomniemanaNazwaSortowaniaBezParametrowychJednostkowych(self,frame); end; local kategorie_nazwa_sortowania_modul=mw.loadData('Module:Kategorie/nazwa sortowania'); return kategorie_nazwa_sortowania_modul.domniemana_nazwa_sortowania; end; function p.DomniemanaNazwaSortowaniaBezParametrowychJednostkowych(self,frame) if(self.nazwa_sortowania)then return self.nazwa_sortowania;end; local pudelko_modul=require("Module:Pudełko"); local nazwa_sortowania=pudelko_modul["Nazwa jednostki 2"](frame); local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local category=nazwy_np_modul.Category; local ile_ksiazka=0; if(nazwa_przestrzeni_nazw==category)then nazwa_sortowania,ile_ksiazka=mw.ustring.gsub(nazwa_sortowania,"^Książka:","");end; local koncowka=mw.ustring.match(nazwa_sortowania,"%.([^/%.]+)$"); local inne_niz_mediawiki=((nazwa_przestrzeni_nazw==nazwy_np_modul.Template)or(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)); local czy_bez_prawego_ukosnika=false; if((inne_niz_mediawiki)or(nazwa_przestrzeni_nazw==nazwy_np_modul.MediaWiki))then if(inne_niz_mediawiki)then nazwa_sortowania,ile_ksiazka=mw.ustring.gsub(nazwa_sortowania,"^Książka:",""); end; local koncowka=mw.ustring.match(nazwa_sortowania,"%.([^/%.%s]+)$"); if(koncowka)then koncowka=mw.ustring.lower(koncowka); if((koncowka=="css")or((not inne_niz_mediawiki)and(koncowka=="js")))then if(mw.ustring.match(nazwa_sortowania,"/"))then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"(/[^/]*%.[^/%.%s]+)$",""); else nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"(.)(%.[^/%.%s]+)$","%1"); end; end; else local core=mw.ustring.match(nazwa_sortowania,"/(core)$") or mw.ustring.match(nazwa_sortowania,"/(silnik)$"); if(core)then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"/"..core.."$",""); end; end; else local core=mw.ustring.match(nazwa_sortowania,"/(Wersja do druku)$") or mw.ustring.match(nazwa_sortowania,"/(Do druku)$"); if(core)then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"/"..core.."$",""); else local okladka=mw.ustring.match(nazwa_sortowania,"/[Oo][Kk][LlŁł][Aa][Dd][Kk][Aa]$") if(okladka)then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"/[^/]+$",""); end; end; end; if((nazwa_przestrzeni_nazw~=nazwy_np_modul.Main)and(nazwa_przestrzeni_nazw~=nazwy_np_modul.Wikijunior))then if(ile_ksiazka==0)then local kategorie_sortowanie_modul=require("Module:Kategorie/sortowanie"); nazwa_sortowania,czy_bez_prawego_ukosnika=kategorie_sortowanie_modul.NazwaSortowaniaNazwyStrony(nazwa_sortowania); else czy_bez_prawego_ukosnika=not mw.ustring.match(nazwa_sortowania,"/"); if(czy_bez_prawego_ukosnika)then local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; nazwa_sortowania=nazwy_modul.NAZWASTRONY(nazwa_sortowania,tabela_nazw); end; end; end; if(not czy_bez_prawego_ukosnika)then nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"[/%s_]+$",""); nazwa_sortowania=mw.ustring.gsub(nazwa_sortowania,"^.*/([^/]+)$","%1"); end; self.nazwa_sortowania=nazwa_sortowania; return nazwa_sortowania; end; function p.CzyKategoriaDlaKategorii(frame) local pudelko_modul=require("Module:Pudełko"); local nazwa_przestrzeni=pudelko_modul["Nazwa przestrzeni nazw 2"](frame); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni==nazwy_np_modul.Category)then local nazwa_strony=pudelko_modul["Nazwa jednostki 2"](frame); local kategorie_dla_kategorii="Kategorie dla kategorii"; if(nazwa_strony==kategorie_dla_kategorii)then return nil;end; local techniczne_modul=require("Module:Techniczne"); local liczba_stron_istniejacych,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory("Category:"..kategorie_dla_kategorii); if(liczba_stron_istniejacych==0)then return nil;end; local liczba_stron_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony,"pages"); local liczba_podkategorii_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony,"subcats"); local liczba_plikow_w_kategorii_aktualnej=mw.site.stats.pagesInCategory(nazwa_strony,"files"); if((liczba_stron_w_kategorii_aktualnej>0)or (liczba_plikow_w_kategorii_aktualnej>0)or(liczba_podkategorii_w_kategorii_aktualnej==0))then return nil;end; return "tak"; end; return nil; end; function p.KategoriaDlaKategorii(frame) local czy_kategoria_dla_kategorii=p.CzyKategoriaDlaKategorii(frame) if(czy_kategoria_dla_kategorii)then local nazwa_sortowania=p:DomniemanaNazwaSortowania(frame); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; return "[["..Category..":Kategorie dla kategorii|"..nazwa_sortowania.."]]"; end; return ""; end; function p.Kategoria(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local kategoria2=args[1] and parametry_modul["Odstępy"]{[1]=args[1],[2]="tak",}; local kategoria=parametry_modul.CzyTak(kategoria2) and mw.getContentLanguage():ucfirst(kategoria2) or nil; local nazwa_sortowania=args[2] and parametry_modul["Odstępy"]{[1]=args[2],[2]="tak",}; local czy_nazwa_sortowania_aut=parametry_modul.CzyTak(args["nie sortuj nazwą"] or args["n"]); local czy_nie_kategorie_dla_kategorii=parametry_modul.CzyTak(args["nie kategorie dla kategorii"] or args["nk"]); local kategorie_dla_kategorii="Kategorie dla kategorii"; local function DodawanieKategorii() local sortuj=args["sortuj spacją"] or args["s"]; local techniczne_modul=require("Module:Techniczne"); local liczba_istniejacych_stron,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory(Category..":"..kategoria); local dotatkowekategorie=""; local nazwa_sortowania_aut; if(z_kategoriami_bledow)then if(liczba_istniejacych_stron==0)then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); if(tabela_uchwytow_stron[1][1])then dotatkowekategorie="[["..Category..":Szablon kategoria - nieistniejąca kategoria|"..nazwa_sortowania_aut.."]]"; else dotatkowekategorie="[["..Category..":Szablon kategoria - niepoprawna kategoria|"..nazwa_sortowania_aut.."]]"; end; end; end; if(parametry_modul.CzyTak(nazwa_sortowania))then return ((tabela_uchwytow_stron[1][1])and "[["..Category..":"..kategoria..((not czy_nazwa_sortowania_aut) and ("|"..((parametry_modul.CzyTak(sortuj))and " " or nazwa_sortowania)) or "").."]]" or "")..dotatkowekategorie..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); else if(parametry_modul.CzyTak(sortuj))then return ((tabela_uchwytow_stron[1][1])and "[["..Category..":"..kategoria.."| ]]" or "")..dotatkowekategorie..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); else nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); return ((tabela_uchwytow_stron[1][1])and "[["..Category..":"..kategoria..(((not czy_nazwa_sortowania_aut) and (not nazwa_sortowania)) and ("|"..nazwa_sortowania_aut) or "").."]]" or "")..dotatkowekategorie..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); end; end; end; if(parametry_modul.CzyTak(kategoria))then return DodawanieKategorii(); end; local title=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") local category=nazwy_np_modul.Category; if(title.nsText==category)then nazwa_sortowania,_=mw.ustring.gsub(title.text,"^Książka:(.*)$","%1");else nazwa_sortowania=title.text;end; --nazwa_sortowania,_=mw.ustring.gsub(nazwa_sortowania,"^.*/([^/]+)$","%1"); local nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); return "[["..Category..":Szablon kategoria - nazwa kategorii pusta lub niepodana|"..nazwa_sortowania_aut.."]]"..((czy_nie_kategorie_dla_kategorii or (kategoria==kategorie_dla_kategorii)) and "" or p.KategoriaDlaKategorii(frame)); end; function p.Kategorie(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local tablica_kategorii_bledow={}; local tablica_kategorii={}; local tablica_czy_kategorie_sie_powtarzaja={}; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local Category=nazwy_np_modul.Category; local parametry_modul=require("Module:Parametry"); local z_kategoriami_bledow=not parametry_modul.CzyTak(args["bez kategorii"]); local czy_sa_argumenty_ponumerowane=parametry_modul["CzySąElementyNienazwaneTablicy"](args); if(not czy_sa_argumenty_ponumerowane)then if(z_kategoriami_bledow)then local nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); return "[["..Category..":Szablon kategorie - nie podano nazw kategorii|"..nazwa_sortowania_aut.."]]"..(czy_nie_kategorie_dla_kategorii and "" or p.KategoriaDlaKategorii(frame)); else return (czy_nie_kategorie_dla_kategorii and "" or p.KategoriaDlaKategorii(frame)); end; end; local klucz_sortowania=args["klucz sortowania"] or args["k"]; local czy_klucz_sortowania=parametry_modul.CzyTak(klucz_sortowania); local czy_nie_kategorie_dla_kategorii=parametry_modul.CzyTak(args["nie kategorie dla kategorii"] or args["nk"]); local kategorie_dla_kategorii="Kategorie dla kategorii"; local techniczne_modul=require("Module:Techniczne"); local nazwa_sortowania_aut; for licznik,wartosc_argumentu in pairs(args)do if(type(licznik)=="number")then local kategoria=wartosc_argumentu and parametry_modul["Odstępy"]{[1]=wartosc_argumentu,[2]="tak",}; if((kategoria)and(kategoria~=""))then local _i=args["_"..licznik] or args["_i"]; local nazwa_sortowania=_i and parametry_modul["Odstępy"]{[1]=_i,[2]="tak",}; local sortuj=(not czy_klucz_sortowania) and (parametry_modul.CzyTak(args["sortuj spacją "..licznik] or args["s"..licznik] or args["sortuj spacją"] or args["s"])) or nil; local czy_nazwa_sortowania_aut=parametry_modul.CzyTak(args["nie sortuj nazwą "..licznik] or args["n"..licznik] or args["nie sortuj nazwą"] or args["n"]); local function DodawanieKategorii() local liczba_istniejacych_stron,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory(Category..":"..kategoria); if(z_kategoriami_bledow)then if(liczba_istniejacych_stron==0)then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); if(tabela_uchwytow_stron[1][1])then parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - nieistniejące kategorie|"..nazwa_sortowania_aut.."]]"); else parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - niepoprawne kategorie|"..nazwa_sortowania_aut.."]]"); end; end; end; local czy_sie_nie_powtarza=true; kategoria=mw.getContentLanguage():ucfirst(kategoria); if(tablica_czy_kategorie_sie_powtarzaja[kategoria])then if(z_kategoriami_bledow)then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - powtarzające się kategorie|"..nazwa_sortowania_aut.."]]"); end; czy_sie_nie_powtarza=false; end; if((czy_sie_nie_powtarza)and (tabela_uchwytow_stron[1][1]))then if(parametry_modul.CzyTak(nazwa_sortowania))then tablica_kategorii[#tablica_kategorii+1]="[["..Category..":"..kategoria..((not czy_klucz_sortowania)and("|"..((parametry_modul.CzyTak(sortuj))and " " or nazwa_sortowania)) or "").."]]"; else if(parametry_modul.CzyTak(sortuj))then tablica_kategorii[#tablica_kategorii+1]="[["..Category..":"..kategoria.."| ]]"; else nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); tablica_kategorii[#tablica_kategorii+1]="[["..Category..":"..kategoria..(((not czy_nazwa_sortowania_aut) and (not czy_klucz_sortowania)) and ("|"..nazwa_sortowania_aut) or "").."]]"; end; end; end; tablica_czy_kategorie_sie_powtarzaja[kategoria]=true; end; DodawanieKategorii(); elseif((kategoria)and(kategoria==""))then nazwa_sortowania_aut=p:DomniemanaNazwaSortowania(frame); parametry_modul.DodajElementDoZbioru(tablica_kategorii_bledow,"[["..Category..":Szablon kategorie - puste kategorie|"..nazwa_sortowania_aut.."]]"); end; end; end; local lancuch_kategorii=table.concat(tablica_kategorii,"")..table.concat(tablica_kategorii_bledow); if(lancuch_kategorii~="")then if(czy_klucz_sortowania)then klucz_sortowania=parametry_modul["Odstępy"]{[1]=klucz_sortowania,[2]="tak",}; local m=parametry_modul.PobierzFrameEwentualnieParent(frame); lancuch_kategorii=m:callParserFunction("DEFAULTSORT",klucz_sortowania)..lancuch_kategorii; end; end; return lancuch_kategorii..((czy_nie_kategorie_dla_kategorii or (tablica_czy_kategorie_sie_powtarzaja[kategorie_dla_kategorii])) and "" or p.KategoriaDlaKategorii(frame)); end; p["SzablonyDodająceKategorie"]=function() return "Szablony dodające kategorie"; end; function p.OpakujKategorie(frame) local pf=frame:getParent(); local wikikod=frame.args[1] or pf.args[1]; local _; wikikod,_=mw.ustring.gsub(wikikod,"__NOINDEX__","") local bez_kategorii=frame.args["bez kategorii wikikodu"] or pf.args["bez kategorii wikikodu"]; local z_nazwa_sortowania=frame.args["z nazwą sortowania"] or pf.args["z nazwą sortowania"]; local category; local tablica_category={}; local iterator=mw.ustring.gmatch(wikikod,"(%[%[%s*([^%[%]%|:%s]+)%s*:%s*[^%[%]]+%s*%]%])") local parametry_modul=require("Module:Parametry"); local function NazwaStronyKategorii(category) local NieprzetworzonaNazwaStronyKategorii=function(category) local nazwa=mw.ustring.match(category,"^%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|]*)") if(nazwa)then return nazwa;end; nazwa=mw.ustring.match(category,"^%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|]*)"); return nazwa; end; local nazwa=NieprzetworzonaNazwaStronyKategorii(category); if(nazwa)then return parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",}; end; return nil; end; local sprawdz_modul=require("Module:Sprawdź"); local nazwa_sprawdzania_parametrow_szablonu=sprawdz_modul["NazwaKategoriiSprawdzaniaParametrówSzablonu"](); local specjalne_modul=require("Module:Specjalne"); local nazwa_szablonow_dodajace_kategorie=p["SzablonyDodająceKategorie"](); local tab_innych_kategorii={ [nazwa_sprawdzania_parametrow_szablonu]=true, [nazwa_szablonow_dodajace_kategorie]=true, } local function TablicaKategoriiSzablonu(iterator) for category,przestrzen_kategorii in iterator do przestrzen_kategorii=mw.ustring.lower(przestrzen_kategorii); if((przestrzen_kategorii=="category")or(przestrzen_kategorii=="kategoria"))then local nazwa=NazwaStronyKategorii(category); if((nazwa)and(not tab_innych_kategorii[nazwa]))then table.insert(tablica_category,category); end; end; end; end; TablicaKategoriiSzablonu(iterator); local parametry_modul=require("Module:Parametry"); if(not parametry_modul["CzySąElementyTablicy"](tablica_category))then return wikikod;end; wikikod=mw.ustring.gsub(wikikod,"(%[%[%s*[^%[%]]+%s*%]%])",function(kategoria) for _,name in pairs(tablica_category) do if(name==kategoria)then return ""; end; end; end); if(parametry_modul.CzyTak(bez_kategorii))then return wikikod;end; local czy_z_nazwa_sortowania=parametry_modul.CzyTak(z_nazwa_sortowania); local ulramka=mw.html.create('ul'); ulramka:addClass('okul'); local pionowa=false; local kategorie_istnieja=frame.args["kategorie istnieją"] or pf.args["kategorie istnieją"]; local czy_kategorie_istnieja=parametry_modul.CzyTak(kategorie_istnieja); local parametry_modul=require("Module:Parametry") local function Nazwa(nazwa) local kategoria_istnieje=mw.ustring.match(nazwa,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|%[%]]+)%s*%]%]"); if(kategoria_istnieje)then return kategoria_istnieje; end; kategoria_istnieje=mw.ustring.match(nazwa,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*%]%]") return kategoria_istnieje; end; local function NazwaSort(nazwa) local kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=mw.ustring.match(nazwa,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]*)%s*%]%]"); if(kategoria_istnieje)then return kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej; end; local kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=mw.ustring.match(nazwa,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]*)%s*%]%]"); return kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej; end; local function tag(nazwa) local nazwa=mw.ustring.gsub(nazwa,"<%s*/?[^<>]->",""); return nazwa; end; local i=1; for _,nazwa in ipairs(tablica_category)do local nazwa2; local kategoria_istnieje=Nazwa(nazwa); if(kategoria_istnieje)then nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]"; else local nazwa_sortowania_kategorii_istniejacej; kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=NazwaSort(nazwa); if(kategoria_istnieje)then nazwa_sortowania_kategorii_istniejacej,_=tag(nazwa_sortowania_kategorii_istniejacej) nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]"..((czy_z_nazwa_sortowania)and ("<sup title=\""..nazwa_sortowania_kategorii_istniejacej.."\">["..i.."]</sup>") or ""); i=i+1; end; end; if((kategoria_istnieje)and((not czy_kategorie_istnieja)or((czy_kategorie_istnieja)and((kategoria_istnieje~="Szablon kategoria - nieistniejąca kategoria")and(kategoria_istnieje~="Szablon kategorie - nieistniejące kategorie")))) )then nazwa2=parametry_modul["Odstępy"]{[1]=nazwa2,[2]="tak",}; local liramka=mw.html.create('li'); liramka:addClass('okli'); if(pionowa)then liramka:addClass('oklilo'); pionowa=true; else pionowa=true; end; liramka:wikitext(nazwa2); ulramka:node(liramka); end; end; local kategorie="[[Specjalna:Kategorie|Kategorie]]:" local divramka=mw.html.create('div'); divramka:addClass('oks'); divramka:wikitext(kategorie); divramka:node(ulramka); local divcalosc=mw.html.create('div'); divcalosc:addClass('ocwkzks'); local divwikikod=mw.html.create('div'); divwikikod:addClass('obkwk'); divwikikod:wikitext(parametry_modul["CzyTakCiąg"](wikikod) and (wikikod) or ""); divcalosc:node(divwikikod); divcalosc:node(divramka) return tostring(divcalosc:allDone()); end; return p; itln37qsijdrltkx5b1vu4e38krnhwv Wikipedysta:44itold/Książki/Witech.sys 2 55002 544997 377722 2026-06-01T20:24:32Z Persino 2851 544997 wikitext text/x-wiki {{zapisane_książki}} :[[IRC/Okładka]] :[[IRC/Skrypty i boty]] 7oqkun6fyxhi3ratfmbnjvcnrp9c2xr Szablon:Opis kategorii/silnik 10 57974 545060 518094 2026-06-01T23:08:51Z Persino 2851 545060 wikitext text/x-wiki <includeonly><div class="strona-opis-kategorii-infoboksy siostrzane-zmienna-strona-opis-kategorii-infoboksy">{{#if:{{{siostrzane|}}}|<!-- -->{{{siostrzane}}}<!-- -->|}}</div><!-- --><div class="strona-opis-kategorii-infoboksy siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy">{{{siostrzane projekty|}}}</div><!-- --><div class="strona-opis-kategorii-infoboksy typ-kategorii-strona-opis-kategorii-infoboksy"><!-- -->{{#switch:{{FULLPAGENAME}} | {{ns:Category}}:Kategorie = {{Główna kategoria}} | {{Ns:Category}}:Metastrony Wikibooks = {{Główna kategoria}}{{Metakategoria}} | {{Ns:Category}}:Kategorie dla kategorii = {{Metakategoria|ukryta=tak|kontener=tak}}<!-- -->}}</div><div class="strona-opis-kategorii-infoboksy kategorie-dla-kategorii-strona-opis-kategorii-infoboksy">{{#if:{{{kategoria dla kategorii|}}}|{{Kategoria dla kategorii}}}}</div>{{#if:{{{bez kolumn|}}}||<div id="strona-opis-kategorii-overflow-zawartość" class="strona-opis-kategorii-overflow-zawartość mw-overflow-x" style="overflow:auto;width:auto;box-sizing:border-box;"><div id="strona-opis-kategorii-zawartość" class="strona-opis-kategorii-zawartość" style="min-width:{{#if:{{{tabela|}}}|auto|{{{minimalna szerokość kolumn|{{#if:{{{siostrzane}}}{{{siostrzane projekty|}}}|34.8125rem|50.375rem}}}}}}};width:auto;column-count:{{{liczba kolumn|{{#ifexpr:{{#invoke:Parametry|IlePodano|grupuje|uwagi|liczba stron|główne strony|portal|wikiprojekt|zobacz|szablony|zgłaszające|związane|zobacz opisy|dokumentacje|opis stron|przykłady|dalsze pozycje|zmiany}}>=4|2|1}}}}};border: solid #aaa 1px;padding:0.1875rem;background:white;box-sizing:border-box;">}}{{#if:{{{grupuje|}}}|<div> {{{grupuje}}}</div>|}}{{#if:{{{uwagi|}}}|<div> {{{uwagi}}}</div>|}}{{#if:{{{liczba stron|}}}|<div> {{{liczba stron}}}</div>|}}{{#if:{{{osobne grupują|}}}|<div>{{Strong|Osobne kategorie grupują}} {{{osobne grupują}}}</div> |}}{{#if:{{{główne strony|}}}|<div>{{Strong|Główne strony:}} {{{główne strony}}}</div> |}}{{#if:{{{portal|}}}|<div>{{Strong|Portal:}} {{#ifexist:Portal:{{{portal}}} |{{lo|{{{portal}}}|miano przestrzeni nazw=Portal}} |{{#if:{{#invoke:Wikidane|id|Portal:{{{portal}}}|idwiki=plwiki}} |{{lpt|{{{portal}}}}} |{{{portal}}} }} }}</div> }}{{#if:{{{wikiprojekt|}}}|<div>{{Strong|Wikiprojekt:}} {{#ifexist:Wikiprojekt:{{{wikiprojekt}}} |{{lo|{{{wikiprojekt}}}|miano przestrzeni nazw=Wikiprojekt}} |{{#if:{{#invoke:Wikidane|id|Wikiprojekt:{{{wikiprojekt}}}|idwiki=plwiki}} |{{lpw|{{{wikiprojekt}}}}} |{{{wikiprojekt}}} }} }}</div> }}{{#if:{{{zobacz|}}}|<div>{{Strong|Zobacz też:}} {{{zobacz}}}</div> |}}{{#if:{{{szablony|}}}|<div>{{Strong|Związane szablony:}} {{{szablony}}}</div> |}}{{#if:{{{zgłaszające|}}}|<div>{{Strong|Szablony zgłaszające:}} {{{zgłaszające}}}</div> |}}{{#if:{{{związane|}}}|<div>{{Strong|Powiązane kategorie:}} {{{związane}}}</div> |}}{{#if:{{{zobacz opisy|}}}|<div>{{Strong|Zobacz też opisy:}} {{{zobacz opisy}}}</div> |}}{{#if:{{{dokumentacje|}}}|<div>{{Strong|Powiązane dokumentacje:}} {{{dokumentacje}}}</div> |}}{{#if:{{{opis stron|}}}|<div>{{Strong|Opis stron:}} {{{opis stron}}}</div> |}}{{#if:{{{przykłady|}}}|<div> {{{przykłady}}}</div> |}}{{#if:{{{dalsze pozycje|}}}|<div> {{{dalsze pozycje}}}</div> |}}{{#if:{{{zmiany|}}}|<div> {{{zmiany}}}</div> |}}<!-- -->{{#if:{{{bez kolumn|}}}||</div></div>}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy - silnik, szablonu {{s|Opis kategorii}}. Zobacz też: {{s|Opis kategorii/start}}.}}{{Kategoria|Szablony - silniki}}</noinclude> 54s7mclyc6frey3lzqe8okw7krugdel 545063 545060 2026-06-01T23:25:39Z Persino 2851 545063 wikitext text/x-wiki <includeonly><div class="strona-opis-kategorii-infoboksy siostrzane-zmienna-strona-opis-kategorii-infoboksy">{{#if:{{{siostrzane|}}}|<!-- -->{{{siostrzane}}}<!-- -->|}}</div><!-- --><div class="strona-opis-kategorii-infoboksy siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy">{{{siostrzane projekty|}}}</div><!-- --><div class="strona-opis-kategorii-infoboksy typ-kategorii-strona-opis-kategorii-infoboksy"><!-- -->{{#switch:{{FULLPAGENAME}} | {{ns:Category}}:Kategorie = {{Główna kategoria}} | {{Ns:Category}}:Metastrony Wikibooks = {{Główna kategoria}}{{Metakategoria}} | {{Ns:Category}}:Kategorie dla kategorii = {{Metakategoria|ukryta=tak|kontener=tak}}<!-- -->}}</div><div class="strona-opis-kategorii-infoboksy kategorie-dla-kategorii-strona-opis-kategorii-infoboksy">{{#if:{{{kategoria dla kategorii|}}}|{{Kategoria dla kategorii}}}}</div>{{#if:{{{bez kolumn|}}}||<div id="strona-opis-kategorii-overflow-zawartość" class="strona-opis-kategorii-overflow-zawartość mw-overflow-x" style="overflow:auto;width:auto;box-sizing:border-box;"><div id="strona-opis-kategorii-zawartość" class="strona-opis-kategorii-zawartość" style="min-width:{{#if:{{{tabela|}}}|auto|{{{minimalna szerokość kolumn|{{#if:{{{siostrzane}}}{{{siostrzane projekty|}}}|34.8125rem|50.375rem}}}}}}};width:auto;column-rule: solid 1px;column-count:{{{liczba kolumn|{{#ifexpr:{{#invoke:Parametry|IlePodano|grupuje|uwagi|liczba stron|główne strony|portal|wikiprojekt|zobacz|szablony|zgłaszające|związane|zobacz opisy|dokumentacje|opis stron|przykłady|dalsze pozycje|zmiany}}>=4|2|1}}}}};border: solid #aaa 1px;padding:0.1875rem;background:white;box-sizing:border-box;">}}{{#if:{{{grupuje|}}}|<div> {{{grupuje}}}</div>|}}{{#if:{{{uwagi|}}}|<div> {{{uwagi}}}</div>|}}{{#if:{{{liczba stron|}}}|<div> {{{liczba stron}}}</div>|}}{{#if:{{{osobne grupują|}}}|<div>{{Strong|Osobne kategorie grupują}} {{{osobne grupują}}}</div> |}}{{#if:{{{główne strony|}}}|<div>{{Strong|Główne strony:}} {{{główne strony}}}</div> |}}{{#if:{{{portal|}}}|<div>{{Strong|Portal:}} {{#ifexist:Portal:{{{portal}}} |{{lo|{{{portal}}}|miano przestrzeni nazw=Portal}} |{{#if:{{#invoke:Wikidane|id|Portal:{{{portal}}}|idwiki=plwiki}} |{{lpt|{{{portal}}}}} |{{{portal}}} }} }}</div> }}{{#if:{{{wikiprojekt|}}}|<div>{{Strong|Wikiprojekt:}} {{#ifexist:Wikiprojekt:{{{wikiprojekt}}} |{{lo|{{{wikiprojekt}}}|miano przestrzeni nazw=Wikiprojekt}} |{{#if:{{#invoke:Wikidane|id|Wikiprojekt:{{{wikiprojekt}}}|idwiki=plwiki}} |{{lpw|{{{wikiprojekt}}}}} |{{{wikiprojekt}}} }} }}</div> }}{{#if:{{{zobacz|}}}|<div>{{Strong|Zobacz też:}} {{{zobacz}}}</div> |}}{{#if:{{{szablony|}}}|<div>{{Strong|Związane szablony:}} {{{szablony}}}</div> |}}{{#if:{{{zgłaszające|}}}|<div>{{Strong|Szablony zgłaszające:}} {{{zgłaszające}}}</div> |}}{{#if:{{{związane|}}}|<div>{{Strong|Powiązane kategorie:}} {{{związane}}}</div> |}}{{#if:{{{zobacz opisy|}}}|<div>{{Strong|Zobacz też opisy:}} {{{zobacz opisy}}}</div> |}}{{#if:{{{dokumentacje|}}}|<div>{{Strong|Powiązane dokumentacje:}} {{{dokumentacje}}}</div> |}}{{#if:{{{opis stron|}}}|<div>{{Strong|Opis stron:}} {{{opis stron}}}</div> |}}{{#if:{{{przykłady|}}}|<div> {{{przykłady}}}</div> |}}{{#if:{{{dalsze pozycje|}}}|<div> {{{dalsze pozycje}}}</div> |}}{{#if:{{{zmiany|}}}|<div> {{{zmiany}}}</div> |}}<!-- -->{{#if:{{{bez kolumn|}}}||</div></div>}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy - silnik, szablonu {{s|Opis kategorii}}. Zobacz też: {{s|Opis kategorii/start}}.}}{{Kategoria|Szablony - silniki}}</noinclude> pemxq34l94rb1elhjwzpuwsdn5si508 545066 545063 2026-06-01T23:29:58Z Persino 2851 545066 wikitext text/x-wiki <includeonly><div class="strona-opis-kategorii-infoboksy siostrzane-zmienna-strona-opis-kategorii-infoboksy">{{#if:{{{siostrzane|}}}|<!-- -->{{{siostrzane}}}<!-- -->|}}</div><!-- --><div class="strona-opis-kategorii-infoboksy siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy">{{{siostrzane projekty|}}}</div><!-- --><div class="strona-opis-kategorii-infoboksy typ-kategorii-strona-opis-kategorii-infoboksy"><!-- -->{{#switch:{{FULLPAGENAME}} | {{ns:Category}}:Kategorie = {{Główna kategoria}} | {{Ns:Category}}:Metastrony Wikibooks = {{Główna kategoria}}{{Metakategoria}} | {{Ns:Category}}:Kategorie dla kategorii = {{Metakategoria|ukryta=tak|kontener=tak}}<!-- -->}}</div><div class="strona-opis-kategorii-infoboksy kategorie-dla-kategorii-strona-opis-kategorii-infoboksy">{{#if:{{{kategoria dla kategorii|}}}|{{Kategoria dla kategorii}}}}</div>{{#if:{{{bez kolumn|}}}||<div id="strona-opis-kategorii-overflow-zawartość" class="strona-opis-kategorii-overflow-zawartość mw-overflow-x" style="overflow:auto;width:auto;box-sizing:border-box;"><div id="strona-opis-kategorii-zawartość" class="strona-opis-kategorii-zawartość" style="min-width:{{#if:{{{tabela|}}}|auto|{{{minimalna szerokość kolumn|{{#if:{{{siostrzane}}}{{{siostrzane projekty|}}}|34.8125rem|50.375rem}}}}}}};width:auto;column-rule:solid 1px;column-count:{{{liczba kolumn|2}}}{{#if:{{{grupuje|}}}|<div> {{{grupuje}}}</div>|}}{{#if:{{{uwagi|}}}|<div> {{{uwagi}}}</div>|}}{{#if:{{{liczba stron|}}}|<div> {{{liczba stron}}}</div>|}}{{#if:{{{osobne grupują|}}}|<div>{{Strong|Osobne kategorie grupują}} {{{osobne grupują}}}</div> |}}{{#if:{{{główne strony|}}}|<div>{{Strong|Główne strony:}} {{{główne strony}}}</div> |}}{{#if:{{{portal|}}}|<div>{{Strong|Portal:}} {{#ifexist:Portal:{{{portal}}} |{{lo|{{{portal}}}|miano przestrzeni nazw=Portal}} |{{#if:{{#invoke:Wikidane|id|Portal:{{{portal}}}|idwiki=plwiki}} |{{lpt|{{{portal}}}}} |{{{portal}}} }} }}</div> }}{{#if:{{{wikiprojekt|}}}|<div>{{Strong|Wikiprojekt:}} {{#ifexist:Wikiprojekt:{{{wikiprojekt}}} |{{lo|{{{wikiprojekt}}}|miano przestrzeni nazw=Wikiprojekt}} |{{#if:{{#invoke:Wikidane|id|Wikiprojekt:{{{wikiprojekt}}}|idwiki=plwiki}} |{{lpw|{{{wikiprojekt}}}}} |{{{wikiprojekt}}} }} }}</div> }}{{#if:{{{zobacz|}}}|<div>{{Strong|Zobacz też:}} {{{zobacz}}}</div> |}}{{#if:{{{szablony|}}}|<div>{{Strong|Związane szablony:}} {{{szablony}}}</div> |}}{{#if:{{{zgłaszające|}}}|<div>{{Strong|Szablony zgłaszające:}} {{{zgłaszające}}}</div> |}}{{#if:{{{związane|}}}|<div>{{Strong|Powiązane kategorie:}} {{{związane}}}</div> |}}{{#if:{{{zobacz opisy|}}}|<div>{{Strong|Zobacz też opisy:}} {{{zobacz opisy}}}</div> |}}{{#if:{{{dokumentacje|}}}|<div>{{Strong|Powiązane dokumentacje:}} {{{dokumentacje}}}</div> |}}{{#if:{{{opis stron|}}}|<div>{{Strong|Opis stron:}} {{{opis stron}}}</div> |}}{{#if:{{{przykłady|}}}|<div> {{{przykłady}}}</div> |}}{{#if:{{{dalsze pozycje|}}}|<div> {{{dalsze pozycje}}}</div> |}}{{#if:{{{zmiany|}}}|<div> {{{zmiany}}}</div> |}}<!-- -->{{#if:{{{bez kolumn|}}}||</div></div>}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy - silnik, szablonu {{s|Opis kategorii}}. Zobacz też: {{s|Opis kategorii/start}}.}}{{Kategoria|Szablony - silniki}}</noinclude> 1186tdoooglqwtdgos2o2vvt59o56mt 545067 545066 2026-06-01T23:33:20Z Persino 2851 545067 wikitext text/x-wiki <includeonly><div class="strona-opis-kategorii-infoboksy siostrzane-zmienna-strona-opis-kategorii-infoboksy">{{#if:{{{siostrzane|}}}|<!-- -->{{{siostrzane}}}<!-- -->|}}</div><!-- --><div class="strona-opis-kategorii-infoboksy siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy">{{{siostrzane projekty|}}}</div><!-- --><div class="strona-opis-kategorii-infoboksy typ-kategorii-strona-opis-kategorii-infoboksy"><!-- -->{{#switch:{{FULLPAGENAME}} | {{ns:Category}}:Kategorie = {{Główna kategoria}} | {{Ns:Category}}:Metastrony Wikibooks = {{Główna kategoria}}{{Metakategoria}} | {{Ns:Category}}:Kategorie dla kategorii = {{Metakategoria|ukryta=tak|kontener=tak}}<!-- -->}}</div><div class="strona-opis-kategorii-infoboksy kategorie-dla-kategorii-strona-opis-kategorii-infoboksy">{{#if:{{{kategoria dla kategorii|}}}|{{Kategoria dla kategorii}}}}</div>{{#if:{{{bez kolumn|}}}||<div id="strona-opis-kategorii-overflow-zawartość" class="strona-opis-kategorii-overflow-zawartość mw-overflow-x" style="overflow:auto;width:auto;box-sizing:border-box;"><div id="strona-opis-kategorii-zawartość" class="strona-opis-kategorii-zawartość" style="min-width:{{#if:{{{tabela|}}}|auto|{{{minimalna szerokość kolumn|{{#if:{{{siostrzane}}}{{{siostrzane projekty|}}}|34.8125rem|50.375rem}}}}}}};width:auto;column-rule:solid 1px;column-count:{{{liczba kolumn|2}}};border: solid #aaa 1px;padding:0.1875rem;background:white;box-sizing:border-box;">}}{{#if:{{{grupuje|}}}|<div> {{{grupuje}}}</div>|}}{{#if:{{{uwagi|}}}|<div> {{{uwagi}}}</div>|}}{{#if:{{{liczba stron|}}}|<div> {{{liczba stron}}}</div>|}}{{#if:{{{osobne grupują|}}}|<div>{{Strong|Osobne kategorie grupują}} {{{osobne grupują}}}</div> |}}{{#if:{{{główne strony|}}}|<div>{{Strong|Główne strony:}} {{{główne strony}}}</div> |}}{{#if:{{{portal|}}}|<div>{{Strong|Portal:}} {{#ifexist:Portal:{{{portal}}} |{{lo|{{{portal}}}|miano przestrzeni nazw=Portal}} |{{#if:{{#invoke:Wikidane|id|Portal:{{{portal}}}|idwiki=plwiki}} |{{lpt|{{{portal}}}}} |{{{portal}}} }} }}</div> }}{{#if:{{{wikiprojekt|}}}|<div>{{Strong|Wikiprojekt:}} {{#ifexist:Wikiprojekt:{{{wikiprojekt}}} |{{lo|{{{wikiprojekt}}}|miano przestrzeni nazw=Wikiprojekt}} |{{#if:{{#invoke:Wikidane|id|Wikiprojekt:{{{wikiprojekt}}}|idwiki=plwiki}} |{{lpw|{{{wikiprojekt}}}}} |{{{wikiprojekt}}} }} }}</div> }}{{#if:{{{zobacz|}}}|<div>{{Strong|Zobacz też:}} {{{zobacz}}}</div> |}}{{#if:{{{szablony|}}}|<div>{{Strong|Związane szablony:}} {{{szablony}}}</div> |}}{{#if:{{{zgłaszające|}}}|<div>{{Strong|Szablony zgłaszające:}} {{{zgłaszające}}}</div> |}}{{#if:{{{związane|}}}|<div>{{Strong|Powiązane kategorie:}} {{{związane}}}</div> |}}{{#if:{{{zobacz opisy|}}}|<div>{{Strong|Zobacz też opisy:}} {{{zobacz opisy}}}</div> |}}{{#if:{{{dokumentacje|}}}|<div>{{Strong|Powiązane dokumentacje:}} {{{dokumentacje}}}</div> |}}{{#if:{{{opis stron|}}}|<div>{{Strong|Opis stron:}} {{{opis stron}}}</div> |}}{{#if:{{{przykłady|}}}|<div> {{{przykłady}}}</div> |}}{{#if:{{{dalsze pozycje|}}}|<div> {{{dalsze pozycje}}}</div> |}}{{#if:{{{zmiany|}}}|<div> {{{zmiany}}}</div> |}}<!-- -->{{#if:{{{bez kolumn|}}}||</div></div>}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy - silnik, szablonu {{s|Opis kategorii}}. Zobacz też: {{s|Opis kategorii/start}}.}}{{Kategoria|Szablony - silniki}}</noinclude> 9valygbn7j5nu55huvsft4kaw4ax989 Szablon:Opis kategorii/styles.css 10 58001 545061 524825 2026-06-01T23:19:51Z Persino 2851 545061 sanitized-css text/css /**/ @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ column-count:1; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible), .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne div.noprint > table:not(.collapsible), .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).plainlinks, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).noprint, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr{ display:block; width:100% !important; box-sizing:border-box !important; margin:0 !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ display:block; box-sizing:border-box !important; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ width:calc( 100% - 0.25rem) !important; margin:0.125rem !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td{ width:100% !important; margin:0 !important; } } /**/ body.skin-minerva div.strona-opis-kategorii-overflow{ margin-top:0.25rem; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox{ margin-top:0 !important; margin-bottom:0.25rem !important; margin-left:0.25rem !important; } @media all and (min-width:745px)and (min-device-width: 745px) and (min-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:first-child{ margin-top:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-bottom:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-top:0.25rem !important; } } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek > div:last-child{ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible){ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ margin-top:0 !important; margin-bottom:0.25rem; } @media all and (max-width:474px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > caption > center{ text-align:left; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow{ max-width:100vw; width:100%; overflow:visible; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ min-width:auto; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ display:flex !important; flex-direction:column !important; width:100% !important; max-width:100%; min-width:auto !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek{ order:1 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > tbody{ column-width:12.25rem; display:block; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-strona-opis-kategorii-infoboksy{ order:2 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-projekty-opis-infobox{ order:3 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-siostrzane-strona-opis-kategorii-infoboksy{ order:4 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-dla-kategorii-strona-opis-kategorii-infoboksy{ order:5 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ width:100% !important; box-sizing:border-box !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość{ order:6 !important; width:auto !important; box-sizing:border-box; min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; width: 100% !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr{ display:flex; flex-direction:row; align-items: stretch; justify-content: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:first-child{ display:flex; flex-direction:column; align-items: stretch; justify-content: center; width:auto !important; border: none; padding: 0.125rem 0px 0.125rem 0.9rem; text-align: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:not(:first-child), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:not(:first-child){ width:100% !important; border: none; padding: 0.25rem 0.9rem; width: 100%; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child{ margin:0 !important; width:100% !important; } /*div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.wikitable{ margin-bottom:0 !important; }*/ } /**/ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child{ margin-top: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child{ margin-bottom: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p + ul, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p +ul{ margin-top: -0.6em !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p{ font-size:inherit; line-height:inherit; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii.fonty_opis_kategorii{ font-size:calc(0.8125rem * 1.036); line-height:1.4em; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna{ margin:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div{ border: 1px solid #ccc; border-radius: 5px; padding:0.1875rem 0.25rem; margin:0.1875rem 0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child{ margin-top:0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child{ margin-bottom:0; } div.strona-opis-kategorii-overflow.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x{ padding-bottom:5px; } /*{{Kategoria|Szablony - arkusze stylów}}*/ 64qdoigp3vwk21y1swdkemb34u6fnfp 545062 545061 2026-06-01T23:20:15Z Persino 2851 545062 sanitized-css text/css /**/ @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ column-count:1 !important; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible), .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne div.noprint > table:not(.collapsible), .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).plainlinks, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).noprint, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr{ display:block; width:100% !important; box-sizing:border-box !important; margin:0 !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ display:block; box-sizing:border-box !important; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ width:calc( 100% - 0.25rem) !important; margin:0.125rem !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td{ width:100% !important; margin:0 !important; } } /**/ body.skin-minerva div.strona-opis-kategorii-overflow{ margin-top:0.25rem; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox{ margin-top:0 !important; margin-bottom:0.25rem !important; margin-left:0.25rem !important; } @media all and (min-width:745px)and (min-device-width: 745px) and (min-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:first-child{ margin-top:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-bottom:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-top:0.25rem !important; } } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek > div:last-child{ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible){ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ margin-top:0 !important; margin-bottom:0.25rem; } @media all and (max-width:474px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > caption > center{ text-align:left; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow{ max-width:100vw; width:100%; overflow:visible; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ min-width:auto; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ display:flex !important; flex-direction:column !important; width:100% !important; max-width:100%; min-width:auto !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek{ order:1 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > tbody{ column-width:12.25rem; display:block; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-strona-opis-kategorii-infoboksy{ order:2 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-projekty-opis-infobox{ order:3 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-siostrzane-strona-opis-kategorii-infoboksy{ order:4 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-dla-kategorii-strona-opis-kategorii-infoboksy{ order:5 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ width:100% !important; box-sizing:border-box !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość{ order:6 !important; width:auto !important; box-sizing:border-box; min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; width: 100% !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr{ display:flex; flex-direction:row; align-items: stretch; justify-content: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:first-child{ display:flex; flex-direction:column; align-items: stretch; justify-content: center; width:auto !important; border: none; padding: 0.125rem 0px 0.125rem 0.9rem; text-align: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:not(:first-child), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:not(:first-child){ width:100% !important; border: none; padding: 0.25rem 0.9rem; width: 100%; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child{ margin:0 !important; width:100% !important; } /*div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.wikitable{ margin-bottom:0 !important; }*/ } /**/ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child{ margin-top: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child{ margin-bottom: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p + ul, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p +ul{ margin-top: -0.6em !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p{ font-size:inherit; line-height:inherit; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii.fonty_opis_kategorii{ font-size:calc(0.8125rem * 1.036); line-height:1.4em; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna{ margin:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div{ border: 1px solid #ccc; border-radius: 5px; padding:0.1875rem 0.25rem; margin:0.1875rem 0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child{ margin-top:0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child{ margin-bottom:0; } div.strona-opis-kategorii-overflow.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x{ padding-bottom:5px; } /*{{Kategoria|Szablony - arkusze stylów}}*/ q25b5wber3j7t1epmq245jtpwkitme9 545064 545062 2026-06-01T23:26:02Z Persino 2851 545064 sanitized-css text/css /**/ @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ column-count:1 !important; column-rule:unset; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible), .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne div.noprint > table:not(.collapsible), .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).plainlinks, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).noprint, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr{ display:block; width:100% !important; box-sizing:border-box !important; margin:0 !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ display:block; box-sizing:border-box !important; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ width:calc( 100% - 0.25rem) !important; margin:0.125rem !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td{ width:100% !important; margin:0 !important; } } /**/ body.skin-minerva div.strona-opis-kategorii-overflow{ margin-top:0.25rem; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox{ margin-top:0 !important; margin-bottom:0.25rem !important; margin-left:0.25rem !important; } @media all and (min-width:745px)and (min-device-width: 745px) and (min-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:first-child{ margin-top:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-bottom:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-top:0.25rem !important; } } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek > div:last-child{ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible){ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ margin-top:0 !important; margin-bottom:0.25rem; } @media all and (max-width:474px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > caption > center{ text-align:left; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow{ max-width:100vw; width:100%; overflow:visible; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ min-width:auto; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ display:flex !important; flex-direction:column !important; width:100% !important; max-width:100%; min-width:auto !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek{ order:1 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > tbody{ column-width:12.25rem; display:block; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-strona-opis-kategorii-infoboksy{ order:2 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-projekty-opis-infobox{ order:3 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-siostrzane-strona-opis-kategorii-infoboksy{ order:4 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-dla-kategorii-strona-opis-kategorii-infoboksy{ order:5 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ width:100% !important; box-sizing:border-box !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość{ order:6 !important; width:auto !important; box-sizing:border-box; min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; width: 100% !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr{ display:flex; flex-direction:row; align-items: stretch; justify-content: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:first-child{ display:flex; flex-direction:column; align-items: stretch; justify-content: center; width:auto !important; border: none; padding: 0.125rem 0px 0.125rem 0.9rem; text-align: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:not(:first-child), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:not(:first-child){ width:100% !important; border: none; padding: 0.25rem 0.9rem; width: 100%; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child{ margin:0 !important; width:100% !important; } /*div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.wikitable{ margin-bottom:0 !important; }*/ } /**/ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child{ margin-top: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child{ margin-bottom: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p + ul, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p +ul{ margin-top: -0.6em !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p{ font-size:inherit; line-height:inherit; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii.fonty_opis_kategorii{ font-size:calc(0.8125rem * 1.036); line-height:1.4em; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna{ margin:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div{ border: 1px solid #ccc; border-radius: 5px; padding:0.1875rem 0.25rem; margin:0.1875rem 0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child{ margin-top:0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child{ margin-bottom:0; } div.strona-opis-kategorii-overflow.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x{ padding-bottom:5px; } /*{{Kategoria|Szablony - arkusze stylów}}*/ 0fpcbf7zuuywku7nabvg6izkcu45aw2 545065 545064 2026-06-01T23:26:26Z Persino 2851 545065 sanitized-css text/css /**/ @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ column-count:unset !important; column-rule:unset !important; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible), .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne div.noprint > table:not(.collapsible), .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).plainlinks, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr, .strona_start-inne.mobilne table:not(.collapsible).noprint, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr{ display:block; width:100% !important; box-sizing:border-box !important; margin:0 !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ display:block; box-sizing:border-box !important; } .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > caption, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > th, .strona_start-inne.mobilne div.plainlinks > table:not(.collapsible) > tbody > tr > td, .strona_start-inne.mobilne div.noprint > table:not(.collapsible) > tbody > tr > td{ width:calc( 100% - 0.25rem) !important; margin:0.125rem !important; } .strona_start-inne.mobilne table:not(.collapsible).plainlinks > caption, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).plainlinks > tbody > tr > td, .strona_start-inne.mobilne table:not(.collapsible).noprint > caption, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > th, .strona_start-inne.mobilne table:not(.collapsible).noprint > tbody > tr > td{ width:100% !important; margin:0 !important; } } /**/ body.skin-minerva div.strona-opis-kategorii-overflow{ margin-top:0.25rem; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox{ margin-top:0 !important; margin-bottom:0.25rem !important; margin-left:0.25rem !important; } @media all and (min-width:745px)and (min-device-width: 745px) and (min-device-height: 745px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > style + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + table.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > link + div.infobox:nth-child(3):nth-of-type(1), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:first-child{ margin-top:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-bottom:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > table.infobox:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek:first-child ~ div.siostrzane-zmienna-strona-opis-kategorii-infoboksy:not(:empty) + div.strona-opis-kategorii-infoboksy.siostrzane-projekty-kategorii-strona-opis-kategorii-infoboksy > div.infobox:last-child{ margin-top:0.25rem !important; } } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.mójNagłówek > div:last-child{ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible){ margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ margin-top:0 !important; margin-bottom:0.25rem; } @media all and (max-width:474px){ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > caption > center{ text-align:left; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ div.strona-opis-kategorii-overflow{ max-width:100vw; width:100%; overflow:visible; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ min-width:auto; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii{ display:flex !important; flex-direction:column !important; width:100% !important; max-width:100%; min-width:auto !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek{ order:1 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.infobox, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0.25rem !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.siostrzane_projekty.noprint.plainlinks > tbody{ column-width:12.25rem; display:block; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-strona-opis-kategorii-infoboksy{ order:2 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.siostrzane-projekty-opis-infobox{ order:3 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-siostrzane-strona-opis-kategorii-infoboksy{ order:4 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy.kategorie-dla-kategorii-strona-opis-kategorii-infoboksy{ order:5 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > .mójNagłówek, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > .szablon_nawigacyjny_konserwacyjny, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table.noprint.plainlinks:not(.collapsible), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > div.noprint.plainlinks{ width:100% !important; box-sizing:border-box !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość{ order:6 !important; width:auto !important; box-sizing:border-box; min-width:auto !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > th > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość{ min-width:auto !important; width: 100% !important; box-sizing:border-box; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr{ display:flex; flex-direction:row; align-items: stretch; justify-content: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:first-child{ display:flex; flex-direction:column; align-items: stretch; justify-content: center; width:auto !important; border: none; padding: 0.125rem 0px 0.125rem 0.9rem; text-align: center; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > th:not(:first-child), div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-infoboksy > table:not(.siostrzane_projekty):not(.opis_kategorii-tabela_nawigacyjna) > tbody > tr > td:not(:first-child){ width:100% !important; border: none; padding: 0.25rem 0.9rem; width: 100%; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > th:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td:first-child{ margin:0 !important; width:100% !important; } /*div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.wikitable{ margin-bottom:0 !important; }*/ } /**/ div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:first-child{ margin-top: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p:last-child{ margin-bottom: 0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p + ul, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p +ul{ margin-top: -0.6em !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div > p{ font-size:inherit; line-height:inherit; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii.fonty_opis_kategorii{ font-size:calc(0.8125rem * 1.036); line-height:1.4em; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna{ margin:0 !important; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div{ border: 1px solid #ccc; border-radius: 5px; padding:0.1875rem 0.25rem; margin:0.1875rem 0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:first-child{ margin-top:0; } div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość > div.strona-opis-kategorii-zawartość > div:last-child{ margin-bottom:0; } div.strona-opis-kategorii-overflow.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x, div.strona-opis-kategorii-overflow > div.strona-opis-kategorii > table.tabela_nawigacyjna.opis_kategorii-tabela_nawigacyjna > tbody > tr > td > div.strona-opis-kategorii-overflow-zawartość.mw-overflow-x.mw-scrollbar-overflow-x{ padding-bottom:5px; } /*{{Kategoria|Szablony - arkusze stylów}}*/ baratfmoyt99qj162ndnn5g0loji8eg Szablon:Wersja do czytania 10 58153 544839 544766 2026-06-01T15:53:13Z Persino 2851 544839 wikitext text/x-wiki <templatestyles src="Szablon:Wersja do druku/styles.css" />{{Div|klasa=noprint szablon_wersji_linków_do_stron wersja_do_czytania| {{Div|{{Div|{{Plik|plik=Book template.svg|rozmiar=50px|opis=Wikibooks|rys=tak}}}}}} {{Div|{{Div|Jest dostępny podręcznik w formie biblii: {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}} {{Small|({{Span|klasa=plainlinks|{{LinkURL|strona={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|parametry=action=edit|nazwa=edycja}}}})}}, w wersji do czytania.}}}}}}<!-- -->{{#switch:{{NAMESPACE}}||Wikijunior={{Kategoria|Podręczniki z wersją do czytania}}}}<!-- --><noinclude>{{Dokumentacja}}</noinclude> r8d3djfuc14erqysap3mc7jif9pdu72 Moduł:Szablonowe 828 58954 544819 544817 2026-06-01T12:47:18Z Persino 2851 544819 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|=]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatabelka=getmetatable(tworzona_tabela); local len=__metatabelka.__len(tworzona_tabela) ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatabelka=getmetatable(tworzona_tabela); __metatabelka.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.__MetaFunkcjaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- local czy_ramka_lua={tabela_modyfikatorow and tabela_modyfikatorow["#invoke:"] or nil,false,}; ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local __metatabelka=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory or {})do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatabelka)then for name,value in pairs(args or {})do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatabelka.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2=mw.ustring.gsub(value[2],"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; j97bx1540upgmc1s32ro1i1q8wwp33a 544820 544819 2026-06-01T12:53:41Z Persino 2851 544820 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|=]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatabelka=getmetatable(tworzona_tabela); local len=__metatabelka.__len(tworzona_tabela) ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatabelka=getmetatable(tworzona_tabela); __metatabelka.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.__MetaFunkcjaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- local czy_ramka_lua={tabela_modyfikatorow and tabela_modyfikatorow["#invoke:"] or nil,false,}; ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local __metatabelka=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory or {})do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatabelka)then for name,value in pairs(args or {})do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatabelka.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; 3ouf3q2t13k12ezu6gkxdssof0k0qax 544821 544820 2026-06-01T13:11:48Z Persino 2851 544821 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatabelka=getmetatable(tworzona_tabela); local len=__metatabelka.__len(tworzona_tabela) ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatabelka=getmetatable(tworzona_tabela); __metatabelka.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.__MetaFunkcjaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local __metatabelka=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory or {})do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatabelka)then for name,value in pairs(args or {})do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatabelka.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; a0tzlajsalrs35zdkzk6pwzg67zo0ye 544822 544821 2026-06-01T13:23:13Z Persino 2851 544822 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatabelka=getmetatable(tworzona_tabela); local len=__metatabelka.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatabelka=getmetatable(tworzona_tabela); __metatabelka.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.__MetaFunkcjaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local __metatabelka=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory or {})do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatabelka)then for name,value in pairs(args or {})do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatabelka.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; ncyidrwk4nxcyljf0x98y0sccfa4fls 544823 544822 2026-06-01T13:50:55Z Persino 2851 544823 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatabelka=getmetatable(tworzona_tabela); local len=__metatabelka.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatabelka=getmetatable(tworzona_tabela); __metatabelka.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.__MetaFunkcjaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatabelka=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatabelka)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatabelka.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; eone2t20lyvcxuvhtcj58ba7hkhzzkf 544824 544823 2026-06-01T13:58:31Z Persino 2851 544824 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatabelka=getmetatable(tworzona_tabela); local len=__metatabelka.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatabelka=getmetatable(tworzona_tabela); __metatabelka.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.__MetaFunkcjaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatabelka.PobierzGeneralnaTablica(value); local __metatabelka2={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka2); local value2={}; setmetatable(value2,__metatabelka2); local tabelka_metatable2=__metatabelka2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatabelka={}; p.__MetaFunkcjaParsowanieSzablonu(__metatabelka); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatabelka); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatabelka=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatabelka)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatabelka.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; ncn367e0jyu5s3c0gucml9ukdnihzx0 544826 544824 2026-06-01T14:10:28Z Persino 2851 544826 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatablica=getmetatable(tworzona_tabela); local len=__metatablica.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatablica=getmetatable(tworzona_tabela); __metatablica.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.__MetaFunkcjaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(value); local __metatablica2={}; p.__MetaFunkcjaParsowanieSzablonu(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatablica={}; p.__MetaFunkcjaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatablica={}; p.__MetaFunkcjaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatablica=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatablica)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; 0yokxonwa0gp3p7lic862teznrxiou0 544830 544826 2026-06-01T14:40:31Z Persino 2851 544830 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatablica=getmetatable(tworzona_tabela); local len=__metatablica.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatablica=getmetatable(tworzona_tabela); __metatablica.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.MetaTabelkaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(value); local __metatablica2={}; p.MetaTabelkaParsowanieSzablonu(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatablica=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatablica)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; j9v30084o8zpcuej02ckxt9thig3gp0 544831 544830 2026-06-01T14:58:01Z Persino 2851 544831 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatablica=getmetatable(tworzona_tabela); local len=__metatablica.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatablica=getmetatable(tworzona_tabela); __metatablica.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.MetaTabelkaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then local tab=tablica[klucz]; if(not tab)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else if(parametry_modul.TypeTable(wartosc))then tab[1]=wartosc[1]; tab[3]=wartosc[2]; else tab[1]=wartosc; end; end; else tablica[klucz]=nil; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(value); local __metatablica2={}; p.MetaTabelkaParsowanieSzablonu(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatablica=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatablica)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; l615too49rqqwkey66lu8zxsykoyg1j 544832 544831 2026-06-01T15:06:17Z Persino 2851 544832 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatablica=getmetatable(tworzona_tabela); local len=__metatablica.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatablica=getmetatable(tworzona_tabela); __metatablica.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.MetaTabelkaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then local tab=tablica[klucz]; if(not tab)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else if(parametry_modul.TypeTable(wartosc))then tab[1]=wartosc[1]; tab[3]=wartosc[2]; else tab[1]=wartosc; end; end; else local tab=tablica[klucz]; local i=tab[2]; tablica[klucz]=nil; ---- for name,value in pairs(tab)do local i2=value[2]; if(i2>i)then value[2]=value[2]-1; end; end; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(value); local __metatablica2={}; p.MetaTabelkaParsowanieSzablonu(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatablica=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatablica)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; 60vrjhiy1awl70bcvxyz5m60wz0n1pk 544833 544832 2026-06-01T15:08:53Z Persino 2851 544833 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatablica=getmetatable(tworzona_tabela); local len=__metatablica.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatablica=getmetatable(tworzona_tabela); __metatablica.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.MetaTabelkaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then local tab=tablica[klucz]; if(not tab)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else if(parametry_modul.TypeTable(wartosc))then tab[1]=wartosc[1]; tab[3]=wartosc[2]; else tab[1]=wartosc; end; end; else local tab=tablica[klucz]; local i=tab[2]; tablica[klucz]=nil; ---- for name,value in pairs(tablica)do local i2=value[2]; if(i2>i)then value[2]=value[2]-1; end; end; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(value); local __metatablica2={}; p.MetaTabelkaParsowanieSzablonu(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatablica=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatablica)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; 33tgm8o3t8g3vjf8q68roxq3bqii4xq 544834 544833 2026-06-01T15:24:10Z Persino 2851 544834 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatablica=getmetatable(tworzona_tabela); local len=__metatablica.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatablica=getmetatable(tworzona_tabela); __metatablica.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.MetaTabelkaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then local tab=tablica[klucz]; if(not tab)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else if(parametry_modul.TypeTable(wartosc))then tab[1]=wartosc[1]; tab[3]=wartosc[2]; else tab[1]=wartosc; end; end; else local tab=tablica[klucz]; if(tab~=nil)then local i=tab[2]; tablica[klucz]=nil; ---- for name,value in pairs(tablica)do local i2=value[2]; if(i2>i)then value[2]=value[2]-1; end; end; end; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; __metatablica.__pairs=function(t) local tablica2={}; for name, value in pairs(tablica)do tablica2[name]=value[1]; end; return next,tablica2,nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v[1]; end end __metatablica.__ipairs=function(t) return iter,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(value); local __metatablica2={}; p.MetaTabelkaParsowanieSzablonu(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatablica=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatablica)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; 0087ljfjnv36b0xq5oteoet0hbrofbd 544835 544834 2026-06-01T15:39:42Z Persino 2851 544835 Scribunto text/plain local p={}; --zamykanie local znak_127=mw.loadData("Module:Html/dane").znak_127; function p.NormaWzoruKodowaniaTekstu(co,numer_szablonu) local wzor=znak_127.."'\"`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`\"'"..znak_127; return wzor; end; function p.NormaKoduKodowaniaTekstu(kod,numer) local wikikodnumer=znak_127.."'\"`UNIQ--"..kod.."-"..numer.."-QINU`\"'"..znak_127; return wikikodnumer; end; function p.NormaWzoruKodowaniaEncodeWikiTekstu(co,numer_szablonu) local wzor=znak_127.."&#0*39;&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;&#0*39;"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoEncodeWikiTekstu(kod,numer) local wzor=znak_127.."&#039;&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;&#039;"..znak_127; return wzor; end; function p.NormaWzoruZakodowanegoWikiTekstu(co,numer_szablonu) local wzor=znak_127.."'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'"..znak_127; return wzor; end; function p.NormaKoduZakodowanegoWikiTekstu(kod,numer) local wikikodnumer=znak_127.."'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'"..znak_127; return wikikodnumer; end; function p.NormaWzoruZakodowanegoHtmlTekstu(co,numer_szablonu) local wzor="%%7F'&quot;`UNIQ%-%-"..(co or "([%a%d]+)").."%-"..(numer_szablonu or "(%d+)").."%-QINU`&quot;'%%7F"; return wzor; end; function p.NormaKoduZakodowanegoHtmlTekstu(kod,numer) local wikikodnumer="%7F'&quot;`UNIQ--"..kod.."-"..numer.."-QINU`&quot;'%7F"; return wikikodnumer; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); return szablonowe_potrzebne_modul.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY); end; function p.KodujWzoryMatematyczneTekstu(self,tekst_artykulu) local licznik=0; local tablica_analizy_obiektow_strony_dany_modul={}; tablica_analizy_obiektow_strony_dany_modul["MATH"]={}; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<[Mm][Aa][Tt][Hh]>(.-)</[Mm][Aa][Tt][Hh]>)",function(szablon) licznik=licznik+1; tablica_analizy_obiektow_strony_dany_modul["MATH"][licznik]=szablon; return p.NormaKoduKodowaniaTekstu("MATH",licznik); end) return tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul; end; function p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local parametry_modul=require("Module:Parametry"); local function NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt) local __max=0; for numer,_ in pairs(tablica_analizy_obiektow_strony_dany_modul[obiekt])do if(parametry_modul.TypeNumber(numer))then __max=math.max(__max,numer); end; end; return __max+1; end; local numer_szablonu={}; local szablonowe_dane_modul=require("Module:Szablonowe/dane"); for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); end; return numer_szablonu; end; function p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu() local stronicowyparser_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji=stronicowyparser_dane_modul.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; return tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji; end; function p.UsuwanieStarychZebranychInformacjiBazyTablicyKodowaniaWikikodu(tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_usun) local tab_analiza=p.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); for obiekt,tab_obiekt in pairs(tablica_analizy_obiektow_strony_dany_modul)do for kod,wartosc in pairs(tab_obiekt)do local tablica=getmetatable(tablica_analizy_obiektow_strony_dany_modul[obiekt]).tablica(); local tab_wartosc=tablica[kod]; if(tab_wartosc)then if((not tab_usun[obiekt])or(not tab_usun[obiekt][kod]))then if(tab_wartosc[2])then for obiekt_tab,tab_kod in pairs(tab_analiza)do if(obiekt_tab==obiekt)then for _,liczba in ipairs(tab_kod)do local tab_liczba=tablica_danych_parametrow_szablonu_strony[liczba]; if(tab_liczba)then tab_liczba[kod]=nil; tab_wartosc[2]=false; end; end; end; end; end; else tablica[kod]=nil; end; end; end; end; end; function p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4) if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu];end; local czy_jedno=false; ---- local parametry_modul=require("Module:Parametry"); ---- local function IteratorMain(tekst_rozwiniety_calego_artykulu,poziom_iteracji,obiekt,kod,czy_stare) local iter=true;local iter_fun; if((tekst_rozwiniety_calego_artykulu=="")or(czy_stare))then iter_fun=function() local iter=function() return nil; end; return iter; end; else iter_fun=function() if((not obiekt)and(not kod))then local iter=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu()); return iter; else local wynik=__FUNKCJA4 and __FUNKCJA4(tekst_rozwiniety_calego_artykulu,obiekt,kod,poziom_iteracji) or nil; local szablon=wynik or (((obiekt)and(kod)) and (tablica_analizy_obiektow_strony_dany_modul[obiekt]))and tablica_analizy_obiektow_strony_dany_modul[obiekt][kod] or tekst_rozwiniety_calego_artykulu; if((not szablon)or(szablon==""))then local iter=function() return nil; end; return iter; else local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); return iter; end; end; end; end; local tak=nil; local iter2=nil; poziom_iteracji=poziom_iteracji or 0; local function Iterator() local function IterMain() local obiekt,kod; ---- repeat if((parametry_modul.TypeBoolean(iter))and(iter==true))then iter=iter_fun();end; obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; szablon=(not __FUNKCJA3) and szablon or (__FUNKCJA3(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or szablon); if(__FUNKCJA2)then repeat local czy_dalej=nil; local jest_naglowek=__FUNKCJA2(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not jest_naglowek)then --if(poziom_iteracji>0)then -- return nil; --else repeat obiekt,kod=iter(); if((not obiekt)or(not kod))then return nil;end; kod=tonumber(kod); local tak_repeat=false; if((not tablica_analizy_obiektow_strony_dany_modul[obiekt])or(not tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]))then tak_repeat=true; end; until (not tak_repeat); ---- szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; czy_dalej=true; --end; end; until (not czy_dalej); end; ---- tak=true; if(__FUNKCJA)then local wynik,tekst=__FUNKCJA(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu); if(not wynik)then czy_jedno=true; return nil; else szablon=wynik; if(tekst)then tekst_rozwiniety_calego_artykulu=tekst; end; end; end; iter2=IteratorMain(szablon,poziom_iteracji+1,obiekt,kod,(obiekt=="STARE")); return szablon,obiekt,kod,poziom_iteracji; end; if(not tak)then local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else local szablon,obiekt,kod,poziom_iteracji=iter2(); if(czy_jedno)then return nil;end; if((not szablon)or(not kod)or(not obiekt))then tak=nil; local szablon,obiekt,kod,poziom_iteracji=IterMain(); if(czy_jedno)then return nil;end; return szablon,obiekt,kod,poziom_iteracji; else return szablon,obiekt,kod,poziom_iteracji; end; end; end; return Iterator; end; return IteratorMain(tekst_rozwiniety_calego_artykulu,0,nil,nil,false),tablica_analizy_obiektow_strony_dany_modul; end; function p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6,__funkcja7,__funkcja8,__funkcja9,__funkcja10) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local tab_usun={}; local szablon2=nil; local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja3,__funkcja4,__funkcja5,function(tekst_szablon,obiekt,kod,poziom_iteracji) local __SZABLON=function(obiekt,kod)return tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];end; local tak=((not szablon2)or(not tab_usun)or(not tab_usun[obiekt])or(not tab_usun[obiekt][kod])); local szablon=__funkcja6 and __funkcja6(tekst_szablon,obiekt,kod,poziom_iteracji,tak,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or (tak and __SZABLON(obiekt,kod) or szablon2); return szablon; end); local poziom_iteracji_poprz=-1; local tab_dane=nil; for szablon,obiekt,kod,poziom_iteracji in iterator do if((tab_dane)and(poziom_iteracji==0))then tab_dane=nil;end; szablon2=nil;local wynik; if(__funkcja1)then local analiza; szablon2,wynik,analiza=__funkcja1(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if((analiza)and(__funkcja7))then local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; ---- local funkcja_temp;local tak_specjalne=false; if(tab_dane)then ---- local tak=true; local szablon_temp;local obiekt_temp;local kod_temp;local poziom_iteracji_temp; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then szablon_temp=tab_pos[1];obiekt_temp=tab_pos[2];kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and(tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp])); if(not tak)then local Typ=function() return __funkcja7(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; if(not funkcja_temp)then funkcja_temp=Typ;end; local czy_funkcja_jako_funkcja8=parametry_modul.TypeFunction(__funkcja8); if(czy_funkcja_jako_funkcja8 and __funkcja8(szablon_temp,obiekt_temp,kod_temp,poziom_iteracji_temp,szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) )then tak_specjalne=true; end; break; end; end; end; end; if(tak_specjalne)then wynik=true;end; if(funkcja_temp)then funkcja_temp();end; else local czy_szablon_funkcyjny=parametry_modul.TypeFunction(szablon2); if(czy_szablon_funkcyjny)then szablon2=szablon2();end; end; end; if(not wynik)then szablon=techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](szablon2 or szablon); if((not tab_dane)or(#tab_dane==0))then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local tak=true;local tab_wolne; for i=#tab_dane,1,-1 do local tab_pos=tab_dane[i]; local poziom_iteracji_temp=tab_pos[4]; if(poziom_iteracji_temp<poziom_iteracji)then local obiekt_temp=tab_pos[2];local kod_temp=tab_pos[3]; tak=tak and ((obiekt_temp and kod_temp)and((tab_usun[obiekt_temp]) and (tab_usun[obiekt_temp][kod_temp]))); if(not tak)then tab_wolne=tab_pos; break; end; end; end; if(tak)then tekst_rozwiniety_calego_artykulu=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; else local obiekt_temp=tab_wolne[2];local kod_temp=tab_wolne[3]; local tekst=tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]; tekst=mw.ustring.gsub(tekst,p.NormaWzoruKodowaniaTekstu(obiekt,kod),szablon); tablica_analizy_obiektow_strony_dany_modul[obiekt_temp][kod_temp]=tekst; if(not tab_usun[obiekt])then tab_usun[obiekt]={};end;tab_usun[obiekt][kod]=true; end; end; -- parametry kodow local czy_usun_kod=__funkcja10 and __funkcja10(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; -- bazowanie kodow local tak=__funkcja9 and __funkcja9(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tab_usun) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; -- funkcje koncowe local tak=__funkcja2 and __funkcja2(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) or nil; if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; if(not tab_dane)then tab_dane={};end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_dane); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_dane); end; table.insert(tab_dane,{szablon,obiekt,kod,poziom_iteracji}); if(__funkcja2)then local tak=__funkcja2(szablon2 or szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); if(tak)then return tekst_rozwiniety_calego_artykulu,tab_usun;end; end; poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja,__funkcja2,__funkcja3,__funkcja4,__funkcja5,__funkcja6) local techniczne_modul=require("Module:Techniczne"); local parametry_modul=require("Module:Parametry"); local iterator,tablica_analizy_obiektow_strony_dany_modul=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja2,__funkcja3,__funkcja4,__funkcja5); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={}; for szablon,obiekt,kod,poziom_iteracji in iterator do local function ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local kod_kodowy_wynik,dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany,szablon_rodzica_zmodyfikowany=__funkcja(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica,tablica_analizy_obiektow_strony_dany_modul); if(kod_kodowy_wynik)then local function ModyfikacjaBazyKodowoSzablonowa() if(dziecko_zmodyfikowane)then if((obiekt_zmodyfikowany)and(kod_zmodyfikowany))then if((obiekt_zmodyfikowany~=obiekt)or(kod_zmodyfikowany~=kod))then if(not tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany])then tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany]={}; end; tablica_analizy_obiektow_strony_dany_modul[obiekt_zmodyfikowany][kod_zmodyfikowany]=dziecko_zmodyfikowane; local fun1=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt_zmodyfikowany,kod_zmodyfikowany) or nil; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=nil; local fun2=__funkcja6 and __funkcja6(nil,obiekt,kod) or nil; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun3=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=dziecko_zmodyfikowane; local fun4=__funkcja6 and __funkcja6(dziecko_zmodyfikowane,obiekt,kod) or nil; end; end; end; if(poziom_iteracji>0)then if(not szablon_rodzica_zmodyfikowany)then if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; local szablon_rodzica=tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]; szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica; local fun5=__funkcja6 and __funkcja6(szablon_rodzica,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; end; else tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun6=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; ModyfikacjaBazyKodowoSzablonowa(); end; else if(not parametry_modul.TypeBoolean(kod_kodowy_wynik))then local ile; tekst_rozwiniety_calego_artykulu,ile=mw.ustring.gsub(tekst_rozwiniety_calego_artykulu,p.NormaWzoruKodowaniaTekstu(obiekt,kod),techniczne_modul["TekstBezOdwołańDoParametrówWeWzorze"](kod_kodowy_wynik)); if(ile>0)then ModyfikacjaBazyKodowoSzablonowa(); end; end; end; elseif(szablon_rodzica_zmodyfikowany)then tablica_analizy_obiektow_strony_dany_modul[obiekt_rodzica][kod_rodzica]=szablon_rodzica_zmodyfikowany; local fun7=__funkcja6 and __funkcja6(szablon_rodzica_zmodyfikowany,obiekt_rodzica,kod_rodzica) or nil; end; end; if(poziom_iteracji==0)then ZamienianieKodowe(nil,nil,nil,nil); else for i=#tab_poziom_obiekt,1,-1 do local tab=tab_poziom_obiekt[i]; local poziom_iteracji_rodzica=tab[4]; if(poziom_iteracji_rodzica<poziom_iteracji)then local szablon_rodzica=tab[1]; local obiekt_rodzica=tab[2]; local kod_rodzica=tab[3]; ZamienianieKodowe(szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica); break; end; end; end; if(poziom_iteracji_poprz>poziom_iteracji)then for i=poziom_iteracji_poprz,poziom_iteracji,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji)then elseif(poziom_iteracji_poprz==poziom_iteracji)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{szablon,obiekt,kod,poziom_iteracji,}); poziom_iteracji_poprz=poziom_iteracji; end; return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3,__funkcja4,__funkcja5) local tablica_szablonow_z_naglowkami=nil; local tab_sam; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(poziom_iteracji==0)then tablica_szablonow_z_naglowkami=nil; tab_sam=nil; else if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; end; ---- local wynik,sam_obiekt,sam_kod=__funkcja(szablon,obiekt,kod,0,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(wynik)then if(sam_obiekt and sam_kod)then return false; end; end local czy_nie_wyzej_sam=false; local czy_nie_wyzej_poziom=nil; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil,nil,nil,function(szablon,obiekt,kod) if((czy_nie_wyzej_sam)or(czy_nie_wyzej_poziom))then return ""; end; end); local poziom_iteracji_poprz=-1; local tab_poziom_obiekt={} if(poziom_iteracji==0)then table.insert(tab_poziom_obiekt,{obiekt,kod});end; for szablon2,obiekt2,kod2,poziom_iteracji2 in iterator do local wynik,sam_obiekt,sam_kod,czy_inne_ustawienia=__funkcja(szablon2,obiekt2,kod2,poziom_iteracji2+1,false,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then if(poziom_iteracji_poprz>poziom_iteracji2)then for i=poziom_iteracji_poprz,poziom_iteracji2,-1 do table.remove(tab_poziom_obiekt); end; --elseif(poziom_iteracji_poprz<poziom_iteracji2)then elseif(poziom_iteracji_poprz==poziom_iteracji2)then table.remove(tab_poziom_obiekt); end; table.insert(tab_poziom_obiekt,{obiekt2,kod2}); poziom_iteracji_poprz=poziom_iteracji2; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else for _,tab in ipairs(tab_poziom_obiekt)do if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[tab[1]])then tablica_szablonow_z_naglowkami[tab[1]]={};end; tablica_szablonow_z_naglowkami[tab[1]][tab[2]]=true; end; if(sam_obiekt and sam_kod)then if(not tab_sam)then tab_sam={};end; if(not tab_sam[sam_obiekt])then tab_sam[sam_obiekt]={};end; tab_sam[sam_obiekt][sam_kod]=true; czy_nie_wyzej_sam=true; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=false; end; else if(not tablica_szablonow_z_naglowkami)then tablica_szablonow_z_naglowkami={};end; if(not tablica_szablonow_z_naglowkami[obiekt2])then tablica_szablonow_z_naglowkami[obiekt2]={};end; tablica_szablonow_z_naglowkami[obiekt2][kod2]=true; czy_nie_wyzej_sam=false; if(czy_inne_ustawienia)then czy_nie_wyzej_poziom=true; end; end; ---poziom_iteracji_poprz=poziom_iteracji2; end; end; if(wynik)then return true;end; if((tab_sam)and(tab_sam[obiekt])and(tab_sam[obiekt][kod]))then return false;end; if((tablica_szablonow_z_naglowkami)and(tablica_szablonow_z_naglowkami[obiekt])and(tablica_szablonow_z_naglowkami[obiekt][kod]))then return true;end; return nil; end,__funkcja4,__funkcja5); return tekst_rozwiniety_calego_artykulu; end; function p.KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__funkcja,__funkcja1,__funkcja2,__funkcja3) local tablica_szablonow_z_naglowkami=nil; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__funkcja1,__funkcja2,__funkcja3,function(szablon,obiekt,kod,poziom_iteracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) local wynik=__funkcja(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(not wynik)then return nil;end; return true; end); return tekst_rozwiniety_calego_artykulu; end; local function FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,czy_niekodowane,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,(dwukropek and ":" or "")..nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((not tabela_parametrow_szablonu)or(not nazwa_szablonu))then return;end; if(__FUNKCJA)then local wynik=__FUNKCJA(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return;end; end; local pelna_nazwa_szablonu=p["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA2)then local wynik=__FUNKCJA2(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return; end; end; if((czy_niekodowane)and(__FUNKCJA3))then local wynik=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(wynik)then return wynik; end; end; local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); local tekst; if((not czy_niekodowane)and(__FUNKCJA3))then tekst=__FUNKCJA3(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow); if(not tekst)then local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; else local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true,true,nil,nil,nil,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end; if(not tekst)then return;end; if((czy_niekodowane)and(not czy_nie_brak_parametrow))then return tekst;end; local html_modul=require("Module:Html"); tekst=p:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,pelna_nazwa_szablonu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst) if(czy_nie_brak_parametrow)then if(obiekt=="ZMIENNA")then local zmienna;local wartosc_domyslna; zmienna=mw.ustring.match(szablon,"^{{{([^{}|]*)}}}$"); if(not zmienna)then zmienna,wartosc_domyslna=mw.ustring.match(szablon,"^{{{([^{}|]*)|([^{}]*)}}}$"); end; zmienna=mw.text.trim(zmienna); local wartosc_zmiennej=tabela_parametrow_szablonu[tonumber(zmienna) or zmienna]; if(not wartosc_zmiennej)then if(wartosc_domyslna)then return wartosc_domyslna;end; local szablon=html_modul["KodyHTMLZnakówWikiCiągu"](szablon); return szablon; end; return wartosc_zmiennej; end; end; end, function() return numer_szablonu; end,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,function(nazwa_szablonu,tabela_modyfikatorow) return __PRZEDFUNKCJA(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) end, function(nazwa_szablonu,tabela_modyfikatorow,rezultat) return __FUNKCJA0 and __FUNKCJA0(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; end,false); end; end; function p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu) local tablica_modulu_szablonowe=p.TablicaTransportuSzablonowe(self); tablica_modulu_szablonowe.tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow or {}; local tablica_szablonow=tablica_modulu_szablonowe.tablica_szablonow; ---- tablica_szablonow[nazwa_modulu]=tablica_szablonow[nazwa_modulu] or {}; local tablica_danych_parametrow_szablonu_strony=tablica_szablonow[nazwa_modulu]; return tablica_danych_parametrow_szablonu_strony; end; function p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(not tablica_analizy_obiektow_strony_dany_modul)then if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]; end; --- local tablica_danych_parametrow_szablonu_strony=tablica_danych_parametrow_szablonu_strony or p.TablicaZanalizowanychInformacjiSzablonowychParsowania(self,nazwa_modulu_aktualna_czy_biezaca); return tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; end; function p.RozwijanieNiezakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tekst_rozwiniety_calego_artykulu=p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return; end, function(szablon,obiekt,kod,tekst,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu) ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; --- return FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,true,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); end,nil,nil,nil,nil,nil,nil,__FUNKCJA_PARAMETRY); return tekst_rozwiniety_calego_artykulu; end; function p.RozwijanieZakodowanegoSzablonu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY) local tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=p.UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- local nazwy_modul=require("Module:Nazwy"); local dwukropek=(nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_aktualna_czy_biezaca)==""); local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst) if(obiekt=="SZABLON")then local numer_szablonu=p.NumerSzablonuKodowaniaTekstu(self,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); ---- szablon=__FUNKCJA4 and __FUNKCJA4(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or szablon; ---- local wynik=FunkcjaIterajacaRozwijanegoSzablonu(szablon,obiekt,kod,tekst,numer_szablonu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_modulu_aktualna_czy_biezaca,dwukropek,false,__PRZEDFUNKCJA,__FUNKCJA0,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY); if(wynik)then return wynik;end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu,tab_usun; end; p["UstalanieNazwyWywołania"]=function(nazwa,__FUNKCJA,__FUNKCJA2) local html_modul=require("Module:Html"); nazwa=html_modul.DecodeHtml(nazwa,true); local rezultat=nil; if(__FUNKCJA)then local nazwa_rozwinieta; nazwa_rozwinieta,rezultat=__FUNKCJA(nazwa); nazwa=nazwa_rozwinieta or nazwa; end; local nazwa,modyfikatory,tabela_modyfikatorow=p.WydzielanieOpcjiModyfikatorowych(nazwa); nazwa=((__FUNKCJA2) and (not rezultat)) and (__FUNKCJA2(nazwa,tabela_modyfikatorow) or nazwa) or nazwa; if(not tabela_modyfikatorow)then nazwa=html_modul.EncodeId(nazwa); return nazwa; end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=mw.ustring.match(nazwa,"^[%s_]*[^:]") and nazwy_modul["NAZWAPRZESTRZENI"](nazwa); if(nazwa_przestrzeni)then if(nazwa_przestrzeni=="")then if(tabela_modyfikatorow["#invoke:"])then nazwa="Module:"..nazwa; elseif(tabela_modyfikatorow["int:"])then nazwa="MediaWiki:"..nazwa; end; else local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwy_np_modul.Module~=nazwa_przestrzeni)and(tabela_modyfikatorow["#invoke:"]))then nazwa="Module:"..nazwa; elseif((nazwy_np_modul.MediaWiki~=nazwa_przestrzeni)and(tabela_modyfikatorow["int:"]))then nazwa="MediaWiki:"..nazwa; end; end; end; nazwa=html_modul.EncodeId(nazwa); return nazwa,tabela_modyfikatorow; end; p["SzablonowaNazwaStrony"]=function(czy_szablon,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[3]; 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.szablonowa_nazwa_strony; end; end; end; if(not czy_szablon)then return;end; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](czy_szablon,tabela_nazw); local nazwa_szablonu; if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(czy_szablon,"^%s*[^:]"); if((czy_nie_dwukropek)or(czy_szablon==""))then local czy_szablon=parametry_modul["Odstępy"]{nazwa=czy_szablon,["wewnątrz"]="tak",}; nazwa_szablonu=(tabela_nazw.m) and mw.getContentLanguage():ucfirst(czy_szablon) or czy_szablon; else nazwa_szablonu=":"..nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; elseif(nazwa_przestrzeni_szablonu==nazwy_np_modul.Template)then nazwa_szablonu=nazwy_modul["NAZWASTRONY"]({nazwa=czy_szablon,},tabela_nazw); else nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](czy_szablon,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[3])then tablica_danych_parametrow_szablonu_strony[3]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; 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.szablonowa_nazwa_strony=nazwa_szablonu; end; return nazwa_szablonu; end; p["PełnaNazwaStronyNazwySzablonu"]=function(frame,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[5]; 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.generalna_nazwa_strony; end; end; end; local parametry_modul=require("Module:Parametry"); ---- local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_szablonu=PobierzParametr(1) or PobierzParametr("nazwa"); ---- if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_szablonu,tabela_nazw); local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then local czy_nie_dwukropek=mw.ustring.match(nazwa_szablonu,"^%s*[^:]"); if(czy_nie_dwukropek)then local nazwa_szablonu=parametry_modul["Odstępy"]{nazwa=nazwa_szablonu,["wewnątrz"]="tak",}; pelna_nazwa_szablonu=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "")..((tabela_nazw.m)and mw.getContentLanguage():ucfirst(nazwa_szablonu) or nazwa_szablonu); else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; else pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_szablonu,tabela_nazw); end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[5])then tablica_danych_parametrow_szablonu_strony[5]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[5]; 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.generalna_nazwa_strony=pelna_nazwa_szablonu; end; return pelna_nazwa_szablonu; end; p["PełnaNazwaStronyWywołańSzablonowych"]=function(nazwa_szablonu,klucz_przestrzeni,klucz_projektu,kod_jezyka,kod_projektu) if(not nazwa_szablonu)then return;end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local nazwa_przestrzeni_szablonu=nazwy_modul["NAZWAPRZESTRZENI"]({nazwa=nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); local klucz_przestrzeni_niekanoniczna; local wiki_modul=require("Module:Wiki"); local czy_biezaca; if(tabela_nazw.czy_aktualna_wiki==nil)then czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}; else czy_biezaca=tabela_nazw.czy_aktualna_wiki; end; if(czy_biezaca)then klucz_przestrzeni_niekanoniczna=nazwy_modul.Np{nazwa=klucz_przestrzeni,}; else klucz_przestrzeni_niekanoniczna=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,}; end; local pelna_nazwa_szablonu; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni_szablonu==nazwy_np_modul.Main)then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; elseif(((klucz_przestrzeni=="MediaWiki")or(klucz_przestrzeni=="Module"))and(nazwa_przestrzeni_szablonu~=klucz_przestrzeni_niekanoniczna))then pelna_nazwa_szablonu=((klucz_przestrzeni~="")and (klucz_przestrzeni..":") or "")..nazwa_szablonu; else pelna_nazwa_szablonu=nazwa_szablonu; end; local tabela_nazw={}; pelna_nazwa_szablonu=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=pelna_nazwa_szablonu,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod_projektu"]=kod_projektu,},tabela_nazw); return pelna_nazwa_szablonu; end; p["NazwaSzablonuWywołania"]=function(szablon,__FUNKCJA,__FUNKCJA2,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[4]; 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.nazwa_strony,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami; end; end; end; local czy_z_parametrami; local czy_szablon,zawartosc=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*|([^{}]*)}}$"); if(not czy_szablon or not zawartosc)then czy_szablon=mw.ustring.match(szablon,"^{{%s*([^{}|]-)%s*}}$"); if(not czy_szablon)then return;end; czy_z_parametrami=false; else czy_z_parametrami=true; end; --czy_szablon=__FUNKCJA and (__FUNKCJA(czy_szablon) or czy_szablon) or czy_szablon; local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](czy_szablon,__FUNKCJA,__FUNKCJA2); local nazwa_strony=p["SzablonowaNazwaStrony"](czy_szablon); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[4])then tablica_danych_parametrow_szablonu_strony[4]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[4]; 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.nazwa_strony=nazwa_strony; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=tabela_modyfikatorow; tablica_danych_parametrow_szablonu_strony_numer_kod.czy_z_parametrami=czy_z_parametrami; end; return nazwa_strony,tabela_modyfikatorow,czy_z_parametrami; end; function p.TablicaTransportuSzablonowe(self) return self; end; local function ZbierzParametrSzablonu(tworzona_tabela, kawalek_wywolania,trimuj_numerowane,czy_ramka_lua) if((not czy_ramka_lua)or(not czy_ramka_lua[1])or((czy_ramka_lua[1])and(czy_ramka_lua[2])))then local czy_parser=czy_ramka_lua and czy_ramka_lua[3]; local kawalek_wywolania_element_nienazwany=mw.ustring.match(kawalek_wywolania,"^([^|"..((not czy_parser) and ("=") or "").."]-)$"); if(kawalek_wywolania_element_nienazwany)then ---- local __metatablica=getmetatable(tworzona_tabela); local len=__metatablica.__len(tworzona_tabela); ---- tworzona_tabela[len+1]={((trimuj_numerowane) and (mw.text.trim(kawalek_wywolania_element_nienazwany)) or kawalek_wywolania_element_nienazwany),true,}; return tworzona_tabela; else --- local kawalek_wywolania_klucz,kawalek_wywolania_wartosc=mw.ustring.match(kawalek_wywolania,"^%s*([^|=]-)%s*=%s*([^|]-)%s*$"); if((kawalek_wywolania_klucz)and(kawalek_wywolania_wartosc))then if(not mw.ustring.match(kawalek_wywolania_klucz,"^%s*%d+%s*$"))then tworzona_tabela[mw.text.trim(kawalek_wywolania_klucz)]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; else tworzona_tabela[tonumber(mw.text.trim(kawalek_wywolania_klucz))]=mw.text.trim(kawalek_wywolania_wartosc); return tworzona_tabela; end; else return nil; end; end; else local __metatablica=getmetatable(tworzona_tabela); __metatablica.newindex(true,kawalek_wywolania); czy_ramka_lua[2]=true; return tworzona_tabela; end; return nil; end; local function ParametrySzablonu(parametry_wywolania_szablonu,parametry_szablonu,trimuj_numerowane,czy_ramka_lua) local kawalek_wywolania,dalszy_kawalek_wywolania=mw.ustring.match(parametry_wywolania_szablonu,"^([^|]*)|(.*)$"); if(not kawalek_wywolania)then kawalek_wywolania=parametry_wywolania_szablonu; end; if(not dalszy_kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return parametry_szablonu; end; if(kawalek_wywolania)then ZbierzParametrSzablonu(parametry_szablonu,kawalek_wywolania,trimuj_numerowane,czy_ramka_lua); return ParametrySzablonu(dalszy_kawalek_wywolania,parametry_szablonu,trimuj_numerowane,czy_ramka_lua); end; return nil; end; p.MetaTabelkaParsowanieSzablonu=function(__metatablica) local parametry_modul=require("Module:Parametry"); local i=1; local tablica={}; __metatablica.PobierzGeneralnaTablica=function(t) return tablica; end; __metatablica.__len=function(t) return #tablica; end; __metatablica.__index=function(t,klucz) local tab=tablica[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.index=function(t,klucz) return tablica[klucz]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then local tab=tablica[klucz]; if(not tab)then if(parametry_modul.TypeTable(wartosc))then tablica[klucz]={wartosc[1],i,wartosc[2],}; else tablica[klucz]={wartosc,i,}; end; i=i+1; else if(parametry_modul.TypeTable(wartosc))then tab[1]=wartosc[1]; tab[3]=wartosc[2]; else tab[1]=wartosc; end; end; else local tab=tablica[klucz]; if(tab~=nil)then local i=tab[2]; tablica[klucz]=nil; ---- for name,value in pairs(tablica)do local i2=value[2]; if(i2>i)then value[2]=value[2]-1; end; end; end; end; end; __metatablica.newindex=function(t,klucz,wartosc) tablica[klucz]=wartosc; end; local function iter_pairs(tablica,klucz) klucz=next(tablica,klucz); local tab = tablica[klucz]; if tab then return klucz, tab[1]; end end; __metatablica.__pairs=function(t) return iter_pairs,tablica,nil; end; local function iter_ipairs(tablica,i) i=i+1; local tab = tablica[i]; if tab then return i, tab[1]; end end; __metatablica.__ipairs=function(t) return iter_ipairs,tablica,0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(value); local __metatablica2={}; p.MetaTabelkaParsowanieSzablonu(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.PobierzGeneralnaTablica(value2); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; p["ParsowanieWywołaniaSzablonu"] = function(wywolanie_szablonu,trimuj_numerowane,__FUNKCJA,__FUNKCJA2,tablica_danych_parametrow_szablonu_strony,kod) local nazwa_parsowania=nil;local modyfikatory_parsowania=nil; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; 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 if((tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu)and(tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow))then if(tablica_danych_parametrow_szablonu_strony_numer_kod.parametry)then return tablica_danych_parametrow_szablonu_strony_numer_kod.parametry,tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu,tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; nazwa_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; modyfikatory_parsowania=tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow; end; end; end; end; ---- local function NazwaSzablonu(nazwa_szablonu) if((not nazwa_parsowania)or(not modyfikatory_parsowania))then local nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna=p["UstalanieNazwyWywołania"](nazwa_szablonu,__FUNKCJA,__FUNKCJA2); nazwa_szablonu_ostateczna=p["SzablonowaNazwaStrony"](nazwa_szablonu_ostateczna); return nazwa_szablonu_ostateczna,tabela_modyfikatorow_ostateczna; else return nazwa_parsowania,modyfikatory_parsowania; end; end; local ParseryTagLua=function(tabela_modyfikatorow) local czy_lua; local czy_parser; if(tabela_modyfikatorow)then czy_lua=tabela_modyfikatorow["#invoke:"]; if(not czy_lua)then for name,value in pairs(tabela_modyfikatorow)do local hash=mw.ustring.sub(name,1,1); if((hash)and(hash=="#"))then czy_parser=true; break; end; end; end; end; local czy_ramka_lua={czy_lua,false,czy_parser,}; return czy_ramka_lua; end; local wywolanie_bez_parametrow=mw.ustring.match(wywolanie_szablonu,"^{{[^|]-}}$"); if(not wywolanie_bez_parametrow)then local nazwa_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*|.-}}$"); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); local parametry_wywolania_szablonu=mw.ustring.match(wywolanie_szablonu,"^{{[^|]*|(.*)}}$"); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- local czy_ramka_lua=ParseryTagLua(tabela_modyfikatorow); ---- tabela_parametrow_szablonu=ParametrySzablonu(parametry_wywolania_szablonu,tabela_parametrow_szablonu,trimuj_numerowane,czy_ramka_lua); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; else local nazwa_szablonu=mw.text.trim(mw.ustring.match(wywolanie_szablonu,"^{{%s*([^|]-)%s*}}$")); if(nazwa_szablonu)then local nazwa_szablonu,tabela_modyfikatorow=NazwaSzablonu(nazwa_szablonu); ---- local __metatablica={}; p.MetaTabelkaParsowanieSzablonu(__metatablica); local tabela_parametrow_szablonu={}; setmetatable(tabela_parametrow_szablonu,__metatablica); ---- if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[1])then tablica_danych_parametrow_szablonu_strony[1]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[1]; tablica_danych_parametrow_szablonu_strony_numer[kod]={}; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.parametry=tabela_parametrow_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu=nazwa_parsowania or nazwa_szablonu; tablica_danych_parametrow_szablonu_strony_numer_kod.tabela_modyfikatorow=modyfikatory_parsowania or tabela_modyfikatorow; end; ---- return tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow; else return nil;end; end; end; function p.WydzielanieOpcjiModyfikatorowych(pole_nazwy) local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local opis_elementowe_modyfikatory=szablonowe_dane_modul.opis_elementowe_modyfikatory; local modyfikatory=""; local tab_mod=nil; if(not mw.ustring.match(pole_nazwy,opis_elementowe_modyfikatory))then return pole_nazwy,modyfikatory,tab_mod; end; ---- local tab_modyfikatory=szablonowe_dane_modul.tablica_elementowe_modyfikatory_szablonowe; ---- local function PojedynczeModyfikatory(pole,modyfikatory) for modyfikator,tab in pairs(tab_modyfikatory) do local modyfikator_uzyty,pole_dalej=mw.ustring.match(pole,"^("..tab[1]..")(.*)$"); if(modyfikator_uzyty)then if(not tab_mod)then tab_mod={};end; if(not tab_mod[modyfikator])then tab_mod[modyfikator]=true; end; modyfikatory=modyfikatory..modyfikator_uzyty; return PojedynczeModyfikatory(pole_dalej,modyfikatory) end; end; return pole,modyfikatory; end; local pole_ostateczne,modyfikatory_ostateczne=PojedynczeModyfikatory(pole_nazwy,modyfikatory); return pole_ostateczne,modyfikatory_ostateczne,tab_mod; end; function p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#switch:"]) )then return true; end; end; end; function p.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu) if(tabela_modyfikatorow)then if((tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#tag:"]) )then return true; end; end; end; function p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,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[2]; 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.czy_normalny_szablon; end; end; end; local function RozpatrywanieSzablonowe() if(tabela_modyfikatorow)then if((tabela_modyfikatorow["int:"]) or(tabela_modyfikatorow["#if:"]) or(tabela_modyfikatorow["#ifeq:"]) or(tabela_modyfikatorow["#ifexpr:"]) or(tabela_modyfikatorow["#expr:"]) or(tabela_modyfikatorow["#iferror:"]) or(tabela_modyfikatorow["#ifexist:"]) or(tabela_modyfikatorow["#tag:"]) or(tabela_modyfikatorow["#switch:"]) or(tabela_modyfikatorow["#property:"]) or(tabela_modyfikatorow["#invoke:"]) or(tabela_modyfikatorow["gender:"]) or (tabela_modyfikatorow["ucfirst:"]) or (tabela_modyfikatorow["lcfirst:"]) or (tabela_modyfikatorow["uc:"]) or (tabela_modyfikatorow["lc:"]) )then return false; end; end; if((nazwa_szablonu)and(nazwa_szablonu~=""))then local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeBoolean(tabela_parametrow_szablonu))and(tabela_parametrow_szablonu))then return true;end; if(tabela_parametrow_szablonu)then local parametry_modul=require("Module:Parametry"); local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu); if(czy_nie_brak_parametrow)then return true;end; end; return ((not mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:")) and true or false); end; return true; end; local wynik=RozpatrywanieSzablonowe(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[2])then tablica_danych_parametrow_szablonu_strony[2]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[2]; 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.czy_normalny_szablon=wynik; end; return wynik; end; function p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane) local parametry_modul=require("Module:Parametry"); local tablica_obiektow_strony_danych_kodow_specjalnych_modul={}; local tab_grupa={}; local math_numer=0;local licznik_linkz=1; tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ----- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["REF"..grupa][tab_grupa[grupa]]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("REF"..grupa,tab_grupa[grupa]); end; elseif(obiekt=="MATH")then math_numer=math_numer+1; ---- if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"]={};end; if(not tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer])then tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][math_numer]=szablon;end; ---- return p.NormaKoduKodowaniaTekstu("POSTMATH",math_numer); end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; return szablon; end); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul; end; function p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,trimuj_numerowane,__FUNKCJA_INNE_OPERACJE,__FUNKCJA_INNE_OPERACJE2,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE) local parametry_modul=require("Module:parametry"); local tab_grupa={};local licznik_linkz=1; local tab_usun; tekst_rozwiniety_calego_artykulu,tab_usun=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then return p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if((nazwa_szablonu=="R")or(nazwa_szablonu=="RN"))then local grupa=""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..tab_grupa[grupa].."&#93;" elseif((nazwa_szablonu=="U")or(nazwa_szablonu=="UN"))then local grupa="uwaga"; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ----- return "&#91;"..grupa.." "..tab_grupa[grupa].."&#93;"; elseif((nazwa_szablonu=="Ref")or(nazwa_szablonu=="O"))then local grupa=tabela_parametrow_szablonu["grupa"] or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,trimuj_numerowane); elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,tab_atrybuty=p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="ref")then tab_atrybuty=tab_atrybuty or {}; local grupa=tab_atrybuty["group"]; grupa=parametry_modul.TypeString(grupa) and grupa or ""; tab_grupa[grupa]=(tab_grupa[grupa] or 0)+1; ---- return "&#91;"..((grupa~="")and(grupa.." ") or "")..tab_grupa[grupa].."&#93;"; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nazwa,zawartosc,tab_atrybuty,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; else if(__FUNKCJA_INNE_OPERACJE)then return __FUNKCJA_INNE_OPERACJE(szablon,obiekt,kod,nil,nil,nil,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul); end; end; return nil,true;--szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end,nil,nil,nil,function(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="LINKZ")then local url=mw.ustring.match(szablon,"^%[(%S+)%s*%]$") if(url)then local szablon="["..url.." &#91;"..licznik_linkz.."&#93;]"; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; licznik_linkz=licznik_linkz+1; return szablon; end; end; if(__FUNKCJA_INNE_OPERACJE2)then return __FUNKCJA_INNE_OPERACJE2(szablon,obiekt,kod,poziom_numeracji,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; return szablon; end,nil,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE_RODZICA,__FUNKCJA_OPERACJE_CZY_W_LINKU,__FUNKCJA_OPERACJE_USUWANIE_BAZOWE,__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE); return tekst_rozwiniety_calego_artykulu,tab_usun; end; function p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw) local adres,nazwa=mw.ustring.match(linkw,"^%[%[([^|]-)|(.-)%]%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkw,"^%[%[([^|]-)%]%]$"); if(adres)then return adres;end; return nil; end; function p.WalidacjaLinkuProjektowego(linkw) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkuProjektowego(linkw); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^[^|]-[%[%]]+[^|]-$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%[%[") or mw.ustring.match(nazwa,"%]%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz) local adres,nazwa=mw.ustring.match(linkz,"^%[(%S+)%s+(.-)%]$") if((adres)and(nazwa))then return adres,nazwa;end; local adres=mw.ustring.match(linkz,"^%[(.-)%]"); return adres; end; function p.WalidacjaLinkuNieProjektowego(linkz) local adres,nazwa=p.WydzielPoleAdresoweNazwoweLinkNieProjektowego(linkz); if(not adres)then return nil;end; local spacje_adresu=mw.ustring.match(adres,"^[%s_]*$"); if(spacje_adresu)then return nil;end; local adres_w_linii=mw.ustring.match(adres,"\n"); if(adres_w_linii)then return nil;end; local walidacja_adresu=mw.ustring.match(adres,"^%S*[%[%]]%S*$"); if(walidacja_adresu)then return nil;end; if(not nazwa)then return adres,nazwa;end; local nazwa_w_linii=mw.ustring.match(nazwa,"\n"); if(nazwa_w_linii)then return nil;end; local walidacja_nazwy=mw.ustring.match(nazwa,"%]"); if(walidacja_nazwy)then return nil;end; return adres,nazwa; end; function p.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul) local tablica_kodow={};local tak=false; local iterator=p.IteratorSzablonowyZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki; for szablon,obiekt,kod in iterator do if(tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki[obiekt])then local iter=mw.ustring.gmatch(szablon,p.NormaWzoruKodowaniaTekstu()); for obiekt,kod in iter do if(not tablica_kodow[obiekt])then tablica_kodow[obiekt]={};end; tablica_kodow[obiekt][kod]=true; tak=true; end; end; end; --if(not tak)then return tekst_rozwiniety_calego_artykulu;end; local strony_modul=require("Module:Strony"); local specjalne_modul=require("Module:Specjalne"); --local frame=mw.getCurrentFrame(); tekst_rozwiniety_calego_artykulu=p.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon2,obiekt2,kod2) if((tablica_kodow)and(tablica_kodow[obiekt2])and(tablica_kodow[obiekt2][kod2]))then if(mw.ustring.gmatch(szablon2,p.NormaWzoruKodowaniaTekstu()))then szablon2=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); return szablon2; end; elseif(obiekt2=="LINKW")then if(mw.ustring.match(szablon2,"^%[%[[%s:_]*%]%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); if(not specjalne_modul["CzyPlik"](szablon_rozwiniete))then --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local czy_nie_linkw=not p.WalidacjaLinkuProjektowego(szablon_rozwiniete); if(czy_nie_linkw)then return szablon2; end; end; elseif(obiekt2=="LINKZ")then if(mw.ustring.match(szablon2,"^%[%s*%]$"))then return szablon2;end; local szablon_rozwiniete=p.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon2,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); --szablon_rozwiniete=frame:preprocess(szablon_rozwiniete); local adres,nazwa=p.WalidacjaLinkuNieProjektowego(szablon_rozwiniete); if(adres)then local czy_linkz=strony_modul.SprawdzanieURL(adres); if(not czy_linkz)then return szablon2;end; else return szablon2; end; end; return nil,true; end); return tekst_rozwiniety_calego_artykulu; end; p["PokazanieWywołaniaSzablonu"]=function(szablon, args) local result = {}; table.insert(result, mw.text.nowiki("{{")); if mw.isSubsting() then table.insert(result, "subst:"); end; table.insert(result, szablon); if args then for k, v in pairs(args) do if (type(k)~="number")then table.insert(result, "|"); table.insert(result, tostring(k)); table.insert(result, "="); table.insert(result, mw.text.nowiki(v)); else table.insert(result, "|"); table.insert(result, mw.text.nowiki(v)); end; end; end; table.insert(result, mw.text.nowiki("}}")); return table.concat(result); end; function p.KodSymbolicznySzablonu(nazwa,args,modyfikatory,jako_szablony) local args=args or {}; local modyfikatory=modyfikatory or {}; ---- local __metatablica=getmetatable(args); local result={}; table.insert(result,((jako_szablony) and "{{((}}" or "{{")); for name,_ in pairs(modyfikatory)do table.insert(result,name); end; table.insert(result,nazwa); if(not __metatablica)then for name,value in pairs(args)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); value=mw.ustring.gsub(value,"[=]",((jako_szablony) and "{{=}}" or "=")); table.insert(result,name..((jako_szablony) and "{{=}}" or "=")..value); end; else local tabelka_metatable=__metatablica.PobierzGeneralnaTablica(args); local tab_inna_tabelka={}; local funkcja; local juz_jest=nil; for name,value in pairs(tabelka_metatable)do if((juz_jest)or(name~=true))then tab_inna_tabelka[value[2]]={name,value[1],value[3],}; else funkcja=value; juz_jest=true; end; end; if(funkcja)then table.insert(result,((jako_szablony) and "{{!}}" or "|")); if(jako_szablony)then funkcja=mw.ustring.gsub(funkcja,"=",function(znak) return "{{=}}"; end); end; table.insert(result,funkcja); end; for _,value in ipairs(tab_inna_tabelka)do table.insert(result,((jako_szablony) and "{{!}}" or "|")); local value_2; if(jako_szablony)then value_2=mw.ustring.gsub(value[2],"[=]","{{=}}");else value_2=value[2];end; table.insert(result,((not value[3])and(value[1]..((jako_szablony) and "{{=}}" or "=")) or "")..value_2); end; end; table.insert(result,((jako_szablony) and "{{))}}" or "}}")); return table.concat(result,""); end; function p.KodSymbolicznySzablonowejRamkiLuaInstrukcjiWarunkowejLubTagu(szablon) szablon=mw.ustring.gsub(szablon,"^{{(.-)}}$",function(zawartosc) zawartosc=mw.ustring.gsub(zawartosc,"[|=]",function(znak) if(znak=="|")then return "{{!}}";else return "{{=}}";end; end); return "{((}}"..zawartosc.."{{))}}"; end); return szablon; end; function p.NazwaSzablonu(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr(1) or PobierzParametr("nazwa"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np") if(nazwa_przestrzeni==nazwy_np_modul.Template)then return nazwy_modul["NAZWASTRONY"](nazwa); elseif(nazwa_przestrzeni==nazwy_np_modul.Main)then return ":"..nazwy_modul["PEŁNANAZWASTRONY"](nazwa); else return nazwy_modul["PEŁNANAZWASTRONY"](nazwa); end; end; function p.ZnacznikoweTrueFalseSzeregZnakowy(yes) local yes_male=mw.ustring.lower(yes); return ((yes_male=="true") and true or ((yes_male~="false")and yes or false)); end; local function WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,liczba_obiektu) local liczba_obiektu=liczba_obiektu or 100; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika,tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika; end; end; end local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); if(not tablica_analizy_obiektow_strony_dany_modul)then tablica_analizy_obiektow_strony_dany_modul={}; znacznik,tablica_analizy_obiektow_strony_dany_modul=szablonowe_potrzebne_modul.KodowanieAtrybutoweZnacznikowe(znacznik,tablica_analizy_obiektow_strony_dany_modul); end; local html_modul=require("Module:Html"); znacznik=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik); znacznik=mw.ustring.gsub(znacznik,"(</[%a%d]+)(%s+[^<>]*)(>)%s*$","%1%3"); local nazwa,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*>(.-)</(%1)%s*>%s*$"); if((nazwa)and(zawartosc))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),zawartosc,nil; end; ---- local nazwa=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s*/?%s*>%s*$"); if(nazwa)then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return mw.ustring.lower(nazwa),nil,nil; end; ---- local nazwa,atrybuty,zawartosc=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*>(.-)</([%a%d]+)%s*>%s*$"); ---- if((not nazwa)or(not atrybuty)or(not zawartosc))then nazwa,atrybuty=mw.ustring.match(znacznik,"^%s*<([%a%d]+)%s+([^<>]-)%s*/?%s*>%s*$"); if((not nazwa)or(not atrybuty))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=nil; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=nil; end; return nil,nil,nil; end; end; ----- local techniczne_modul=require("Module:Techniczne"); local tab_atrybuty=szablonowe_potrzebne_modul.AtrybutyZnacznika(atrybuty,tablica_analizy_obiektow_strony_dany_modul); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[liczba_obiektu])then tablica_danych_parametrow_szablonu_strony[liczba_obiektu]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[liczba_obiektu]; 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.nazwa_znacznika=nazwa; tablica_danych_parametrow_szablonu_strony_numer_kod.istota_znacznika=zawartosc; tablica_danych_parametrow_szablonu_strony_numer_kod.atrybuty_znacznika=tab_atrybuty; end; return mw.ustring.lower(nazwa),zawartosc,tab_atrybuty; end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,100); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,101); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,102); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,103); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,104); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguGallery(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,105); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguImageMap(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,106); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguInputBox(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,107); end; function p.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguQuiz(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod) return WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeFormZnacznikowych(znacznik,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod,108); end; function p.KodSymbolicznyTagu(nazwa,zawartosc,atrybuty,jako_szablony) local tab_str={}; table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,nazwa); if(atrybuty)then local parametry_modul=require("Module:Parametry"); for name,value in pairs(atrybuty)do table.insert(tab_str," "); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{=}}","="); if(parametry_modul.TypeString(value))then table.insert(tab_str,"\""..value.."\""); else table.insert(tab_str,tostring(value)); end; end; end; table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); table.insert(tab_str,zawartosc or ""); table.insert(tab_str,jako_szablony and "{{Mniejszy}}" or "<"); table.insert(tab_str,"/"); table.insert(tab_str,name); table.insert(tab_str,jako_szablony and "{{Większy}}" or ">"); return table.concat(tab_str,""); end; function p.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA1,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA6,__FUNKCJA7,__FUNKCJA8,__FUNKCJA9,__FUNKCJA_domyslna,__FUNKCJA_begin,__FUNKCJA_parsowania,__FUNKCJA_parametry,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,trimuj_numerowane) ---- local wynik=__FUNKCJA_begin and __FUNKCJA_begin(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa) or nil; if(wynik)then return nil;end; local tablica_danych_parametrow_szablonu_strony_numer=kod and tablica_danych_parametrow_szablonu_strony and tablica_danych_parametrow_szablonu_strony[1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; local tab_pop=tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.nazwa_szablonu; --and tablica_danych_parametrow_szablonu_strony_numer_kod.parametry; ---- local tabela_parametrow_szablonu;local nazwa_szablonu;local tabela_modyfikatorow; local parametry_modul=require("Module:Parametry"); if((not __FUNKCJA_parsowania) or ((__FUNKCJA_parsowania)and(__FUNKCJA_parsowania(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa))))then tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=p["ParsowanieWywołaniaSzablonu"](szablon,trimuj_numerowane,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); else nazwa_szablonu,tabela_modyfikatorow=p["NazwaSzablonuWywołania"](szablon,__FUNKCJA_nazwa1,__FUNKCJA_nazwa2,tablica_danych_parametrow_szablonu_strony,kod); tabela_parametrow_szablonu=(not __FUNKCJA_parametry) and true or __FUNKCJA_parametry(szablon,"SZABLON",kod,tablica_danych_parametrow_szablonu_strony,pelna_nazwa_spisu_tresci_szablonowa); end; if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then ---- if(__FUNKCJA7 and __FUNKCJA7(nazwa_szablonu) or ((not __FUNKCJA7) and true or false))then if(__FUNKCJA1 or __FUNKCJA_domyslna)then local techniczne_modul=require("Module:Techniczne"); if(not tab_pop)then if((kod)and(tablica_danych_parametrow_szablonu_strony))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-1]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.adres_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[3]; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer and tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod and tablica_danych_parametrow_szablonu_strony_numer_kod.szablonowa_nazwa_strony )then tablica_danych_parametrow_szablonu_strony_numer[kod]=nil; end; end; end; nazwa_szablonu=pelna_nazwa_spisu_tresci_szablonowa and techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=pelna_nazwa_spisu_tresci_szablonowa,},tablica_danych_parametrow_szablonu_strony,kod) or nazwa_szablonu; nazwa_szablonu=p["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(__FUNKCJA1)then return __FUNKCJA1(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); else return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA8)then return __FUNKCJA8(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(p.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow,nazwa_szablonu,tabela_parametrow_szablonu))then if(__FUNKCJA2)then return __FUNKCJA2(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow)then if(tabela_modyfikatorow["#invoke:"])then if(__FUNKCJA3)then return __FUNKCJA3(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; elseif(tabela_modyfikatorow["#tag:"])then if(__FUNKCJA4)then nazwa_szablonu=mw.getContentLanguage():lc(nazwa_szablonu); return __FUNKCJA4(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else local czy_sa_takie_funkcje=(__FUNKCJA5 and __FUNKCJA6) and true or nil; if(czy_sa_takie_funkcje)then local function CzyTenSzablonToParser(tabela_modyfikatorow) for name,value in pairs(tabela_modyfikatorow)do if(mw.ustring.match(name,"^#%a+:$"))then return true; end; end; return false; end; if(CzyTenSzablonToParser(tabela_modyfikatorow))then if(__FUNKCJA5)then return __FUNKCJA5(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; else if(__FUNKCJA6)then return __FUNKCJA6(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; else if(__FUNKCJA9)then return __FUNKCJA9(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); elseif(__FUNKCJA_domyslna)then return __FUNKCJA_domyslna(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,"SZABLON",kod); end; end; end; p["SprawdzanieCzyWystępujeDanySzablonWTekście"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr(1) or PobierzParametr("tekst"); local pattern=PobierzParametr(2) or PobierzParametr("wzór"); local szablon=PobierzParametr(3) or PobierzParametr("szablon"); local czy_z_parametrami=PobierzParametr(4) or PobierzParametr("z parametrami"); ---- local parametry_modul=require("Module:Parametry"); czy_z_parametrami=((parametry_modul.TypeTable(czy_z_parametrami)) and czy_z_parametrami or (((not parametry_modul.TypeString(czy_z_parametrami)) and(not parametry_modul.TypeNil(czy_z_parametrami)) and(not parametry_modul.TypeBoolean(czy_z_parametrami))) and czy_z_parametrami or (parametry_modul.CzyTak(czy_z_parametrami) and true or false) ) ); ---- szablon=parametry_modul["Odstępy"]{[1]=szablon,[2]="tak",}; szablon=mw.getContentLanguage():ucfirst(szablon); ---- local iter=mw.ustring.gmatch(tekst,pattern); for nazwa_szablonowa in iter do local czy_szablon,tabela_modyfikatorow=p["UstalanieNazwyWywołania"](nazwa_szablonowa); local nazwa_szablonu=p["SzablonowaNazwaStrony"](czy_szablon); if(p.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,czy_z_parametrami))then if(nazwa_szablonu==szablon)then return "tak"; end; end; end; return nil; end; return p; nwbg9sepa0q5beogh9acot5qcbtq7qm Moduł:Szablonowe/Potrzebne 828 60145 544825 542689 2026-06-01T14:02:08Z Persino 2851 544825 Scribunto text/plain local p={}; function p.TranslatorProstyTekstDoEncodeWikiTekst(tekst) local szablonowe_modul=require("Module:Szablonowe"); tekst=mw.ustring.gsub(tekst,szablonowe_modul.NormaWzoruKodowaniaTekstu(),function(obiekt,kod) return szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu(obiekt,kod); end); return tekst; end; function p.TranslatorOdwrotnyEncodeWikiTekstDoTekst(tekst) local szablonowe_modul=require("Module:Szablonowe"); tekst=mw.ustring.gsub(tekst,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),function(obiekt,kod) return szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end); return tekst; end; function p.AtrybutyZnacznika(atrybuty,tab_element) local szablonowe_modul=require("Module:Szablonowe"); local techniczne_modul=require("Module:Techniczne"); local html_modul=require("Module:Html"); local tab_specjalne; if(tab_element)then atrybuty=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(atrybuty,nil,tab_element,function(szablon,obiekt,kod) if(obiekt=="UCIECZKI")then return szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu(obiekt,kod); end; return szablon; end); else tab_specjalne={};local ile=1; atrybuty=mw.ustring.gsub(atrybuty,"(\\[\"'])",function(wyraz_specjalny) local wyraz=szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu("UCIECZKI",ile); tab_specjalne[wyraz]=wyraz_specjalny; ile=ile+1; return wyraz; end); end; atrybuty=" "..atrybuty.." "; local tab_atrybuty={}; while(true)do local szablon,name,_,value,_=mw.ustring.match(atrybuty,"(%s+(%a+)%s*=%s*([\"'])(.-)(%3)%s+)"); if((not szablon)or(not name)or(not value))then break;end; tab_atrybuty[name]=szablonowe_modul.ZnacznikoweTrueFalseSzeregZnakowy(html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)); szablon=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](szablon); atrybuty=mw.ustring.gsub(atrybuty,szablon," "); end; while(true)do local szablon,name,value=mw.ustring.match(atrybuty,"(%s+(%a+)%s*=%s*([%a%d]+)%s+)"); if((not szablon)or(not name)or(not value))then break;end; tab_atrybuty[name]=szablonowe_modul.ZnacznikoweTrueFalseSzeregZnakowy(value); szablon=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](szablon); atrybuty=mw.ustring.gsub(atrybuty,szablon," "); end; while(true)do local szablon,name=mw.ustring.match(atrybuty,"(%s+(%a+)%s+)"); if(not name)then break;end; tab_atrybuty[name]=true; name=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](szablon); atrybuty=mw.ustring.gsub(atrybuty,name," "); end; local parametry_modul=require("Module:Parametry"); for name,value in pairs(tab_atrybuty) do if(not parametry_modul.TypeBoolean(value))then local value;local ile; if(tab_element)then value,ile=mw.ustring.gsub(atrybuty,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu("UCIECZKI"),function(obiekt,kod) local szablon=(tab_element[obiekt] or {})[kod]; return szablon; end); else value,ile=mw.ustring.gsub(value,"("..szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu("UCIECZKI")..")",function(wyraz) local wynik=tab_specjalne[wyraz]; return wynik; end); end; if(ile>0)then tab_atrybuty[name]=value; end; end; end; return tab_atrybuty; end; function p.KodowanieAtrybutoweZnacznikowe(tekst_artykulu,tab_element) local szablonowe_modul=require("Module:Szablonowe"); local function ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon,nazwa,czy_tak) nazwa=nazwa or "ATRYBUTY"; if(not tab_element[nazwa])then tab_element[nazwa]={};end; tab_element[nazwa][#tab_element[nazwa]+1]=szablon; local ile=#tab_element[nazwa]; if(not czy_tak)then local szablon_kod=szablonowe_modul.NormaKoduKodowaniaTekstu(nazwa,ile); return szablon_kod; else local szablon_kod=szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu(nazwa,ile); return szablon_kod; end; end; local function ZNAKI_UCIECZKI(tekst_artykulu) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(([\\]*)(\\[\"']))",function(szablon,przed,po) local ile=#przed; if(math.mod(ile,2)==0)then szablon=ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon,"UCIECZKI",true); return szablon; end; return nil; end); return tekst_artykulu; end; local function ATRYBUTY(szablon1,szablon2,szablon3,cudzyslow) local _, ile=mw.ustring.gsub(szablon2,"("..cudzyslow..")",function(s)return nil;end); if(math.mod(ile,2)==0)then szablon2=ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon2,nil,true); return szablon1..szablon2..szablon3,true; else szablon2=mw.ustring.gsub(szablon2,"("..cudzyslow..".*"..cudzyslow..")(.-"..cudzyslow.."[^"..cudzyslow.."]*)$",function(__szablon1,__szablon2) __szablon1=ROZWAZANIA_SZABLONOWE_ATRYBUTY(__szablon1,nil,true); return __szablon1..__szablon2; end); szablon3=ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon3,"KOŃCOWE",true); return szablon1..szablon2..szablon3,false; end; end; tekst_artykulu=ZNAKI_UCIECZKI(tekst_artykulu); local KodowaniaZnakoweAtrybutoweNieucieczkowe=function(tekst_artykulu,wzor) repeat local ile_naprawy_znacznikow=nil; local ile_naprawy_znacznikow_odejmnoc=0; tekst_artykulu,ile_naprawy_znacznikow=mw.ustring.gsub(tekst_artykulu,wzor,function(szablon1,szablon2,cudzyslow,szablon3) local szablon,tak=ATRYBUTY(szablon1,szablon2,szablon3,cudzyslow); if(tak)then ile_naprawy_znacznikow_odejmnoc=ile_naprawy_znacznikow_odejmnoc+1;end; return szablon; end); ile_naprawy_znacznikow=ile_naprawy_znacznikow-ile_naprawy_znacznikow_odejmnoc; until(ile_naprawy_znacznikow==0); return tekst_artykulu; end; tekst_artykulu=KodowaniaZnakoweAtrybutoweNieucieczkowe(tekst_artykulu,"(</?[%a%d]+%s+)([^<>]-([\"']).-%3[^<>]-)(/?>)"); local PodmienianieSzablonoweEncodeWikiTestuNaTekstu=function(obiekt,kod,ile) kod=tonumber(kod); local szablon=(tab_element[obiekt] or {})[kod]; if(not szablon)then return nil;end; local szablon_kodowy=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); ile=ile+1; return szablon_kodowy,ile; end; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),function(obiekt,kod) if(obiekt~="UCIECZKI")then local szablon_kodowy,ile=PodmienianieSzablonoweEncodeWikiTestuNaTekstu(obiekt,kod,0); if(not szablon_kodowy)then return nil;end; return szablon_kodowy; end; return nil; end); tekst_artykulu=szablonowe_modul:ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(tekst_artykulu,nil,tab_element, function(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local ile=0; local szablon=mw.ustring.gsub(szablon,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),function(obiekt,kod) if(obiekt~="UCIECZKI")then local szablon_kodowy; szablon_kodowy,ile=PodmienianieSzablonoweEncodeWikiTestuNaTekstu(obiekt,kod,ile); if(not szablon_kodowy)then return nil;end; return szablon_kodowy; end; return nil; end); if(ile==0)then return nil;end; return true,szablon,obiekt,kod; end); tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst_artykulu,nil,tab_element,function(szablon,obiekt,kod) if(obiekt=="KOŃCOWE")then return szablon; end; return nil,true; end); return tekst_artykulu,tab_element; end; function p.MetaTabelkaSzablonowe(__metatablica) local tablica={};local __FUNKCJA; __metatablica.UstawTablica=function(tablica_inna) return function() return tablica_inna or tablica; end; end; __metatablica.UstawFunkcjaDaneParametry=function(__FUNKCJA_start,obiekt) __FUNKCJA=__FUNKCJA_start(obiekt); end; local fun_tablica=__metatablica.UstawTablica(tablica); __metatablica.tablica=function() return fun_tablica(); end; __metatablica.__len=function(t) return #fun_tablica(); end; __metatablica.__index=function(t,klucz) local tab=fun_tablica()[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then local wartosc_tablicy=fun_tablica()[klucz]; if(wartosc_tablicy~=nil)then wartosc_tablicy[1]=wartosc; wartosc_tablicy[2]=false; if(__FUNKCJA)then __FUNKCJA(fun_tablica(),klucz,wartosc_tablicy,false);end; else local tab={wartosc,true,}; fun_tablica()[klucz]=tab; if(__FUNKCJA)then __FUNKCJA(fun_tablica(),klucz,tab,true);end; end; else fun_tablica()[klucz]=nil; end; end; __metatablica.__pairs=function(t) return next,fun_tablica(),nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v; end end __metatablica.__ipairs=function(t) return iter,fun_tablica(),0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatabelka.tablica(); local __metatabelka2={}; p.MetaTabelkaSzablonowe(__metatabelka2); local value2={}; setmetatable(value2,__metatabelka2); local tabelka_metatable2=__metatabelka2.tablica(); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local numer_szablonu; local strony_modul=require("Module:Strony"); local szeregi_modul=require("Module:Szeregi"); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local szablonowe_modul=require("Module:Szablonowe"); local specjalne_modul=require("Module:Specjalne"); local tab_wiki_znacznik=szablonowe_dane_modul.tablica_wiki_znaczniki; local tablica_znacznikowa_preprocesora_szablonowego=szablonowe_dane_modul.tablica_znacznikowa_preprocesora_szablonowego; local function InicjujNumeryPoczatkoweObiektowSzablonow() if(not __FUNKCJA3)then numer_szablonu={}; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=1; end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=1; end; else numer_szablonu=__FUNKCJA3(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; end; local PREWSTAWIAJACA=nil;local NiedokonczoneElementyWikikodu=nil;local czy_wynik=true; local function ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,co) if(__FUNKCJA2)then local wynik=__FUNKCJA2(szablon,co,numer_szablonu[co or "SZABLON"],tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu); if(wynik)then numer_szablonu[co or "SZABLON"]=numer_szablonu[co or "SZABLON"]+1; wynik=(czy_wynik and PREWSTAWIAJACA) and PREWSTAWIAJACA(wynik) or wynik; return wynik,false; end; end; if(__FUNKCJA)then szablon=__FUNKCJA(szablon,co,numer_szablonu[co or "SZABLON"]) or szablon; end; local kod=szablonowe_modul.NormaKoduKodowaniaTekstu(co,numer_szablonu[co or "SZABLON"]); --- local tab_co=tablica_analizy_obiektow_strony_dany_modul[co or "SZABLON"]; local __metatablica=getmetatable(tab_co); local czy_ustawiona_metatabelka=__metatablica and true or false; if(not __metatablica)then __metatablica={}; p.MetaTabelkaSzablonowe(__metatablica); setmetatable(tab_co,__metatablica); end; local tablica_co=__metatablica.tablica(); local obiekt=co or "SZABLON"; if((__FUNKCJA_PARAMETRY)and(not czy_ustawiona_metatabelka))then __metatablica.UstawFunkcjaDaneParametry(__FUNKCJA_PARAMETRY,obiekt); end; tablica_co[numer_szablonu[obiekt]]={szablon,false,}; --- numer_szablonu[obiekt]=numer_szablonu[obiekt]+1; return kod,true; end; local function AnalizaObiektowSzablonowegoTekstu(tekst_artykulu) local ile_znacznik_niedomykajacy_0;local ile_znacznik_niedomykajacy_1;local ile_znacznik_niedomykajacy_2; local techniczne_modul=require("Module:Techniczne"); local tab_licznik_poczatek={}; local tab_licznik_koniec={}; local tab_element={}; local ObiektFun=function(nazwa) return szablonowe_dane_modul.tablica_znaczniki_typowo_mechanizmu_mediawiki[nazwa] or (__FUNCTION_INCLUDE and __FUNCTION_INCLUDE(nazwa) and tablica_znacznikowa_preprocesora_szablonowego[nazwa] and "INCLUDE" or nil) or (tab_wiki_znacznik[nazwa] and "ZNACZNIK" or nil); end; local INCLUDE=function(tekst_artykulu) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<[^<>]") end; local INNEPRE=function(tekst_artykulu,czy_poczt,czy_szablon) local function INNEPREROZ(poczatek,koniec) repeat local ile;local ile2=0; tekst_artykulu,ile=mw.ustring.gsub(tekst_artykulu,(poczatek and "\n" or "^").."([^%S\n]+)([^\n]*)"..(koniec and "\n" or "$"),function(spacje,kod) if((not czy_szablon)or((czy_szablon)and((not mw.ustring.match(kod,"[|=]"))and((koniec)and true or (not mw.ustring.match(kod,"^[^%S\n]*$"))))))then kod=NiedokonczoneElementyWikikodu(kod); local szablon=spacje..kod; return (poczatek and "\n" or "")..ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"INNEPRE")..(koniec and "\n" or ""); else ile2=ile2+1; end; end); ile=ile-ile2; until (ile==0); end; if(not czy_poczt)then INNEPREROZ(false,true); INNEPREROZ(false,false); end; INNEPREROZ(true,true); INNEPREROZ(true,false); return tekst_artykulu; end; local tab_znaczniki={}; local tab_numerki={}; local function PreprocesorSzablonow(tekst_artykulu) tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul=p.KodowanieAtrybutoweZnacznikowe(tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul); local function ZnacznikiWiki(tekst_artykulu,czy_zawsze,czy_inne) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<(/?)([%a%d]+)(%s*)([^<>]-)(%s*)>",function(koniec,nazwa,odstepy_przed,tekst,odstepy_po) ----- if((odstepy_przed=="")and((tekst~="")and(tekst~="/")))then return;end; if(koniec=="")then local nazwa=mw.ustring.lower(nazwa); table.insert(tab_znaczniki,nazwa); local koniec_samozamykajacy=mw.ustring.match(tekst,"^(.-)%s*(/?)%s*$"); if(koniec_samozamykajacy=="/")then tab_licznik_koniec[nazwa]=(tab_licznik_koniec[nazwa] or 0)+1; end; tab_licznik_poczatek[nazwa]=(tab_licznik_poczatek[nazwa] or 0)+1; if(not tab_numerki[nazwa])then tab_numerki[nazwa]={};end; table.insert(tab_numerki[nazwa],tab_licznik_poczatek[nazwa]); local licznik=tab_licznik_poczatek[nazwa]; local szablon=nazwa..odstepy_przed..tekst..odstepy_po; if(not tab_element)then tab_element={};end; local typ=ObiektFun(nazwa); if(not typ)then return "&lt;"..koniec..nazwa..odstepy_przed..tekst..odstepy_po.."&gt;"; end; --- local czy_znacznik=(typ=="ZNACZNIK"); local czy_include=(typ=="INCLUDE"); local jak=(((czy_zawsze)or(czy_inne))and(not czy_znacznik))and ((not czy_include)and "innebegin" or "incbegin") or (((czy_zawsze)or(not czy_inne))and(czy_znacznik)and "begin" or nil); if(not jak)then return;end; ---- if(not tab_element[nazwa..jak])then tab_element[nazwa..jak]={};end; tab_element[nazwa..jak][licznik]=szablon; return "<"..szablonowe_modul.NormaKoduKodowaniaTekstu(nazwa..jak,licznik)..">"; else local nazwa=mw.ustring.lower(nazwa); tab_licznik_koniec[nazwa]=(tab_licznik_koniec[nazwa] or 0)+1; local licznik; if(#tab_znaczniki>0)then if(tab_znaczniki[#tab_znaczniki]~=nazwa)then local koniec=0; for i=#tab_znaczniki-1,1,-1 do if(tab_znaczniki[i]==nazwa)then koniec=i; break; end; end; if(koniec>0)then licznik=tab_numerki[nazwa][#tab_numerki[nazwa]]; for i=koniec+1,#tab_znaczniki,1 do tab_licznik_koniec[tab_znaczniki[i]]=(tab_licznik_koniec[tab_znaczniki[i]] or 0)+1; end; for i=koniec,#tab_znaczniki,1 do table.remove(tab_numerki[tab_znaczniki[i]]); end; for i=#tab_znaczniki,koniec,-1 do table.remove(tab_znaczniki); end; else tab_licznik_poczatek[nazwa]=(tab_licznik_poczatek[nazwa] or 0)+1; licznik=tab_licznik_poczatek[nazwa]; end; else licznik=tab_numerki[nazwa][#tab_numerki[nazwa]]; table.remove(tab_numerki[nazwa]); table.remove(tab_znaczniki); end; else tab_licznik_poczatek[nazwa]=(tab_licznik_poczatek[nazwa] or 0)+1; licznik=tab_licznik_koniec[nazwa]; end; local szablon=nazwa..odstepy_przed..tekst..odstepy_po; if(not tab_element)then tab_element={};end; local typ=ObiektFun(nazwa); if(not typ)then return "&lt;"..koniec..nazwa..odstepy_przed..tekst..odstepy_po.."&gt;"; end; --- local czy_znacznik=(typ=="ZNACZNIK"); local czy_include=(typ=="INCLUDE"); local jak=(((czy_zawsze)or(czy_inne))and(not czy_znacznik))and ((not czy_include)and "inneend" or "incend") or (((czy_zawsze)or(not czy_inne))and(czy_znacznik)and "end" or nil); if(not jak)then return;end; --- if(not tab_element[nazwa..jak])then tab_element[nazwa..jak]={};end; tab_element[nazwa..jak][licznik]=szablon; return "</"..szablonowe_modul.NormaKoduKodowaniaTekstu(nazwa..jak,licznik)..">"; end; end); return tekst_artykulu; end; tekst_artykulu=ZnacznikiWiki(tekst_artykulu,false,true); local function ZnacznikiWikiLinia(tekst_artykulu,wzor1,wzor2) tekst_artykulu=szeregi_modul.ZamianaZnakowaLinii(tekst_artykulu, function(linia) local a;local b; a=mw.ustring.match(linia,wzor1); if(not a)then a,b=mw.ustring.match(linia,wzor2); if(not a)then return nil;end; end; if(b)then b=ZnacznikiWiki(b,false,false); return a..b; else a=ZnacznikiWiki(a,false,false); return a; end; end); return tekst_artykulu; end; ---- tekst_artykulu=ZnacznikiWikiLinia(tekst_artykulu,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$","^([%*#;:]+)([^\n]+)$"); tekst_artykulu=ZnacznikiWiki(tekst_artykulu,false,false); ---- local function AnalizujDomykajace(tekst_artykulu,jak,co) local tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<(/?)("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak..co,"(%d+)")..")>",function(poczatek,nazwa_przed_nieodkodowane,obiekt,kod) local nazwa_przed=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_przed_nieodkodowane,nil,tab_element); local nazwa,odstepy,atrybuty,koniec=mw.ustring.match(nazwa_przed,"^([%a%d]+)(%s*)(.-)%s*(/?)%s*$"); nazwa=mw.ustring.lower(nazwa); if((koniec=="/")or(nazwa=="br")or(nazwa=="hr")or(nazwa=="templatestyles"))then local szablon="<"..poczatek..nazwa_przed..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,ObiektFun(nazwa)); end; return nil; end); return tekst_artykulu; end; tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"inne","begin"); tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"","begin"); tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"inne","end"); tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"","end"); ---- return tekst_artykulu; end; tekst_artykulu=PreprocesorSzablonow(tekst_artykulu); local function Kompilacja(tekst_artykulu) ---- local ZamianaLINKWNaLINKZ=function(zawartosc,dalej) local czy_url=strony_modul.SprawdzanieURL(zawartosc); if(czy_url)then local szablon="["..zawartosc.."]"; return "["..ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"LINKZ").."]"..dalej; else if((dalej)and(dalej~=""))then if(specjalne_modul["CzyAdresLinkuWewnętrznego"]{adres=zawartosc,})then local szablon; if(mw.ustring.match(zawartosc,"|"))then szablon="[["..zawartosc..dalej.."]]"; else local nazwa=mw.ustring.gsub(zawartosc,"^[%s_]*:[%s_]*",""); szablon="[["..zawartosc.."|"..nazwa..dalej.."]]"; end; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"LINKW"); end; end; local szablon="[["..zawartosc.."]]"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"LINKW")..dalej; end; end; local PracePrzygotowywujace; NiedokonczoneElementyWikikodu=function(tekst_artykulu,czy_main) local function DomykajaceIOdtwierajace(tekst_artykulu,jak,tablica_znacznikow) repeat local ile_znacznik_niedomykajacy; local ile_znacznik_niedomykajacy_ujemny=0; tekst_artykulu,ile_znacznik_niedomykajacy=mw.ustring.gsub(tekst_artykulu,"<("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak.."begin","(%d+)")..")>(.*)$",function(nazwa_przed_nieodkodowane,obiekt,kod,zawartosc) local nazwa_przed=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_przed_nieodkodowane,nil,tab_element); if(tablica_znacznikow)then if(not tablica_znacznikow[nazwa_przed])then ile_znacznik_niedomykajacy_ujemny=ile_znacznik_niedomykajacy_ujemny+1; return nil; end; end; zawartosc=INNEPRE(zawartosc,true); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); local nazwa,odstepy,atrybuty=mw.ustring.match(nazwa_przed,"^([%a%d]+)(%s*)(.-)%s*$"); local szablon="<"..nazwa_przed..">"..zawartosc..((mw.ustring.match(zawartosc,"\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$") or mw.ustring.match(zawartosc,"\n[%*#:;][^\n]*$") ) and "\n" or "").."</"..nazwa..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"ZNACZNIK"); end); ile_znacznik_niedomykajacy=ile_znacznik_niedomykajacy-ile_znacznik_niedomykajacy_ujemny; until (ile_znacznik_niedomykajacy==0); repeat local ile_znacznik_nieotwierajacy; local ile_znacznik_nieotwierajacy_ujemny=0; tekst_artykulu,ile_znacznik_nieotwierajacy=mw.ustring.gsub(tekst_artykulu,"^(.*)</("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak.."end","(%d+)")..")>",function(zawartosc,nazwa_po_nieodkodowane,obiekt,kod) local nazwa_po=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_po_nieodkodowane,nil,tab_element); if(tablica_znacznikow)then if(not tablica_znacznikow[nazwa_po])then ile_znacznik_nieotwierajacy_ujemny=ile_znacznik_nieotwierajacy_ujemny+1; return nil; end; end; zawartosc=INNEPRE(zawartosc); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); local nazwa,odstepy,atrybuty=mw.ustring.match(nazwa_po,"^([%a%d]+)(%s*)(.-)%s*$"); local szablon="<"..nazwa..">"..((mw.ustring.match(zawartosc,"^=[^\n]*[^%s=][^\n]*=[^%S\n]*\n") or mw.ustring.match(zawartosc,"^[%*#:;][^\n]*\n") ) and "\n" or "")..zawartosc.."</"..nazwa_po..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"ZNACZNIK"); end); ile_znacznik_nieotwierajacy=ile_znacznik_nieotwierajacy-ile_znacznik_nieotwierajacy_ujemny; until (ile_znacznik_nieotwierajacy==0); return tekst_artykulu; end; if(__FUNCTION_niedokonczone)then local wynik,gdy_nie,tablica_znacznikow,czy_koniec,__FUNCTION=__FUNCTION_niedokonczone(tekst_artykulu,tab_element); if(gdy_nie)then if(czy_koniec)then return wynik or tekst_artykulu;end; tekst_artykulu=wynik or tekst_artykulu; tekst_artykulu=__FUNCTION and __FUNCTION(tekst_artykulu) or tekst_artykulu; tekst_artykulu=tablica_znacznikow and DomykajaceIOdtwierajace(tekst_artykulu,"",tablica_znacznikow) or tekst_artykulu; return tekst_artykulu; else tekst_artykulu=wynik or tekst_artykulu; end; end; local function DomykajaceIOdtwierajaceWikiTabelka(tekst_artykulu) repeat local ile_wikitabela_1; tekst_artykulu,ile_wikitabela_1=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"({|)(.-)$", function(szereg,numer,licznik_wzor,numer_a,numer_b,poczatek,szablon) return mw.ustring.match(szablon,"\n%{%|"),((licznik_wzor==1)and 2 or 3); end, function(licznik_wzor,poczatek,szablon) szablon=INNEPRE(szablon,true); szablon=NiedokonczoneElementyWikikodu(szablon); szablon=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon,nil,tab_element); return (((czy_main)and(licznik_wzor==1)) and "" or "\n")..ZamienObiektSzablonuKodem(self,poczatek..szablon.."\n|}",tablica_analizy_obiektow_strony_dany_modul,"WIKITABELA"); end, function(wzor,licznik_wzor,czy) if(czy_main)then if(licznik_wzor==1)then return "^"..wzor,true;end; return "\n"..wzor,false; else return "\n"..wzor,false; end; end); until (ile_wikitabela_1==0); repeat local ile_wikitabela_2; tekst_artykulu,ile_wikitabela_2=mw.ustring.gsub(tekst_artykulu,"^(.-)(\n|})",function(szablon,koniec) szablon=INNEPRE(szablon); szablon=NiedokonczoneElementyWikikodu(szablon); szablon=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon,nil,tab_element); return ZamienObiektSzablonuKodem(self,"\n{|\n"..szablon..koniec,tablica_analizy_obiektow_strony_dany_modul,"WIKITABELA"); end); until (ile_wikitabela_2==0); return tekst_artykulu; end; local function DomykajaceIOdtwierajaceLinia(tekst_artykulu,wzor_dodatnie,wzor_ujemne) tekst_artykulu=szeregi_modul.ZamianaZnakowaLinii(tekst_artykulu,function(linia) local dodatnie=nil; local a,b,c=mw.ustring.match(linia,wzor_dodatnie); if((not a)or(not b)or(not c))then a,b=mw.ustring.match(linia,wzor_ujemne); if((not a)or(not b))then return nil;end; c=nil; else dodatnie=true; end; if(dodatnie)then b=DomykajaceIOdtwierajace(b,""); return a..b..c; else b=DomykajaceIOdtwierajace(b,""); return a..b; end; end); return tekst_artykulu; end; --- tekst_artykulu=DomykajaceIOdtwierajace(tekst_artykulu,"inne"); ----- local wzor_dodatnie="^(=+[^%S\n]*)([^\n]-[^%s=][^\n]-)([^%S\n]*=+[^%S\n]*)$"; local wzor_ujemne="^([%*#;:]+[^%S\n]*)([^\n]+)$"; tekst_artykulu=DomykajaceIOdtwierajaceLinia(tekst_artykulu,wzor_dodatnie,wzor_ujemne); ----- --- --tekst_artykulu=DomykajaceIOdtwierajace(tekst_artykulu,"inne"); tekst_artykulu=DomykajaceIOdtwierajace(tekst_artykulu,""); tekst_artykulu=DomykajaceIOdtwierajaceWikiTabelka(tekst_artykulu); return tekst_artykulu; end; local function ZNACZNIKI(tekst_artykulu,jak) local ile_odjac_znacznik_niedomykajacy=0; local tekst_artykulu,ile_znacznik_niedomykajacy=mw.ustring.gsub(tekst_artykulu,"<("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak.."begin","(%d+)")..")>(.-)</("..szablonowe_modul.NormaWzoruKodowaniaTekstu("(%2)"..jak.."end","(%3)")..")>",function(nazwa_przed_nieodkodowane,obiekt,kod,zawartosc,nazwa_po_nieodkodowane,obiekt2,kod2) local nazwa_przed=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_przed_nieodkodowane,nil,tab_element); local nazwa,odstepy,atrybuty=mw.ustring.match(nazwa_przed,"^([%a%d]+)(%s*)(.-)%s*$"); nazwa=mw.ustring.lower(nazwa); local function TenZnacznik() local nazwa_po=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_po_nieodkodowane,nil,tab_element); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); if(jak=="")then zawartosc=INNEPRE(zawartosc,true); end; local szablon="<"..nazwa_przed..">"..zawartosc.."</"..nazwa_po..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,ObiektFun(nazwa)); end; local function InneZnacznik() ile_odjac_znacznik_niedomykajacy=ile_odjac_znacznik_niedomykajacy+1; local szablon="<"..nazwa_przed_nieodkodowane..">"..zawartosc.."</"..nazwa_po_nieodkodowane..">"; return szablon; end; if(not mw.ustring.match(atrybuty,"^%s*$"))then if(odstepy~="")then if((jak~="")and(jak~="inc"))then return TenZnacznik(); end; else return InneZnacznik(); end; else if((jak~="")and(jak~="inc"))then return TenZnacznik(); end; end; ---- local ile_zastapione;local ile_pominiete; zawartosc,ile_zastapione,ile_pominiete=ZNACZNIKI(zawartosc,jak); zawartosc=PracePrzygotowywujace(zawartosc); zawartosc=INNEPRE(zawartosc,true); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); return TenZnacznik(); end); return tekst_artykulu,ile_znacznik_niedomykajacy,ile_odjac_znacznik_niedomykajacy; end; ---- PracePrzygotowywujace=function(tekst_artykulu,czy_main) local ile_linkw;local ile_linkz;local ile_var;local ile_template;local ile_wikitabela; local function Szablon(zawartosc,przed,po,obiekt,czy_linkw,dalej) local ile_znacznik_niedomykajacy,ile_odjac_znacznik_niedomykajacy; zawartosc,ile_znacznik_niedomykajacy,ile_odjac_znacznik_niedomykajacy=ZNACZNIKI(zawartosc,""); zawartosc=PracePrzygotowywujace(zawartosc); zawartosc=INNEPRE(zawartosc,true,(obiekt=="SZABLON")); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); if(czy_linkw)then return ZamianaLINKWNaLINKZ(zawartosc,dalej); else local szablon=przed..zawartosc..po; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,obiekt); end; end; repeat repeat tekst_artykulu,ile_linkw=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"%[%[(.-%[?)%]%](%]?)(%l*)", function(szereg,numer,numer_a,numer_b,szablon,dodatkowe,dalej) return mw.ustring.match(szablon,"%[%["),2; end, function(szablon,dodatkowe,dalej) if(dodatkowe~="")then local czy_linkz=mw.ustring.match(szablon,"%[[^%[%]]*$"); if(czy_linkz)then szablon=szablon..dodatkowe; return Szablon(szablon,"[[","]]","LINKW",true,dalej); else return Szablon(szablon,"[[","]]","LINKW",true,"")..dodatkowe..dalej; end; else return Szablon(szablon,"[[","]]","LINKW",true,dalej); end; end); until (ile_linkw==0); tekst_artykulu,ile_linkz=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"%[(.-)%]", function(szereg,numer,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"%["),1; end, function(szablon) return Szablon(szablon,"[","]","LINKZ"); end); repeat tekst_artykulu,ile_var=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"{{{(.-)}}}", function(szereg,numer,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"%{%{%{"),3; end, function(szablon) return Szablon(szablon,"{{{","}}}","ZMIENNA"); end); until (ile_var==0); tekst_artykulu,ile_template=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"{{(.-)}}", function(szereg,numer,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"%{%{"),2; end, function(szablon) return Szablon(szablon,"{{","}}","SZABLON"); end); tekst_artykulu,ile_wikitabela=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"{|(.-)\n|}", function(szereg,numer,licznik_wzor,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"\n%{%|"),(czy_main and ((licznik_wzor==1) and 2 or 3) or 3); end, function(licznik_wzor,szablon) if((czy_main)and(licznik_wzor==1))then return Szablon(szablon,"{|","\n|}","WIKITABELA"); else return "\n"..Szablon(szablon,"{|","\n|}","WIKITABELA"); end; end, function(wzor,numer_begin,czy) if(czy_main)then if(numer_begin==1)then return "^"..wzor,true;end; return "\n"..wzor,false; else return "\n"..wzor,false; end; end); until ((ile_linkw==0)and(ile_linkz==0)and(ile_var==0)and(ile_template==0)and(ile_wikitabela==0)); return tekst_artykulu; end; ---- local ile_odjac_znacznik_niedomykajacy_0; if(__FUNCTION_INCLUDE)then tekst_artykulu,ile_znacznik_niedomykajacy_0,ile_odjac_znacznik_niedomykajacy_0=ZNACZNIKI(tekst_artykulu,"inc"); ile_znacznik_niedomykajacy_0=ile_znacznik_niedomykajacy_0-ile_odjac_znacznik_niedomykajacy_0; ---- tekst_artykulu=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="INCLUDE")then local nazwa,zawartosc,tab=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul); if(__FUNCTION_INCLUDE(nazwa))then local function inc(zawartosc) return (mw.ustring.match(tekst_artykulu,"{{{[^{}|]*"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod).."%s*}}}") or mw.ustring.match(tekst_artykulu,"{{.-|.-"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..".-}}") )and true or false; end; if(nazwa=="noinclude")then if(poziom_iteracji==0)then return (not inc(zawartosc)) and "" or zawartosc; else return zawartosc; end; elseif(nazwa=="includeonly")then if(poziom_iteracji==0)then return (not inc(zawartosc)) and zawartosc or ""; else return ""; end; end; end; end; return nil,true; end); end; ---- local ile_odjac_znacznik_niedomykajacy_1; tekst_artykulu,ile_znacznik_niedomykajacy_1,ile_odjac_znacznik_niedomykajacy_1=ZNACZNIKI(tekst_artykulu,"inne"); ile_znacznik_niedomykajacy_1=ile_znacznik_niedomykajacy_1-ile_odjac_znacznik_niedomykajacy_1; ---- tekst_artykulu=PracePrzygotowywujace(tekst_artykulu,true); ---- local ile_odjac_znacznik_niedomykajacy_2; tekst_artykulu,ile_znacznik_niedomykajacy_2,ile_odjac_znacznik_niedomykajacy_2=ZNACZNIKI(tekst_artykulu,""); return tekst_artykulu; end; PREWSTAWIAJACA=function(tekst_artykulu) czy_wynik=nil; tekst_artykulu=PreprocesorSzablonow(tekst_artykulu); tekst_artykulu=Kompilacja(tekst_artykulu); czy_wynik=true; return tekst_artykulu; end; tekst_artykulu=Kompilacja(tekst_artykulu) local function PoczatekKoniecTekst(tekst_artykulu) local tekst_poczatek=(__FUNKCJA_poczatek and __FUNKCJA_poczatek(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or nil); local tekst_koniec=(__FUNKCJA_koniec and __FUNKCJA_koniec(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or nil); if(((tekst_poczatek)and(not mw.ustring.match(tekst_poczatek,"^%s*$")))or((tekst_koniec)and(not mw.ustring.match(tekst_koniec,"^%s*$"))))then tekst_poczatek=tekst_poczatek and PREWSTAWIAJACA(tekst_poczatek) or tekst_poczatek; tekst_koniec=tekst_koniec and PREWSTAWIAJACA(tekst_koniec) or tekst_koniec; tekst_artykulu=(tekst_poczatek or "")..tekst_artykulu..(tekst_koniec or ""); end; return tekst_artykulu; end; tekst_artykulu=PoczatekKoniecTekst(tekst_artykulu); local function PraceKoncowe(tekst_artykulu) tekst_artykulu=NiedokonczoneElementyWikikodu(tekst_artykulu,true); return tekst_artykulu; end; tekst_artykulu=PraceKoncowe(tekst_artykulu); tekst_artykulu=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_artykulu,nil,tab_element); tekst_artykulu=INNEPRE(tekst_artykulu); tekst_artykulu=szablonowe_modul.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_artykulu,nil,tablica_analizy_obiektow_strony_dany_modul); return tekst_artykulu; end; local function InicjujTabela() if(not __FUNKCJA3)then if(not __FUNKCJA4)then for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do tablica_analizy_obiektow_strony_dany_modul[obiekt]={}; end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do tablica_analizy_obiektow_strony_dany_modul[obiekt]={}; end; else tablica_analizy_obiektow_strony_dany_modul=__FUNKCJA4(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; else if(__FUNKCJA4)then tablica_analizy_obiektow_strony_dany_modul=__FUNKCJA4(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end; local function UstawieniaPoczatkoweObiektowSzablonow() if(not tablica_analizy_obiektow_strony_dany_modul)then if((self.tablica_analizy_obiektow_strony_dany_modul) and(self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]) )then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]; numer_szablonu=self.numer_szablonu; else if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]; --- InicjujNumeryPoczatkoweObiektowSzablonow(); self.numer_szablonu=numer_szablonu; InicjujTabela(); end; else InicjujNumeryPoczatkoweObiektowSzablonow(); InicjujTabela(); end; end; ---- UstawieniaPoczatkoweObiektowSzablonow(); --- local PreProcesorSTARE=function(tekst_artykulu,wzor_kodu,czy_tak) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"("..wzor_kodu..")",function(szablon,obiekt,kod) if(czy_tak)then local tablica_szablon_obiekt=tablica_analizy_obiektow_strony_dany_modul and tablica_analizy_obiektow_strony_dany_modul[obiekt] or nil; local kod=tablica_szablon_obiekt and tonumber(kod) or nil; if(kod)then local szablon_wynik=tablica_szablon_obiekt and tablica_szablon_obiekt[kod] or nil; if(not szablon_wynik)then return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"STARE"); else local wynik=__FUNKCJA2(szablon_wynik,obiekt,kod,tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu); return wynik; end; else return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"STARE"); end; else return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"STARE"); end; end); return tekst_artykulu; end; tekst_artykulu=PreProcesorSTARE(tekst_artykulu,szablonowe_modul.NormaWzoruKodowaniaTekstu(),true); tekst_artykulu=PreProcesorSTARE(tekst_artykulu,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),false); tekst_artykulu=AnalizaObiektowSzablonowegoTekstu(tekst_artykulu); return tekst_artykulu; end; return p; 60pfctqp68gj7scr11wy1j11trqf3yu 544827 544825 2026-06-01T14:11:04Z Persino 2851 544827 Scribunto text/plain local p={}; function p.TranslatorProstyTekstDoEncodeWikiTekst(tekst) local szablonowe_modul=require("Module:Szablonowe"); tekst=mw.ustring.gsub(tekst,szablonowe_modul.NormaWzoruKodowaniaTekstu(),function(obiekt,kod) return szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu(obiekt,kod); end); return tekst; end; function p.TranslatorOdwrotnyEncodeWikiTekstDoTekst(tekst) local szablonowe_modul=require("Module:Szablonowe"); tekst=mw.ustring.gsub(tekst,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),function(obiekt,kod) return szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); end); return tekst; end; function p.AtrybutyZnacznika(atrybuty,tab_element) local szablonowe_modul=require("Module:Szablonowe"); local techniczne_modul=require("Module:Techniczne"); local html_modul=require("Module:Html"); local tab_specjalne; if(tab_element)then atrybuty=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(atrybuty,nil,tab_element,function(szablon,obiekt,kod) if(obiekt=="UCIECZKI")then return szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu(obiekt,kod); end; return szablon; end); else tab_specjalne={};local ile=1; atrybuty=mw.ustring.gsub(atrybuty,"(\\[\"'])",function(wyraz_specjalny) local wyraz=szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu("UCIECZKI",ile); tab_specjalne[wyraz]=wyraz_specjalny; ile=ile+1; return wyraz; end); end; atrybuty=" "..atrybuty.." "; local tab_atrybuty={}; while(true)do local szablon,name,_,value,_=mw.ustring.match(atrybuty,"(%s+(%a+)%s*=%s*([\"'])(.-)(%3)%s+)"); if((not szablon)or(not name)or(not value))then break;end; tab_atrybuty[name]=szablonowe_modul.ZnacznikoweTrueFalseSzeregZnakowy(html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)); szablon=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](szablon); atrybuty=mw.ustring.gsub(atrybuty,szablon," "); end; while(true)do local szablon,name,value=mw.ustring.match(atrybuty,"(%s+(%a+)%s*=%s*([%a%d]+)%s+)"); if((not szablon)or(not name)or(not value))then break;end; tab_atrybuty[name]=szablonowe_modul.ZnacznikoweTrueFalseSzeregZnakowy(value); szablon=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](szablon); atrybuty=mw.ustring.gsub(atrybuty,szablon," "); end; while(true)do local szablon,name=mw.ustring.match(atrybuty,"(%s+(%a+)%s+)"); if(not name)then break;end; tab_atrybuty[name]=true; name=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](szablon); atrybuty=mw.ustring.gsub(atrybuty,name," "); end; local parametry_modul=require("Module:Parametry"); for name,value in pairs(tab_atrybuty) do if(not parametry_modul.TypeBoolean(value))then local value;local ile; if(tab_element)then value,ile=mw.ustring.gsub(atrybuty,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu("UCIECZKI"),function(obiekt,kod) local szablon=(tab_element[obiekt] or {})[kod]; return szablon; end); else value,ile=mw.ustring.gsub(value,"("..szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu("UCIECZKI")..")",function(wyraz) local wynik=tab_specjalne[wyraz]; return wynik; end); end; if(ile>0)then tab_atrybuty[name]=value; end; end; end; return tab_atrybuty; end; function p.KodowanieAtrybutoweZnacznikowe(tekst_artykulu,tab_element) local szablonowe_modul=require("Module:Szablonowe"); local function ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon,nazwa,czy_tak) nazwa=nazwa or "ATRYBUTY"; if(not tab_element[nazwa])then tab_element[nazwa]={};end; tab_element[nazwa][#tab_element[nazwa]+1]=szablon; local ile=#tab_element[nazwa]; if(not czy_tak)then local szablon_kod=szablonowe_modul.NormaKoduKodowaniaTekstu(nazwa,ile); return szablon_kod; else local szablon_kod=szablonowe_modul.NormaKoduZakodowanegoEncodeWikiTekstu(nazwa,ile); return szablon_kod; end; end; local function ZNAKI_UCIECZKI(tekst_artykulu) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(([\\]*)(\\[\"']))",function(szablon,przed,po) local ile=#przed; if(math.mod(ile,2)==0)then szablon=ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon,"UCIECZKI",true); return szablon; end; return nil; end); return tekst_artykulu; end; local function ATRYBUTY(szablon1,szablon2,szablon3,cudzyslow) local _, ile=mw.ustring.gsub(szablon2,"("..cudzyslow..")",function(s)return nil;end); if(math.mod(ile,2)==0)then szablon2=ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon2,nil,true); return szablon1..szablon2..szablon3,true; else szablon2=mw.ustring.gsub(szablon2,"("..cudzyslow..".*"..cudzyslow..")(.-"..cudzyslow.."[^"..cudzyslow.."]*)$",function(__szablon1,__szablon2) __szablon1=ROZWAZANIA_SZABLONOWE_ATRYBUTY(__szablon1,nil,true); return __szablon1..__szablon2; end); szablon3=ROZWAZANIA_SZABLONOWE_ATRYBUTY(szablon3,"KOŃCOWE",true); return szablon1..szablon2..szablon3,false; end; end; tekst_artykulu=ZNAKI_UCIECZKI(tekst_artykulu); local KodowaniaZnakoweAtrybutoweNieucieczkowe=function(tekst_artykulu,wzor) repeat local ile_naprawy_znacznikow=nil; local ile_naprawy_znacznikow_odejmnoc=0; tekst_artykulu,ile_naprawy_znacznikow=mw.ustring.gsub(tekst_artykulu,wzor,function(szablon1,szablon2,cudzyslow,szablon3) local szablon,tak=ATRYBUTY(szablon1,szablon2,szablon3,cudzyslow); if(tak)then ile_naprawy_znacznikow_odejmnoc=ile_naprawy_znacznikow_odejmnoc+1;end; return szablon; end); ile_naprawy_znacznikow=ile_naprawy_znacznikow-ile_naprawy_znacznikow_odejmnoc; until(ile_naprawy_znacznikow==0); return tekst_artykulu; end; tekst_artykulu=KodowaniaZnakoweAtrybutoweNieucieczkowe(tekst_artykulu,"(</?[%a%d]+%s+)([^<>]-([\"']).-%3[^<>]-)(/?>)"); local PodmienianieSzablonoweEncodeWikiTestuNaTekstu=function(obiekt,kod,ile) kod=tonumber(kod); local szablon=(tab_element[obiekt] or {})[kod]; if(not szablon)then return nil;end; local szablon_kodowy=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod); ile=ile+1; return szablon_kodowy,ile; end; tekst_artykulu=mw.ustring.gsub(tekst_artykulu,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),function(obiekt,kod) if(obiekt~="UCIECZKI")then local szablon_kodowy,ile=PodmienianieSzablonoweEncodeWikiTestuNaTekstu(obiekt,kod,0); if(not szablon_kodowy)then return nil;end; return szablon_kodowy; end; return nil; end); tekst_artykulu=szablonowe_modul:ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(tekst_artykulu,nil,tab_element, function(szablon,obiekt,kod,poziom_iteracji,szablon_rodzica,obiekt_rodzica,kod_rodzica,poziom_iteracji_rodzica) local ile=0; local szablon=mw.ustring.gsub(szablon,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),function(obiekt,kod) if(obiekt~="UCIECZKI")then local szablon_kodowy; szablon_kodowy,ile=PodmienianieSzablonoweEncodeWikiTestuNaTekstu(obiekt,kod,ile); if(not szablon_kodowy)then return nil;end; return szablon_kodowy; end; return nil; end); if(ile==0)then return nil;end; return true,szablon,obiekt,kod; end); tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst_artykulu,nil,tab_element,function(szablon,obiekt,kod) if(obiekt=="KOŃCOWE")then return szablon; end; return nil,true; end); return tekst_artykulu,tab_element; end; function p.MetaTabelkaSzablonowe(__metatablica) local tablica={};local __FUNKCJA; __metatablica.UstawTablica=function(tablica_inna) return function() return tablica_inna or tablica; end; end; __metatablica.UstawFunkcjaDaneParametry=function(__FUNKCJA_start,obiekt) __FUNKCJA=__FUNKCJA_start(obiekt); end; local fun_tablica=__metatablica.UstawTablica(tablica); __metatablica.tablica=function() return fun_tablica(); end; __metatablica.__len=function(t) return #fun_tablica(); end; __metatablica.__index=function(t,klucz) local tab=fun_tablica()[klucz]; if(tab==nil)then return nil;end; return tab[1]; end; __metatablica.__newindex=function(t,klucz,wartosc) if(wartosc~=nil)then local wartosc_tablicy=fun_tablica()[klucz]; if(wartosc_tablicy~=nil)then wartosc_tablicy[1]=wartosc; wartosc_tablicy[2]=false; if(__FUNKCJA)then __FUNKCJA(fun_tablica(),klucz,wartosc_tablicy,false);end; else local tab={wartosc,true,}; fun_tablica()[klucz]=tab; if(__FUNKCJA)then __FUNKCJA(fun_tablica(),klucz,tab,true);end; end; else fun_tablica()[klucz]=nil; end; end; __metatablica.__pairs=function(t) return next,fun_tablica(),nil; end; local function iter(a,i) i=i+1; local v = a[i]; if v then return i, v; end end __metatablica.__ipairs=function(t) return iter,fun_tablica(),0; end; __metatablica.KopiujMetaTabela=function(value,funkcja,funkcja2) local tabelka_metatable=__metatablica.tablica(); local __metatablica2={}; p.MetaTabelkaSzablonowe(__metatablica2); local value2={}; setmetatable(value2,__metatablica2); local tabelka_metatable2=__metatablica2.tablica(); funkcja2(tabelka_metatable,tabelka_metatable2); funkcja(value2,false); end; end; function p.KodowanieSzablonowegoTekstuZObiektamiWikikodu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA_poczatek,__FUNKCJA_koniec,__FUNCTION_niedokonczone,__FUNCTION_INCLUDE,__FUNKCJA_PARAMETRY) local numer_szablonu; local strony_modul=require("Module:Strony"); local szeregi_modul=require("Module:Szeregi"); local szablonowe_dane_modul=mw.loadData("Module:Szablonowe/dane"); local szablonowe_modul=require("Module:Szablonowe"); local specjalne_modul=require("Module:Specjalne"); local tab_wiki_znacznik=szablonowe_dane_modul.tablica_wiki_znaczniki; local tablica_znacznikowa_preprocesora_szablonowego=szablonowe_dane_modul.tablica_znacznikowa_preprocesora_szablonowego; local function InicjujNumeryPoczatkoweObiektowSzablonow() if(not __FUNKCJA3)then numer_szablonu={}; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do numer_szablonu[obiekt]=1; end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do numer_szablonu[obiekt]=1; end; else numer_szablonu=__FUNKCJA3(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; end; local PREWSTAWIAJACA=nil;local NiedokonczoneElementyWikikodu=nil;local czy_wynik=true; local function ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,co) if(__FUNKCJA2)then local wynik=__FUNKCJA2(szablon,co,numer_szablonu[co or "SZABLON"],tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu); if(wynik)then numer_szablonu[co or "SZABLON"]=numer_szablonu[co or "SZABLON"]+1; wynik=(czy_wynik and PREWSTAWIAJACA) and PREWSTAWIAJACA(wynik) or wynik; return wynik,false; end; end; if(__FUNKCJA)then szablon=__FUNKCJA(szablon,co,numer_szablonu[co or "SZABLON"]) or szablon; end; local kod=szablonowe_modul.NormaKoduKodowaniaTekstu(co,numer_szablonu[co or "SZABLON"]); --- local tab_co=tablica_analizy_obiektow_strony_dany_modul[co or "SZABLON"]; local __metatablica=getmetatable(tab_co); local czy_ustawiona_metatabelka=__metatablica and true or false; if(not __metatablica)then __metatablica={}; p.MetaTabelkaSzablonowe(__metatablica); setmetatable(tab_co,__metatablica); end; local tablica_co=__metatablica.tablica(); local obiekt=co or "SZABLON"; if((__FUNKCJA_PARAMETRY)and(not czy_ustawiona_metatabelka))then __metatablica.UstawFunkcjaDaneParametry(__FUNKCJA_PARAMETRY,obiekt); end; tablica_co[numer_szablonu[obiekt]]={szablon,false,}; --- numer_szablonu[obiekt]=numer_szablonu[obiekt]+1; return kod,true; end; local function AnalizaObiektowSzablonowegoTekstu(tekst_artykulu) local ile_znacznik_niedomykajacy_0;local ile_znacznik_niedomykajacy_1;local ile_znacznik_niedomykajacy_2; local techniczne_modul=require("Module:Techniczne"); local tab_licznik_poczatek={}; local tab_licznik_koniec={}; local tab_element={}; local ObiektFun=function(nazwa) return szablonowe_dane_modul.tablica_znaczniki_typowo_mechanizmu_mediawiki[nazwa] or (__FUNCTION_INCLUDE and __FUNCTION_INCLUDE(nazwa) and tablica_znacznikowa_preprocesora_szablonowego[nazwa] and "INCLUDE" or nil) or (tab_wiki_znacznik[nazwa] and "ZNACZNIK" or nil); end; local INCLUDE=function(tekst_artykulu) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<[^<>]") end; local INNEPRE=function(tekst_artykulu,czy_poczt,czy_szablon) local function INNEPREROZ(poczatek,koniec) repeat local ile;local ile2=0; tekst_artykulu,ile=mw.ustring.gsub(tekst_artykulu,(poczatek and "\n" or "^").."([^%S\n]+)([^\n]*)"..(koniec and "\n" or "$"),function(spacje,kod) if((not czy_szablon)or((czy_szablon)and((not mw.ustring.match(kod,"[|=]"))and((koniec)and true or (not mw.ustring.match(kod,"^[^%S\n]*$"))))))then kod=NiedokonczoneElementyWikikodu(kod); local szablon=spacje..kod; return (poczatek and "\n" or "")..ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"INNEPRE")..(koniec and "\n" or ""); else ile2=ile2+1; end; end); ile=ile-ile2; until (ile==0); end; if(not czy_poczt)then INNEPREROZ(false,true); INNEPREROZ(false,false); end; INNEPREROZ(true,true); INNEPREROZ(true,false); return tekst_artykulu; end; local tab_znaczniki={}; local tab_numerki={}; local function PreprocesorSzablonow(tekst_artykulu) tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul=p.KodowanieAtrybutoweZnacznikowe(tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul); local function ZnacznikiWiki(tekst_artykulu,czy_zawsze,czy_inne) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<(/?)([%a%d]+)(%s*)([^<>]-)(%s*)>",function(koniec,nazwa,odstepy_przed,tekst,odstepy_po) ----- if((odstepy_przed=="")and((tekst~="")and(tekst~="/")))then return;end; if(koniec=="")then local nazwa=mw.ustring.lower(nazwa); table.insert(tab_znaczniki,nazwa); local koniec_samozamykajacy=mw.ustring.match(tekst,"^(.-)%s*(/?)%s*$"); if(koniec_samozamykajacy=="/")then tab_licznik_koniec[nazwa]=(tab_licznik_koniec[nazwa] or 0)+1; end; tab_licznik_poczatek[nazwa]=(tab_licznik_poczatek[nazwa] or 0)+1; if(not tab_numerki[nazwa])then tab_numerki[nazwa]={};end; table.insert(tab_numerki[nazwa],tab_licznik_poczatek[nazwa]); local licznik=tab_licznik_poczatek[nazwa]; local szablon=nazwa..odstepy_przed..tekst..odstepy_po; if(not tab_element)then tab_element={};end; local typ=ObiektFun(nazwa); if(not typ)then return "&lt;"..koniec..nazwa..odstepy_przed..tekst..odstepy_po.."&gt;"; end; --- local czy_znacznik=(typ=="ZNACZNIK"); local czy_include=(typ=="INCLUDE"); local jak=(((czy_zawsze)or(czy_inne))and(not czy_znacznik))and ((not czy_include)and "innebegin" or "incbegin") or (((czy_zawsze)or(not czy_inne))and(czy_znacznik)and "begin" or nil); if(not jak)then return;end; ---- if(not tab_element[nazwa..jak])then tab_element[nazwa..jak]={};end; tab_element[nazwa..jak][licznik]=szablon; return "<"..szablonowe_modul.NormaKoduKodowaniaTekstu(nazwa..jak,licznik)..">"; else local nazwa=mw.ustring.lower(nazwa); tab_licznik_koniec[nazwa]=(tab_licznik_koniec[nazwa] or 0)+1; local licznik; if(#tab_znaczniki>0)then if(tab_znaczniki[#tab_znaczniki]~=nazwa)then local koniec=0; for i=#tab_znaczniki-1,1,-1 do if(tab_znaczniki[i]==nazwa)then koniec=i; break; end; end; if(koniec>0)then licznik=tab_numerki[nazwa][#tab_numerki[nazwa]]; for i=koniec+1,#tab_znaczniki,1 do tab_licznik_koniec[tab_znaczniki[i]]=(tab_licznik_koniec[tab_znaczniki[i]] or 0)+1; end; for i=koniec,#tab_znaczniki,1 do table.remove(tab_numerki[tab_znaczniki[i]]); end; for i=#tab_znaczniki,koniec,-1 do table.remove(tab_znaczniki); end; else tab_licznik_poczatek[nazwa]=(tab_licznik_poczatek[nazwa] or 0)+1; licznik=tab_licznik_poczatek[nazwa]; end; else licznik=tab_numerki[nazwa][#tab_numerki[nazwa]]; table.remove(tab_numerki[nazwa]); table.remove(tab_znaczniki); end; else tab_licznik_poczatek[nazwa]=(tab_licznik_poczatek[nazwa] or 0)+1; licznik=tab_licznik_koniec[nazwa]; end; local szablon=nazwa..odstepy_przed..tekst..odstepy_po; if(not tab_element)then tab_element={};end; local typ=ObiektFun(nazwa); if(not typ)then return "&lt;"..koniec..nazwa..odstepy_przed..tekst..odstepy_po.."&gt;"; end; --- local czy_znacznik=(typ=="ZNACZNIK"); local czy_include=(typ=="INCLUDE"); local jak=(((czy_zawsze)or(czy_inne))and(not czy_znacznik))and ((not czy_include)and "inneend" or "incend") or (((czy_zawsze)or(not czy_inne))and(czy_znacznik)and "end" or nil); if(not jak)then return;end; --- if(not tab_element[nazwa..jak])then tab_element[nazwa..jak]={};end; tab_element[nazwa..jak][licznik]=szablon; return "</"..szablonowe_modul.NormaKoduKodowaniaTekstu(nazwa..jak,licznik)..">"; end; end); return tekst_artykulu; end; tekst_artykulu=ZnacznikiWiki(tekst_artykulu,false,true); local function ZnacznikiWikiLinia(tekst_artykulu,wzor1,wzor2) tekst_artykulu=szeregi_modul.ZamianaZnakowaLinii(tekst_artykulu, function(linia) local a;local b; a=mw.ustring.match(linia,wzor1); if(not a)then a,b=mw.ustring.match(linia,wzor2); if(not a)then return nil;end; end; if(b)then b=ZnacznikiWiki(b,false,false); return a..b; else a=ZnacznikiWiki(a,false,false); return a; end; end); return tekst_artykulu; end; ---- tekst_artykulu=ZnacznikiWikiLinia(tekst_artykulu,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$","^([%*#;:]+)([^\n]+)$"); tekst_artykulu=ZnacznikiWiki(tekst_artykulu,false,false); ---- local function AnalizujDomykajace(tekst_artykulu,jak,co) local tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<(/?)("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak..co,"(%d+)")..")>",function(poczatek,nazwa_przed_nieodkodowane,obiekt,kod) local nazwa_przed=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_przed_nieodkodowane,nil,tab_element); local nazwa,odstepy,atrybuty,koniec=mw.ustring.match(nazwa_przed,"^([%a%d]+)(%s*)(.-)%s*(/?)%s*$"); nazwa=mw.ustring.lower(nazwa); if((koniec=="/")or(nazwa=="br")or(nazwa=="hr")or(nazwa=="templatestyles"))then local szablon="<"..poczatek..nazwa_przed..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,ObiektFun(nazwa)); end; return nil; end); return tekst_artykulu; end; tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"inne","begin"); tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"","begin"); tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"inne","end"); tekst_artykulu=AnalizujDomykajace(tekst_artykulu,"","end"); ---- return tekst_artykulu; end; tekst_artykulu=PreprocesorSzablonow(tekst_artykulu); local function Kompilacja(tekst_artykulu) ---- local ZamianaLINKWNaLINKZ=function(zawartosc,dalej) local czy_url=strony_modul.SprawdzanieURL(zawartosc); if(czy_url)then local szablon="["..zawartosc.."]"; return "["..ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"LINKZ").."]"..dalej; else if((dalej)and(dalej~=""))then if(specjalne_modul["CzyAdresLinkuWewnętrznego"]{adres=zawartosc,})then local szablon; if(mw.ustring.match(zawartosc,"|"))then szablon="[["..zawartosc..dalej.."]]"; else local nazwa=mw.ustring.gsub(zawartosc,"^[%s_]*:[%s_]*",""); szablon="[["..zawartosc.."|"..nazwa..dalej.."]]"; end; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"LINKW"); end; end; local szablon="[["..zawartosc.."]]"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"LINKW")..dalej; end; end; local PracePrzygotowywujace; NiedokonczoneElementyWikikodu=function(tekst_artykulu,czy_main) local function DomykajaceIOdtwierajace(tekst_artykulu,jak,tablica_znacznikow) repeat local ile_znacznik_niedomykajacy; local ile_znacznik_niedomykajacy_ujemny=0; tekst_artykulu,ile_znacznik_niedomykajacy=mw.ustring.gsub(tekst_artykulu,"<("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak.."begin","(%d+)")..")>(.*)$",function(nazwa_przed_nieodkodowane,obiekt,kod,zawartosc) local nazwa_przed=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_przed_nieodkodowane,nil,tab_element); if(tablica_znacznikow)then if(not tablica_znacznikow[nazwa_przed])then ile_znacznik_niedomykajacy_ujemny=ile_znacznik_niedomykajacy_ujemny+1; return nil; end; end; zawartosc=INNEPRE(zawartosc,true); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); local nazwa,odstepy,atrybuty=mw.ustring.match(nazwa_przed,"^([%a%d]+)(%s*)(.-)%s*$"); local szablon="<"..nazwa_przed..">"..zawartosc..((mw.ustring.match(zawartosc,"\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$") or mw.ustring.match(zawartosc,"\n[%*#:;][^\n]*$") ) and "\n" or "").."</"..nazwa..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"ZNACZNIK"); end); ile_znacznik_niedomykajacy=ile_znacznik_niedomykajacy-ile_znacznik_niedomykajacy_ujemny; until (ile_znacznik_niedomykajacy==0); repeat local ile_znacznik_nieotwierajacy; local ile_znacznik_nieotwierajacy_ujemny=0; tekst_artykulu,ile_znacznik_nieotwierajacy=mw.ustring.gsub(tekst_artykulu,"^(.*)</("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak.."end","(%d+)")..")>",function(zawartosc,nazwa_po_nieodkodowane,obiekt,kod) local nazwa_po=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_po_nieodkodowane,nil,tab_element); if(tablica_znacznikow)then if(not tablica_znacznikow[nazwa_po])then ile_znacznik_nieotwierajacy_ujemny=ile_znacznik_nieotwierajacy_ujemny+1; return nil; end; end; zawartosc=INNEPRE(zawartosc); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); local nazwa,odstepy,atrybuty=mw.ustring.match(nazwa_po,"^([%a%d]+)(%s*)(.-)%s*$"); local szablon="<"..nazwa..">"..((mw.ustring.match(zawartosc,"^=[^\n]*[^%s=][^\n]*=[^%S\n]*\n") or mw.ustring.match(zawartosc,"^[%*#:;][^\n]*\n") ) and "\n" or "")..zawartosc.."</"..nazwa_po..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"ZNACZNIK"); end); ile_znacznik_nieotwierajacy=ile_znacznik_nieotwierajacy-ile_znacznik_nieotwierajacy_ujemny; until (ile_znacznik_nieotwierajacy==0); return tekst_artykulu; end; if(__FUNCTION_niedokonczone)then local wynik,gdy_nie,tablica_znacznikow,czy_koniec,__FUNCTION=__FUNCTION_niedokonczone(tekst_artykulu,tab_element); if(gdy_nie)then if(czy_koniec)then return wynik or tekst_artykulu;end; tekst_artykulu=wynik or tekst_artykulu; tekst_artykulu=__FUNCTION and __FUNCTION(tekst_artykulu) or tekst_artykulu; tekst_artykulu=tablica_znacznikow and DomykajaceIOdtwierajace(tekst_artykulu,"",tablica_znacznikow) or tekst_artykulu; return tekst_artykulu; else tekst_artykulu=wynik or tekst_artykulu; end; end; local function DomykajaceIOdtwierajaceWikiTabelka(tekst_artykulu) repeat local ile_wikitabela_1; tekst_artykulu,ile_wikitabela_1=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"({|)(.-)$", function(szereg,numer,licznik_wzor,numer_a,numer_b,poczatek,szablon) return mw.ustring.match(szablon,"\n%{%|"),((licznik_wzor==1)and 2 or 3); end, function(licznik_wzor,poczatek,szablon) szablon=INNEPRE(szablon,true); szablon=NiedokonczoneElementyWikikodu(szablon); szablon=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon,nil,tab_element); return (((czy_main)and(licznik_wzor==1)) and "" or "\n")..ZamienObiektSzablonuKodem(self,poczatek..szablon.."\n|}",tablica_analizy_obiektow_strony_dany_modul,"WIKITABELA"); end, function(wzor,licznik_wzor,czy) if(czy_main)then if(licznik_wzor==1)then return "^"..wzor,true;end; return "\n"..wzor,false; else return "\n"..wzor,false; end; end); until (ile_wikitabela_1==0); repeat local ile_wikitabela_2; tekst_artykulu,ile_wikitabela_2=mw.ustring.gsub(tekst_artykulu,"^(.-)(\n|})",function(szablon,koniec) szablon=INNEPRE(szablon); szablon=NiedokonczoneElementyWikikodu(szablon); szablon=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,szablon,nil,tab_element); return ZamienObiektSzablonuKodem(self,"\n{|\n"..szablon..koniec,tablica_analizy_obiektow_strony_dany_modul,"WIKITABELA"); end); until (ile_wikitabela_2==0); return tekst_artykulu; end; local function DomykajaceIOdtwierajaceLinia(tekst_artykulu,wzor_dodatnie,wzor_ujemne) tekst_artykulu=szeregi_modul.ZamianaZnakowaLinii(tekst_artykulu,function(linia) local dodatnie=nil; local a,b,c=mw.ustring.match(linia,wzor_dodatnie); if((not a)or(not b)or(not c))then a,b=mw.ustring.match(linia,wzor_ujemne); if((not a)or(not b))then return nil;end; c=nil; else dodatnie=true; end; if(dodatnie)then b=DomykajaceIOdtwierajace(b,""); return a..b..c; else b=DomykajaceIOdtwierajace(b,""); return a..b; end; end); return tekst_artykulu; end; --- tekst_artykulu=DomykajaceIOdtwierajace(tekst_artykulu,"inne"); ----- local wzor_dodatnie="^(=+[^%S\n]*)([^\n]-[^%s=][^\n]-)([^%S\n]*=+[^%S\n]*)$"; local wzor_ujemne="^([%*#;:]+[^%S\n]*)([^\n]+)$"; tekst_artykulu=DomykajaceIOdtwierajaceLinia(tekst_artykulu,wzor_dodatnie,wzor_ujemne); ----- --- --tekst_artykulu=DomykajaceIOdtwierajace(tekst_artykulu,"inne"); tekst_artykulu=DomykajaceIOdtwierajace(tekst_artykulu,""); tekst_artykulu=DomykajaceIOdtwierajaceWikiTabelka(tekst_artykulu); return tekst_artykulu; end; local function ZNACZNIKI(tekst_artykulu,jak) local ile_odjac_znacznik_niedomykajacy=0; local tekst_artykulu,ile_znacznik_niedomykajacy=mw.ustring.gsub(tekst_artykulu,"<("..szablonowe_modul.NormaWzoruKodowaniaTekstu("([%a%d]+)"..jak.."begin","(%d+)")..")>(.-)</("..szablonowe_modul.NormaWzoruKodowaniaTekstu("(%2)"..jak.."end","(%3)")..")>",function(nazwa_przed_nieodkodowane,obiekt,kod,zawartosc,nazwa_po_nieodkodowane,obiekt2,kod2) local nazwa_przed=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_przed_nieodkodowane,nil,tab_element); local nazwa,odstepy,atrybuty=mw.ustring.match(nazwa_przed,"^([%a%d]+)(%s*)(.-)%s*$"); nazwa=mw.ustring.lower(nazwa); local function TenZnacznik() local nazwa_po=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,nazwa_po_nieodkodowane,nil,tab_element); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); if(jak=="")then zawartosc=INNEPRE(zawartosc,true); end; local szablon="<"..nazwa_przed..">"..zawartosc.."</"..nazwa_po..">"; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,ObiektFun(nazwa)); end; local function InneZnacznik() ile_odjac_znacznik_niedomykajacy=ile_odjac_znacznik_niedomykajacy+1; local szablon="<"..nazwa_przed_nieodkodowane..">"..zawartosc.."</"..nazwa_po_nieodkodowane..">"; return szablon; end; if(not mw.ustring.match(atrybuty,"^%s*$"))then if(odstepy~="")then if((jak~="")and(jak~="inc"))then return TenZnacznik(); end; else return InneZnacznik(); end; else if((jak~="")and(jak~="inc"))then return TenZnacznik(); end; end; ---- local ile_zastapione;local ile_pominiete; zawartosc,ile_zastapione,ile_pominiete=ZNACZNIKI(zawartosc,jak); zawartosc=PracePrzygotowywujace(zawartosc); zawartosc=INNEPRE(zawartosc,true); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); return TenZnacznik(); end); return tekst_artykulu,ile_znacznik_niedomykajacy,ile_odjac_znacznik_niedomykajacy; end; ---- PracePrzygotowywujace=function(tekst_artykulu,czy_main) local ile_linkw;local ile_linkz;local ile_var;local ile_template;local ile_wikitabela; local function Szablon(zawartosc,przed,po,obiekt,czy_linkw,dalej) local ile_znacznik_niedomykajacy,ile_odjac_znacznik_niedomykajacy; zawartosc,ile_znacznik_niedomykajacy,ile_odjac_znacznik_niedomykajacy=ZNACZNIKI(zawartosc,""); zawartosc=PracePrzygotowywujace(zawartosc); zawartosc=INNEPRE(zawartosc,true,(obiekt=="SZABLON")); zawartosc=NiedokonczoneElementyWikikodu(zawartosc); zawartosc=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,zawartosc,nil,tab_element); if(czy_linkw)then return ZamianaLINKWNaLINKZ(zawartosc,dalej); else local szablon=przed..zawartosc..po; return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,obiekt); end; end; repeat repeat tekst_artykulu,ile_linkw=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"%[%[(.-%[?)%]%](%]?)(%l*)", function(szereg,numer,numer_a,numer_b,szablon,dodatkowe,dalej) return mw.ustring.match(szablon,"%[%["),2; end, function(szablon,dodatkowe,dalej) if(dodatkowe~="")then local czy_linkz=mw.ustring.match(szablon,"%[[^%[%]]*$"); if(czy_linkz)then szablon=szablon..dodatkowe; return Szablon(szablon,"[[","]]","LINKW",true,dalej); else return Szablon(szablon,"[[","]]","LINKW",true,"")..dodatkowe..dalej; end; else return Szablon(szablon,"[[","]]","LINKW",true,dalej); end; end); until (ile_linkw==0); tekst_artykulu,ile_linkz=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"%[(.-)%]", function(szereg,numer,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"%["),1; end, function(szablon) return Szablon(szablon,"[","]","LINKZ"); end); repeat tekst_artykulu,ile_var=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"{{{(.-)}}}", function(szereg,numer,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"%{%{%{"),3; end, function(szablon) return Szablon(szablon,"{{{","}}}","ZMIENNA"); end); until (ile_var==0); tekst_artykulu,ile_template=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"{{(.-)}}", function(szereg,numer,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"%{%{"),2; end, function(szablon) return Szablon(szablon,"{{","}}","SZABLON"); end); tekst_artykulu,ile_wikitabela=szeregi_modul.ZamianaZnakowaSzeregu(tekst_artykulu,"{|(.-)\n|}", function(szereg,numer,licznik_wzor,numer_a,numer_b,szablon) return mw.ustring.match(szablon,"\n%{%|"),(czy_main and ((licznik_wzor==1) and 2 or 3) or 3); end, function(licznik_wzor,szablon) if((czy_main)and(licznik_wzor==1))then return Szablon(szablon,"{|","\n|}","WIKITABELA"); else return "\n"..Szablon(szablon,"{|","\n|}","WIKITABELA"); end; end, function(wzor,numer_begin,czy) if(czy_main)then if(numer_begin==1)then return "^"..wzor,true;end; return "\n"..wzor,false; else return "\n"..wzor,false; end; end); until ((ile_linkw==0)and(ile_linkz==0)and(ile_var==0)and(ile_template==0)and(ile_wikitabela==0)); return tekst_artykulu; end; ---- local ile_odjac_znacznik_niedomykajacy_0; if(__FUNCTION_INCLUDE)then tekst_artykulu,ile_znacznik_niedomykajacy_0,ile_odjac_znacznik_niedomykajacy_0=ZNACZNIKI(tekst_artykulu,"inc"); ile_znacznik_niedomykajacy_0=ile_znacznik_niedomykajacy_0-ile_odjac_znacznik_niedomykajacy_0; ---- tekst_artykulu=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji,tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="INCLUDE")then local nazwa,zawartosc,tab=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul); if(__FUNCTION_INCLUDE(nazwa))then local function inc(zawartosc) return (mw.ustring.match(tekst_artykulu,"{{{[^{}|]*"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod).."%s*}}}") or mw.ustring.match(tekst_artykulu,"{{.-|.-"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..".-}}") )and true or false; end; if(nazwa=="noinclude")then if(poziom_iteracji==0)then return (not inc(zawartosc)) and "" or zawartosc; else return zawartosc; end; elseif(nazwa=="includeonly")then if(poziom_iteracji==0)then return (not inc(zawartosc)) and zawartosc or ""; else return ""; end; end; end; end; return nil,true; end); end; ---- local ile_odjac_znacznik_niedomykajacy_1; tekst_artykulu,ile_znacznik_niedomykajacy_1,ile_odjac_znacznik_niedomykajacy_1=ZNACZNIKI(tekst_artykulu,"inne"); ile_znacznik_niedomykajacy_1=ile_znacznik_niedomykajacy_1-ile_odjac_znacznik_niedomykajacy_1; ---- tekst_artykulu=PracePrzygotowywujace(tekst_artykulu,true); ---- local ile_odjac_znacznik_niedomykajacy_2; tekst_artykulu,ile_znacznik_niedomykajacy_2,ile_odjac_znacznik_niedomykajacy_2=ZNACZNIKI(tekst_artykulu,""); return tekst_artykulu; end; PREWSTAWIAJACA=function(tekst_artykulu) czy_wynik=nil; tekst_artykulu=PreprocesorSzablonow(tekst_artykulu); tekst_artykulu=Kompilacja(tekst_artykulu); czy_wynik=true; return tekst_artykulu; end; tekst_artykulu=Kompilacja(tekst_artykulu) local function PoczatekKoniecTekst(tekst_artykulu) local tekst_poczatek=(__FUNKCJA_poczatek and __FUNKCJA_poczatek(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or nil); local tekst_koniec=(__FUNKCJA_koniec and __FUNKCJA_koniec(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) or nil); if(((tekst_poczatek)and(not mw.ustring.match(tekst_poczatek,"^%s*$")))or((tekst_koniec)and(not mw.ustring.match(tekst_koniec,"^%s*$"))))then tekst_poczatek=tekst_poczatek and PREWSTAWIAJACA(tekst_poczatek) or tekst_poczatek; tekst_koniec=tekst_koniec and PREWSTAWIAJACA(tekst_koniec) or tekst_koniec; tekst_artykulu=(tekst_poczatek or "")..tekst_artykulu..(tekst_koniec or ""); end; return tekst_artykulu; end; tekst_artykulu=PoczatekKoniecTekst(tekst_artykulu); local function PraceKoncowe(tekst_artykulu) tekst_artykulu=NiedokonczoneElementyWikikodu(tekst_artykulu,true); return tekst_artykulu; end; tekst_artykulu=PraceKoncowe(tekst_artykulu); tekst_artykulu=szablonowe_modul.KompletowanieSzablonoweZakodowanegoTekstu(self,tekst_artykulu,nil,tab_element); tekst_artykulu=INNEPRE(tekst_artykulu); tekst_artykulu=szablonowe_modul.OdkodowanieZakodowanychNormKodowychNieschematycznychRzeczy(self,tekst_artykulu,nil,tablica_analizy_obiektow_strony_dany_modul); return tekst_artykulu; end; local function InicjujTabela() if(not __FUNKCJA3)then if(not __FUNKCJA4)then for obiekt,_ in pairs(szablonowe_dane_modul.tablica_podstawowe_elementy_szablonowe_mediawiki)do tablica_analizy_obiektow_strony_dany_modul[obiekt]={}; end; for obiekt,_ in pairs(szablonowe_dane_modul.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki)do tablica_analizy_obiektow_strony_dany_modul[obiekt]={}; end; else tablica_analizy_obiektow_strony_dany_modul=__FUNKCJA4(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; else if(__FUNKCJA4)then tablica_analizy_obiektow_strony_dany_modul=__FUNKCJA4(tekst_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); end; end; end; local function UstawieniaPoczatkoweObiektowSzablonow() if(not tablica_analizy_obiektow_strony_dany_modul)then if((self.tablica_analizy_obiektow_strony_dany_modul) and(self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]) )then tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]; numer_szablonu=self.numer_szablonu; else if(not self.tablica_analizy_obiektow_strony_dany_modul)then self.tablica_analizy_obiektow_strony_dany_modul={};end; if(not self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu])then self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]={};end; --- tablica_analizy_obiektow_strony_dany_modul=self.tablica_analizy_obiektow_strony_dany_modul[nazwa_modulu]; --- InicjujNumeryPoczatkoweObiektowSzablonow(); self.numer_szablonu=numer_szablonu; InicjujTabela(); end; else InicjujNumeryPoczatkoweObiektowSzablonow(); InicjujTabela(); end; end; ---- UstawieniaPoczatkoweObiektowSzablonow(); --- local PreProcesorSTARE=function(tekst_artykulu,wzor_kodu,czy_tak) tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"("..wzor_kodu..")",function(szablon,obiekt,kod) if(czy_tak)then local tablica_szablon_obiekt=tablica_analizy_obiektow_strony_dany_modul and tablica_analizy_obiektow_strony_dany_modul[obiekt] or nil; local kod=tablica_szablon_obiekt and tonumber(kod) or nil; if(kod)then local szablon_wynik=tablica_szablon_obiekt and tablica_szablon_obiekt[kod] or nil; if(not szablon_wynik)then return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"STARE"); else local wynik=__FUNKCJA2(szablon_wynik,obiekt,kod,tekst_artykulu,tablica_analizy_obiektow_strony_dany_modul,numer_szablonu); return wynik; end; else return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"STARE"); end; else return ZamienObiektSzablonuKodem(self,szablon,tablica_analizy_obiektow_strony_dany_modul,"STARE"); end; end); return tekst_artykulu; end; tekst_artykulu=PreProcesorSTARE(tekst_artykulu,szablonowe_modul.NormaWzoruKodowaniaTekstu(),true); tekst_artykulu=PreProcesorSTARE(tekst_artykulu,szablonowe_modul.NormaWzoruKodowaniaEncodeWikiTekstu(),false); tekst_artykulu=AnalizaObiektowSzablonowegoTekstu(tekst_artykulu); return tekst_artykulu; end; return p; eg6y8y5zptz7bp3gtrnwpdjgkt3pazc Wikibooks:Mechanizm MediaWiki 4 60755 544900 542146 2026-06-01T18:47:47Z Persino 2851 /* Opis wizualny */ 544900 wikitext text/x-wiki <noinclude><!-- -->{{StandardowaStronaStart | nagłówek = {{Rozdział|Pomoc Wikibooks|Mechanizm MediaWiki - Wstęp}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Rozdział|Koniec}} }}</noinclude>{{Spis treści}} Przedstawimy tutaj problemy z mechanizmem MediaWiki, poczynając od opisu szablonów i modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w zastosowaniach również do wikikodu, na polskim {{NAZWASERWISU|po=ie|wikipedia=tak|link=tak}}. == Szablony == Przedstawiamy tutaj w dwóch formach opis wszystkich szablonów, dostępnych na polskim {{NAZWASERWISU|po=ie|link=tak}}, w postaci listy. === Opis wizualny === * {{lr|Szablony}} - strona główna zbioru wszystkich szablonów, opisu ich, wizualnego i opisowego. ** {{lru|Szablony/Ogólne}}, {{lru|Szablony/Informacje}}, {{lru|Szablony/PrzypisStrona}}, {{lru|Szablony/Podręcznikowe}}, {{lru|Szablony/Książkowe}}, {{lru|Szablony/Tekst}}, {{lru|Szablony/Zawartość}}, {{lru|Szablony/Nagłówki}}, {{lru|Szablony/Przekierowania}}, {{lru|Szablony/Języki}}, {{lru|Szablony/Liczby}}, {{lru|Szablony/Kategorie}}, {{lru|Szablony/Opisy}}, {{lru|Szablony/Znaczniki}}, {{lru|Szablony/Szablony opływania}}, {{lru|Szablony/Stronicowe}}, {{lru|Szablony/Kontenerowe}}, {{lru|Szablony/Elastyczne}}, {{lr|Szablony/Infoboksy/Prolog|Infoboksy - Prolog}}, {{lr|Szablony/Infoboksy/Tom I|Infoboksy - Tom I}}, {{lr|Szablony/Infoboksy/Tom II|Infoboksy - Tom II}}, {{lr|Szablony/Infoboksy/Tom III|Infoboksy - Tom III}}, {{lr|Szablony/Infoboksy/Tom IV|Infoboksy - Tom IV}}, {{lr|Szablony/Infoboksy/Tom V|Infoboksy - Tom V}}, {{lr|Szablony/Infoboksy/Tom VI|Infoboksy - Tom VI}}, {{lr|Szablony/Infoboksy/Komponenty|Infoboksy - Komponenty}}, {{lr|Szablony/Infoboksy/Komponenty (organizmy żywe)|Infoboksy - Komponenty (organizmy żywe)}}, {{lru|Szablony/Porządkowe}}, {{lru|Szablony/Źródła artykułów}}, {{lru|Szablony/Linki}}, {{lru|Szablony/Linki inteligentne}}, {{lru|Szablony/Do usunięcia}}, {{lru|Szablony/Nawigacja}}, {{lru|Szablony/Media}}, {{lru|Szablony/Grafika}}, {{lru|Szablony/Licencjonowanie}}, {{lru|Szablony/Techniczne}}, {{lru|Szablony/Wikipedysta}}, {{lru|Szablony/Dyskusja Wikipedysty}}, {{lru|Szablony/MediaWiki}} i {{lru|Szablony/Systemowe}}. === Opis tekstowy === * {{lp|Spis treści}} - spis treści pomocy, nie tylko szablonów, czy modułów. ** {{lp|Spis treści/Szablony/Tom I|Szablony - Tom I}}, {{lp|Spis treści/Szablony/Tom II|Szablony - Tom II}}, {{lp|Spis treści/Szablony/Tom III|Szablony - Tom III}} i {{lp|Spis treści/Szablony/Tom IV|Szablony - Tom IV}}. == Moduły {{lpg|Lua}} w {{lpr|Lua|Scribunto}} == {{Osobny artykuł|{{Ns:Project}}:Moduły|obserwowane=Moduły}} * Moduły podstawowe ** {{m|Parametry}} - {{lru|Moduły/Parametry}} procedur na operacjach z parametrami funkcji języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. ** {{m|Html}} - {{lru|Moduły/Html}} procedur na operacjach specjalnych z tekstami zawierający znaki HTML i na adresach URL. ** {{m|Nazwy}} - {{lru|Moduły/Nazwy}} ({{lr|Moduły/Nazwy/Tom I|Nazwy - Tom I}}, {{lr|Moduły/Nazwy/Tom II|Nazwy - Tom II}}, {{lr|Moduły/Nazwy/Tom III|Nazwy - Tom III}} i {{lr|Moduły/Nazwy/Tom IV|Nazwy - Tom IV}}) procedur operujących na nazwach MediaWiki projektu. *** {{m|Nazwy/Np}} - {{lru|Moduły/Nazwy/Np}} zmiennych jakikolwiek przestrzeni nazw w wersji kanonicznej i nie. ** {{m|Książkowe}} - {{lru|Moduły/Książkowe}} procedur na nazwach zawierający specjalne znaki HTML i też odkodowanie ich z nich. ** {{m|Pudełko}} - {{lru|Moduły/Pudełko}} ({{lr|Moduły/Pudełko/Tom I|Pudełko - Tom I}}, {{lr|Moduły/Pudełko/Tom II|Pudełko - Tom II}}, {{lr|Moduły/Pudełko/Tom III|Pudełko - Tom III}}, {{lr|Moduły/Pudełko/Tom IV|Pudełko - Tom IV}} i {{lr|Moduły/Pudełko/Tom V|Pudełko - Tom V}}) procedur opakowanych wewnątrz wikikodu w szablony, którego wynikiem są różne nazwy. *** {{m|Pudełko/Pomocne}} - {{lru|Moduły/Pudełko/Pomocne}} procedur potrzebnych do implementacji funkcji modułu {{m|Pudełko}} dotyczące różnych nazw. *** {{m|Pudełko/Potrzebne}} - {{lru|Moduły/Pudełko/Potrzebne}} procedur potrzebnych do implementacji funkcji modułu {{m|Pudełko}} dotyczące {{m|Pudełko|Ogólne pudełko}}. *** {{m|Pudełko/ParametryCechy}} - {{lru|Moduły/Pudełko/ParametryCechy}} zestawu funkcji potrzebnych do budowy szablonu {{s|Szablonowy opis pudełka}}. ** {{m|Ramka}} - {{lru|Moduły/Ramka}} procedur ramkowanych, w ramach których są wykonywane pewne operacje. ** {{m|Specjalne}} - {{lru|Moduły/Specjalne}} procedur do specjalnych zastosowań operacji na obiektach. ** {{m|StronicowyParser}} - {{lru|Moduły/StronicowyParser}} procedur stronicowego parsera do numeracji obiektów i odniesień do nich, także operowanie na tak zebranych danych. *** {{m|StronicowyParser/AnalizaSpisuRzeczy|nazwa=AnalizaSpisuRzeczy}} - {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy}} *** {{m|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron|nazwa=GłównaFunkcjaZbieraniaDanychStron}} - {{lru|Moduły/StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}} *** {{m|StronicowyParser/Kategorie|nazwa=Kategorie}} - {{lru|Moduły/StronicowyParser/Kategorie}} *** {{m|StronicowyParser/NumerLubNazwaArtykułówKsiążek|nazwa=NumerLubNazwaArtykułówKsiążek}} - {{lru|Moduły/StronicowyParser/NumerLubNazwaArtykułówKsiążek}} *** {{m|StronicowyParser/NumerLubNazwaNagłówkówKsiążek|nazwa=NumerLubNazwaNagłówkówKsiążek}} - {{lru|Moduły/StronicowyParser/NumerLubNazwaNagłówkówKsiążek}} *** {{m|StronicowyParser/NumerObiektu|nazwa=NumerObiektu}} - {{lru|Moduły/StronicowyParser/NumerObiektu}} *** {{m|StronicowyParser/NumeracjaObiektówStron|nazwa=NumeracjaObiektówStron}} - {{lru|Moduły/StronicowyParser/NumeracjaObiektówStron}} *** {{m|StronicowyParser/Potrzebne|nazwa=Potrzebne}} - {{lru|Moduły/StronicowyParser/Potrzebne}} *** {{m|StronicowyParser/Problemy|nazwa=Problemy}} - {{lru|Moduły/StronicowyParser/Problemy}} *** {{m|StronicowyParser/Rozdziały|nazwa=Rozdziały}} - {{lru|Moduły/StronicowyParser/Rozdziały}} *** {{m|StronicowyParser/SpisTreści|nazwa=SpisTreści}} - {{lru|Moduły/StronicowyParser/SpisTreści}} *** {{m|StronicowyParser/StronaSubst|nazwa=StronaSubst}} - {{lru|Moduły/StronicowyParser/StronaSubst}} *** {{m|StronicowyParser/Tekst|nazwa=Tekst}} - {{lru|Moduły/StronicowyParser/Tekst}} *** {{m|StronicowyParser/ZbieranieDanychStron|nazwa=ZbieranieDanychStron}} - {{lru|Moduły/StronicowyParser/ZbieranieDanychStron}} *** {{m|StronicowyParser/informacje|nazwa=informacje}} - {{lru|Moduły/StronicowyParser/informacje}} *** {{m|StronicowyParser/obiekty|nazwa=obiekty}} - {{lru|Moduły/StronicowyParser/obiekty}} ** {{m|Szeregi}} - {{lru|Moduły/Szeregi}} procedur do obsługi na tekstach i kolejnych liniach w tekście, a także do wyszukań tam elementów spełniające pewne kryteria funkcyjne. ** {{m|Szablonowe}} - {{lru|Moduły/Szablonowe}} procedur służących do parsowania tekstu nawet z podanych stron. ** {{m|Techniczne}} - {{lru|Moduły/Techniczne}} procedur do operacji technicznych na tekście. ** {{m|Wiki}} - {{lru|Moduły/Wiki}} procedur robiący czynności na obiektach wikidanych. * Moduły standardowe ** {{m|Kategorie}} - {{lru|Moduły/Kategorie}} procedur operujących na kategoriach (w przestrzeni {{Np|Category|link=tak}}) lub z tekstem ze zgłoszonymi tymi kategoriami. ** {{m|Linki}} - {{lru|Moduły/Linki}} procedur obsługujących różnego rodzaju linki. ** {{m|Łatki}} - {{lru|Moduły/Łatki}} procedur łatające braki w mechanizmie MediaWiki. ** {{m|Skrót}} - {{lru|Moduły/Skrót}} procedur łatające szablony: {{s|Kategoria}} i {{s|Kategorie}}, do wywołań w innych szablonach. ** {{m|Sprawdź}} - {{lru|Moduły/Sprawdź}} procedur oferujące sprawdzanie danych uzyskanych ze strony. * Specjalistyczne ** {{m|Tabela}} - {{lru|Moduły/Tabela}} procedur tworzące wiki-tabelę ze sprawdzeniem rodzaju parametrów. ** {{m|Sekcja referencyjna}} - {{lru|Moduły/Sekcja referencyjna}} procedur linków inteligentnych sekcji referencyjnej używanej z podaniem nazwy artykułu bez nazwy książki. ** {{m|Licencja}} - {{lru|Moduły/Licencja}} procedur wyświetlania licencji książki z określonym oczekiwanym lub nie nagłówkiem. ** {{m|Przypisy}} - {{lru|Moduły/Przypisy}} procedur wyświetlania przypisów artykułów lub książki z określonym oczekiwanym lub nie nagłówkiem. ** {{m|Dopracować}} - {{lru|Moduły/Dopracować}} procedur wyświetlania okienka {{s|mbox}} z komunikatem, w zależności od problemu. {{BrClear}} <noinclude><!-- -->{{StandardowaStronaKoniec}}<!-- -->{{Kategoria|Pomoc - Problemy wywołań mechanizmu MediaWiki|sortuj spacją=tak}}<!-- --></noinclude> cr2vekaz0fvc9jf371gk2h2f0olrpdk Wikipedysta:Robert ribo/Książki/Matematyka dla liceum 2 60771 544956 490139 2026-06-01T19:57:02Z Persino 2851 544956 wikitext text/x-wiki {{zapisane_książki}} == Matematyka dla liceum == :[[Matematyka dla liceum/Zaczynamy/Zbiory]] :[[Matematyka dla liceum/Zaczynamy/Działania arytmetyczne]] :[[Matematyka dla liceum/Zaczynamy/Rozwiązywanie równań i nierówności]] :[[Matematyka dla liceum/Zaczynamy/Podsumowanie]] :[[Matematyka dla liceum/Zaczynamy/Ćwiczenia]] :[[Matematyka dla liceum/Logika/Zdanie]] :[[Matematyka dla liceum/Logika/Spójniki logiczne]] :[[Matematyka dla liceum/Logika/Prawa rachunku zdań]] :[[Matematyka dla liceum/Logika/Kwantyfikatory]] :[[Matematyka dla liceum/Logika/Podsumowanie]] :[[Matematyka dla liceum/Logika/Zadania z rozwiązaniami]] :[[Matematyka dla liceum/Liczby i ich zbiory/Pojęcie zbioru]] :[[Matematyka dla liceum/Liczby i ich zbiory/Działania na zbiorach]] :[[Matematyka dla liceum/Liczby i ich zbiory/Zbiór liczb rzeczywistych i jego podzbiory]] :[[Matematyka dla liceum/Liczby i ich zbiory/Oś liczbowa]] :[[Matematyka dla liceum/Liczby i ich zbiory/Przedziały liczbowe]] :[[Matematyka dla liceum/Liczby i ich zbiory/Wartość bezwzględna liczby]] :[[Matematyka dla liceum/Liczby i ich zbiory/Postać wykładnicza]] :[[Matematyka dla liceum/Liczby i ich zbiory/Przybliżenia liczbowe]] :[[Matematyka dla liceum/Liczby i ich zbiory/Obliczenia procentowe]] :[[Matematyka dla liceum/Liczby i ich zbiory/Podsumowanie]] 0cjy42reyrbp0x12f9wnonxc07xptak Szablon:Opis kategorii/start 10 60979 545068 517769 2026-06-01T23:55:39Z Persino 2851 545068 wikitext text/x-wiki <includeonly>{{#if:{{{bez czcionki|}}}||<templatestyles src="Szablon:StronaStart/styles.css" />}}<templatestyles src="Szablon:Opis kategorii/styles.css" /><!-- --><div class="strona-opis-kategorii-overflow strona_start-inne mobilne {{#if: {{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}||mw-overflow-x}}" style="{{#if: {{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}||overflow:auto}};width:100%;box-sizing:border-box;"><div class="{{#if:{{{bez czcionki|}}}||fonty_rodzina_sans fonty_opis_kategorii}} strona-opis-kategorii" <!-- -->style="{{#if:{{{bez kolumn|}}}|padding:0.5rem;}}{{#if: {{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}|width:auto;box-sizing:border-box|{{#if:{{{minimalna główna szerokość|coś}}}|min-width:{{{minimalna główna szerokość|{{#if:{{{bez kolumn|}}}|51rem|50.375rem}}}}};width:auto;box-sizing:border-box;}}}};"><!-- -->{{#if:{{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}{{#ifexpr:{{#invoke:Techniczne|LiczbaStronJakoPozycjeDanejKategorii|kategoria={{FULLPAGENAME}}}}=0|tak|}} |{{#if:{{{bez nagłówka|}}}| |{{Nagłówek | tytuł = {{#if:{{{nazwa kategorii|}}}|{{PAGENAME: {{Ns:Category}}:{{{nazwa kategorii}}}}}|{{PAGENAME}}}} | stopka = {{#if:{{{ze stopką|}}}|1|0}} }} }}{{#invoke:Ramka|Szablon|Nazwa=Opis kategorii/silnik | nie potomek = tak | kategoria dla kategorii = {{{czy kategorie dla kategorii|}}} | siostrzane projekty = <!-- -->{{#if:{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}} |{{Siostrzane projekty | commons = {{{wiki-commons|}}} | słownik = {{{wiki-wikt|}}} | źródła = {{{wiki-s|}}} | cytaty = {{{wiki-q|}}} | news = {{{wiki-n|}}} | encyklopedia = {{{wiki-w|}}} | podróże = {{{wiki-voy|}}} | species = {{{wiki-species|}}} | wikiwerek = {{{wiki-wikiwerek|}}} | meta = {{{wiki-meta|}}} }}}}<!-- -->}}<!-- -->|{{Tabela nawigacyjna | funkcja = {{#if:{{#invoke:Techniczne|LiczbaBajtówCiąguDoNormy | ciąg = {{#invoke:Ramka|Szablon|Nazwa=Opis kategorii/silnik|tabela=tak|nie potomek=tak}} | norma = 2300 }} | PokazanaWikitabelowaListaMenu | UkrytaWikitabelowaListaMenu }} | klasa = opis_kategorii-tabela_nawigacyjna | styl = width:100% | tytuł = Tytuł kategorii: {{PAGENAME}} | spis = {{#invoke:Ramka|Szablon|Nazwa=Opis kategorii/silnik|tabela=tak|nie potomek=tak}} }} }}<!-- --></div></div>{{Hr|klasa={{#if:{{{bez czcionki|}}}||fonty_rodzina_sans fonty_opis_kategorii}}|styl=display:flex;flex-direction:row;width:auto;margin-bottom:0;{{#if:{{{bez kolumn|}}}||margin-top:0.5em;}}}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy (techniczny) startujący szablonu {{s|Opis kategorii}}. Zobacz też: {{s|Opis kategorii/silnik}}.}}{{Kategoria|Szablony powiadomień - technikalia}}</noinclude> sp3bf3qn1wm1kafwjfrtweefz796dn4 545069 545068 2026-06-01T23:56:51Z Persino 2851 545069 wikitext text/x-wiki <includeonly>{{#if:{{{bez czcionki|}}}||<templatestyles src="Szablon:StronaStart/styles.css" />}}<templatestyles src="Szablon:Opis kategorii/styles.css" /><!-- --><div class="strona-opis-kategorii-overflow strona_start-inne mobilne {{#if: {{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}||mw-overflow-x}}" style="{{#if: {{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}||overflow:auto}};width:100%;box-sizing:border-box;"><div class="{{#if:{{{bez czcionki|}}}||fonty_rodzina_sans fonty_opis_kategorii}} strona-opis-kategorii" <!-- -->style="{{#if:{{{bez kolumn|}}}|padding:0.5rem;}}{{#if: {{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}|width:auto;box-sizing:border-box|{{#if:{{{minimalna główna szerokość|coś}}}|min-width:{{{minimalna główna szerokość|{{#if:{{{bez kolumn|}}}|51rem|50.375rem}}}}};width:auto;box-sizing:border-box;}}}};"><!-- -->{{#if:{{{bez ramki|}}}{{{siostrzane|}}}{{{czy kategorie dla kategorii|}}}{{{specjalne|}}}{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}}{{#ifexpr:{{#invoke:Techniczne|LiczbaStronJakoPozycjeDanejKategorii|kategoria={{FULLPAGENAME}}|wyspecjalizowana=tak}}=0|tak|}} |{{#if:{{{bez nagłówka|}}}| |{{Nagłówek | tytuł = {{#if:{{{nazwa kategorii|}}}|{{PAGENAME: {{Ns:Category}}:{{{nazwa kategorii}}}}}|{{PAGENAME}}}} | stopka = {{#if:{{{ze stopką|}}}|1|0}} }} }}{{#invoke:Ramka|Szablon|Nazwa=Opis kategorii/silnik | nie potomek = tak | kategoria dla kategorii = {{{czy kategorie dla kategorii|}}} | siostrzane projekty = <!-- -->{{#if:{{{wiki-commons|}}}{{{wiki-wikt|}}}{{{wiki-s|}}}{{{wiki-q|}}}{{{wiki-n|}}}{{{wiki-w|}}}{{{wiki-voy|}}}{{{wiki-species|}}}{{{wiki-wikiwerek|}}}{{{wiki-meta|}}} |{{Siostrzane projekty | commons = {{{wiki-commons|}}} | słownik = {{{wiki-wikt|}}} | źródła = {{{wiki-s|}}} | cytaty = {{{wiki-q|}}} | news = {{{wiki-n|}}} | encyklopedia = {{{wiki-w|}}} | podróże = {{{wiki-voy|}}} | species = {{{wiki-species|}}} | wikiwerek = {{{wiki-wikiwerek|}}} | meta = {{{wiki-meta|}}} }}}}<!-- -->}}<!-- -->|{{Tabela nawigacyjna | funkcja = {{#if:{{#invoke:Techniczne|LiczbaBajtówCiąguDoNormy | ciąg = {{#invoke:Ramka|Szablon|Nazwa=Opis kategorii/silnik|tabela=tak|nie potomek=tak}} | norma = 2300 }} | PokazanaWikitabelowaListaMenu | UkrytaWikitabelowaListaMenu }} | klasa = opis_kategorii-tabela_nawigacyjna | styl = width:100% | tytuł = Tytuł kategorii: {{PAGENAME}} | spis = {{#invoke:Ramka|Szablon|Nazwa=Opis kategorii/silnik|tabela=tak|nie potomek=tak}} }} }}<!-- --></div></div>{{Hr|klasa={{#if:{{{bez czcionki|}}}||fonty_rodzina_sans fonty_opis_kategorii}}|styl=display:flex;flex-direction:row;width:auto;margin-bottom:0;{{#if:{{{bez kolumn|}}}||margin-top:0.5em;}}}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy (techniczny) startujący szablonu {{s|Opis kategorii}}. Zobacz też: {{s|Opis kategorii/silnik}}.}}{{Kategoria|Szablony powiadomień - technikalia}}</noinclude> d5npc2jsbfur4c4djk7juaa8ohe7dzw Szablon:NawigacjaSpecjalna/Nawigacja/Pomoc:Spis treści 10 61114 544898 542199 2026-06-01T18:45:35Z Persino 2851 544898 wikitext text/x-wiki <includeonly>{{Układ autonawigacji|krok={{{1}}} |automat manualny=tak |spis treści=Pomoc:Spis treści |Pomoc:Spis treści|Pomoc - Spis treści |Pomoc:Spis treści/Wstęp|Wstęp |Wikibooks:Witamy nowicjuszy|Witamy nowicjuszy |Wikibooks:Zasady i wskazówki|Zasady i wskazówki |Wikibooks:Szybka pomoc|Szybka pomoc |Wikibooks:Czym jest Wikibooks|Czym jest Wikibooks? |Wikibooks:Różnice między Wikipedią i Wikibooks|Różnice między Wikipedią i Wikibooks |Wikibooks:Dlaczego warto rozpocząć współpracę|Dlaczego warto rozpocząć współpracę? |Wikibooks:Dlaczego używać wolnych podręczników|Dlaczego używać wolnych podręczników? |Wikibooks:Dlaczego nie pisać na Wikibooks|Dlaczego nie pisać na Wikibooks? |Wikibooks:Wikietykieta|Wikietykieta |Pomoc:Wikietykieta|Wikietykieta |Wikibooks:Neutralny punkt widzenia|Neutralny punkt widzenia |Pomoc:Żargon użytkowników|Żargon użytkowników |Wikibooks:Informacje prawne|Informacje prawne |Wikibooks:Prawa autorskie|Prawa autorskie |Pomoc:Spis treści/Edycja|Edycja |Wikibooks:Brudnopis|Brudnopis |Pomoc:Edycja kodu|Edycja kodu |Wikibooks:Import stron|Import stron |Wikibooks:Etapy rozwoju książek|Etapy rozwoju książek |Wikibooks:Ilustracja Wikibooks|Ilustracja Wikibooks |Pomoc:Jak edytować artykuły|Jak edytować artykuły? |Wikibooks:Nazewnictwo artykułów|Nazewnictwo artykułów |Pomoc:Podświetlanie składni|Podświetlanie składni |Pomoc:Problemy z polskimi znakami|Problemy z polskimi znakami |Pomoc:Quiz|Quiz |Pomoc:Tworzenie podręcznika|Tworzenie podręcznika |Wikibooks:Wandalizm|Wandalizm |Wikibooks:Podręczniki do druku|Podręczniki do druku |Pomoc:Tworzenie wersji do druku|Tworzenie wersji do druku |Pomoc:Tworzenie wersji PDF|Tworzenie wersji PDF |Pomoc:Tworzenie wersji PDF/javaLatex|Tworzenie wersji PDF/javaLatex |Pomoc:Książki|Książki |Pomoc:Spis treści/Wkład miesiąca|Wkład miesiąca |Wikibooks:Wkład miesiąca/Aktualne głosowanie|Aktualne głosowanie |Wikibooks:Wkład miesiąca/Wstęp|Wstęp |Wikibooks:Wkład miesiąca/Regulamin|Regulamin |Wikibooks:Wkład miesiąca/Nominacje|Nominacje |Pomoc:Spis treści/Komunikacja|Komunikacja |Wikibooks:Kanał IRC|Kanał IRC |Wikibooks:Kontakt|Kontakt |Wikibooks:Portal użytkowników|Portal użytkowników |Pomoc:Archiwizowanie strony dyskusji|Archiwizowanie strony dyskusji |Wikibooks:Przedstawicielstwo dyplomatyczne|Przedstawicielstwo dyplomatyczne |Pomoc:Spis treści/Korzystanie z Wikibooks|Korzystanie z Wikibooks |Wikibooks:Jak przeglądać Wikibooks|Jak przeglądać Wikibooks? |Wikibooks:Księgozbiór|Księgozbiór |Wikibooks:Księgozbiór/Wybrane|Księgozbiór - Wybrane |Wikibooks:Księgozbiór/Alfabetycznie|Księgozbiór - Alfabetycznie |Wikibooks:Księgozbiór/Tematycznie|Księgozbiór - Tematycznie |Wikibooks:Księgozbiór/Poziom|Księgozbiór - Poziom |Wikibooks:Księgozbiór/Status|Księgozbiór - Status |Portal:Nauki ścisłe i przyrodnicze|Portal - Nauki ścisłe i przyrodnicze |Portal:Informatyka|Portal - Informatyka |Portal:Nauki techniczne|Portal - Nauki techniczne |Portal:Nauki społeczne i humanistyczne|Portal - Nauki społeczne i humanistyczne |Portal:Sport i rozrywka|Portal - Sport i rozrywka |Portal:Hobby, poradniki i książki różne|Portal - Hobby, poradniki i książki różne |Wikibooks:Promocja|Promocja |Pomoc:Tryb ciemny|Tryb ciemny |Pomoc:Spis treści/Historia Wikibooks|Historia Wikibooks |Wikibooks:Historia Wikibooks|Historia Wikibooks |Wikibooks:Piąte urodziny|Piąte urodziny |Wikibooks:6. urodziny polskich Wikibooks|6. urodziny polskich Wikibooks |Wikibooks:Wikikalendarz 2009|Wikikalendarz 2009 |Wikibooks:Sprzątanie Wikibooks|Sprzątanie Wikibooks |Wikibooks:Sprzątanie Wikibooks/2009|Sprzątanie Wikibooks - 2009 |Wikibooks:Sprzątanie Wikibooks/2011|Sprzątanie Wikibooks - 2011 |Wikibooks:Statystyki|Statystyki |Pomoc:Spis treści/Technikalia|Technikalia |Wikibooks:Przestrzenie nazw|Przestrzenie nazw |Wikibooks:Poczekalnia|Poczekalnia |Wikibooks:Poczekalnia/naprawa|Poczekalnia - Naprawa |Wikibooks:Poczekalnia/prowokacje|Poczekalnia - Prowokacje |Wikibooks:Poczekalnia/artykuły|Poczekalnia - Artykuły |Wikibooks:Poczekalnia/kwestie techniczne|Poczekalnia - Kwestie techniczne |Wikibooks:Poczekalnia/Zgłoszenia|Poczekalnia - Zgłoszenia |Wikibooks:Poczekalnia/Załatwione|Poczekalnia - Załatwione |Wikibooks:VisualEditor|VisualEditor |Pomoc:Nowa skórka – wektor|Nowa skórka – wektor |Wikibooks:Skróty|Skróty |Pomoc:Spis treści/Strona główna|Strona główna |Pomoc:Spis treści/Wybrane książki|Wybrane książki |Wikibooks:Mechanizm MediaWiki|Mechanizm MediaWiki |Wikibooks:Szablony|Mechanizm MediaWiki - Szablony |Wikibooks:Moduły|Mechanizm MediaWiki - Moduły |Wikibooks:Moduły/Parametry|Moduł:Parametry |Wikibooks:Moduły/Html|Moduł:Html |Wikibooks:Moduły/Książkowe|Moduł:Książkowe |Wikibooks:Moduły/Nazwy|Moduł:Nazwy |Wikibooks:Moduły/Nazwy/Tom I|Moduł:Nazwy - Tom I |Wikibooks:Moduły/Nazwy/Tom II|Moduł:Nazwy - Tom II |Wikibooks:Moduły/Nazwy/Tom III|Moduł:Nazwy - Tom III |Wikibooks:Moduły/Nazwy/Tom IV|Moduł:Nazwy - Tom IV |Wikibooks:Moduły/Nazwy/Np|Moduł:Nazwy - Np |Wikibooks:Moduły/Pudełko|Moduł:Pudełko |Wikibooks:Moduły/Pudełko/Tom I|Moduł:Pudełko - Tom I |Wikibooks:Moduły/Pudełko/Tom II|Moduł:Pudełko - Tom II |Wikibooks:Moduły/Pudełko/Tom III|Moduł:Pudełko - Tom III |Wikibooks:Moduły/Pudełko/Tom IV|Moduł:Pudełko - Tom IV |Wikibooks:Moduły/Pudełko/Tom V|Moduł:Pudełko - Tom V |Wikibooks:Moduły/Pudełko/Pomocne|Moduł:Pudełko - Pomocne |Wikibooks:Moduły/Pudełko/Potrzebne|Moduł:Pudełko - Potrzebne |Wikibooks:Moduły/Pudełko/ParametryCechy|Moduł:Pudełko - Parametry Cechy |Wikibooks:Moduły/Ramka|Moduł:Ramka |Wikibooks:Moduły/Specjalne|Moduł:Specjalne |Wikibooks:Moduły/StronicowyParser|StronicowyParser |Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy|StronicowyParser - AnalizaSpisuRzeczy |Wikibooks:Moduły/StronicowyParser/GłównaFunkcjaZbieraniaDanychStron|StronicowyParser - GłównaFunkcjaZbieraniaDanychStron |Wikibooks:Moduły/StronicowyParser/Kategorie|StronicowyParser - Kategorie |Wikibooks:Moduły/StronicowyParser/NumerLubNazwaArtykułówKsiążek|StronicowyParser - NumerLubNazwaArtykułówKsiążek |Wikibooks:Moduły/StronicowyParser/NumerLubNazwaNagłówkówKsiążek|StronicowyParser - NumerLubNazwaNagłówkówKsiążek |Wikibooks:Moduły/StronicowyParser/NumerObiektu|StronicowyParser - NumerObiektu |Wikibooks:Moduły/StronicowyParser/NumeracjaObiektówStron|StronicowyParser - NumeracjaObiektówStron |Wikibooks:Moduły/StronicowyParser/Potrzebne|StronicowyParser - Potrzebne |Wikibooks:Moduły/StronicowyParser/Problemy|StronicowyParser - Problemy |Wikibooks:Moduły/StronicowyParser/Rozdziały|StronicowyParser - Rozdziały |Wikibooks:Moduły/StronicowyParser/SpisTreści|StronicowyParser - SpisTreści |Wikibooks:Moduły/StronicowyParser/StronaSubst|StronicowyParser - StronaSubst |Wikibooks:Moduły/StronicowyParser/Tekst|StronicowyParser - Tekst |Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron|StronicowyParser - ZbieranieDanychStron |Wikibooks:Moduły/StronicowyParser/informacje|StronicowyParser - informacje |Wikibooks:Moduły/StronicowyParser/obiekty|StronicowyParser - obiekty |Wikibooks:Moduły/Szeregi|Moduł:Szeregi |Wikibooks:Moduły/Skrót|Moduł:Skrót |Wikibooks:Moduły/Strony|Moduł:Strony |Wikibooks:Moduły/Sekcja referencyjna|Moduł:Sekcja referencyjna |Wikibooks:Szablony/Ogólne|Szablony - Ogólne |Wikibooks:Szablony/Informacje|Szablony - Informacje |Wikibooks:Szablony/PrzypisStrona|PrzypisStrona |Wikibooks:Szablony/Podręcznikowe|Szablony - Podręcznikowe |Wikibooks:Szablony/Książkowe|Szablony - Książkowe |Wikibooks:Szablony/Tekst|Szablony - Tekst |Wikibooks:Szablony/Zawartość|Szablony - Zawartość |Wikibooks:Szablony/Nagłówki|Szablony - Nagłówki |Wikibooks:Szablony/Przekierowania|Szablony - Przekierowania |Wikibooks:Szablony/Języki|Szablony - Języki |Wikibooks:Szablony/Liczby|Szablony - Liczby |Wikibooks:Szablony/Kategorie|Szablony - Kategorie |Wikibooks:Szablony/Opisy|Szablony - Opisy |Wikibooks:Szablony/Znaczniki|Szablony - Znaczniki |Wikibooks:Szablony/Szablony opływania|Szablony opływania |Wikibooks:Szablony/Stronicowe|Szablony - Stronicowe |Wikibooks:Szablony/Kontenerowe|Szablony - Kontenerowe |Wikibooks:Szablony/Elastyczne|Szablony - Elastyczne |Wikibooks:Szablony/Infoboksy/Prolog|Szablony - Infoboksy - Prolog |Wikibooks:Szablony/Infoboksy/Tom I|Szablony - Infoboksy - Tom I |Wikibooks:Szablony/Infoboksy/Tom II|Szablony - Infoboksy - Tom II |Wikibooks:Szablony/Infoboksy/Tom III|Szablony - Infoboksy - Tom III |Wikibooks:Szablony/Infoboksy/Tom IV|Szablony - Infoboksy - Tom IV |Wikibooks:Szablony/Infoboksy/Tom V|Szablony - Infoboksy - Tom V |Wikibooks:Szablony/Infoboksy/Tom VI|Szablony - Infoboksy - Tom VI |Wikibooks:Szablony/Infoboksy/Komponenty|Szablony - Infoboksy - Komponenty |Wikibooks:Szablony/Infoboksy/Komponenty (organizmy żywe)|Infoboksy - Komponenty (organizmy żywe) |Wikibooks:Szablony/Porządkowe|Szablony - Porządkowe |Wikibooks:Szablony/Źródła artykułów|Szablony - Źródła artykułów |Wikibooks:Szablony/Linki|Szablony - Linki |Wikibooks:Szablony/Linki inteligentne|Szablony - Linki inteligentne |Wikibooks:Szablony/Do usunięcia|Szablony - Do usunięcia |Wikibooks:Szablony/Nawigacja|Szablony - Nawigacja |Wikibooks:Szablony/Media|Szablony - Media |Wikibooks:Szablony/Grafika|Szablony - Grafika |Wikibooks:Szablony/Licencjonowanie|Szablony - Licencjonowanie |Wikibooks:Szablony/Techniczne|Szablony - Techniczne |Wikibooks:Szablony/Wikipedysta|Szablony - Wikipedysta |Wikibooks:Szablony/Dyskusja Wikipedysty|Szablony - Dyskusja Wikipedysty |Wikibooks:Szablony/MediaWiki|Szablony - MediaWiki |Wikibooks:Szablony/Systemowe|Szablony - Systemowe |Pomoc:Spis treści/Szablony/Tom I|Szablony - Tom I |Pomoc:Spis treści/Szablony/Tom II|Szablony - Tom II |Pomoc:Spis treści/Szablony/Tom III|Szablony - Tom III |Pomoc:Spis treści/Szablony/Tom IV|Szablony - Tom IV |Pomoc:Spis treści/Administracja|Administracja |Wikibooks:Kwestie techniczne|Kwestie techniczne |Wikibooks:Wikipedyści potrzebujący pomocy|Wikipedyści potrzebujący pomocy |Wikibooks:Zgłoś błąd (ZB)|Zgłoś błąd (ZB) |Wikibooks:Lista Naruszeń Praw Autorskich (NPA)|Lista Naruszeń Praw Autorskich (NPA) |Wikibooks:Administratorzy|Administratorzy |Wikibooks:Prośby do administratorów|Prośby do administratorów |Wikibooks:Administratorzy interfejsu|Administratorzy interfejsu |Wikibooks:Prośby do administratorów interfejsu|Prośby do administratorów interfejsu |Wikibooks:Biurokraci|Biurokraci |Wikibooks:Boty|Boty |Wikibooks:Stewardzi|Stewardzi |Wikibooks:Użytkownicy|Użytkownicy |Wikibooks:Automatycznie zatwierdzeni użytkownicy|Automatycznie zatwierdzeni użytkownicy |Wikibooks:Zatwierdzeni użytkownicy|Zatwierdzeni użytkownicy |Wikibooks:Przyznawanie uprawnień|Przyznawanie uprawnień |Wikibooks:Nazwa użytkownika|Nazwa użytkownika |Wikibooks:Prośby o zmianę nazwy użytkownika|Prośby o zmianę nazwy użytkownika |Wikibooks:Uprawnieni do logowania się z zablokowanych adresów IP|Uprawnieni do logowania się z zablokowanych adresów IP |Wikibooks:GNU Free Documentation License|GNU Free Documentation License }}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon manualny (ręczny), nie automatyczny, bo ustawiony za pomocą {{Parametr|automat manualny|tak}}, wskazujący poprzedni i następny artykuł pomocy oraz ich stronę główną, czyli spis po {{LinkPomoc2|Spis treści}}.}}{{Kategoria|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}</noinclude> ro6hiba2g1upn0t0b9yly4dw4lsvnw5 Moduł:Kategorie/dane 828 61693 544874 543449 2026-06-01T17:05:46Z Persino 2851 544874 Scribunto text/plain -- Zmienne potrzebne do funkcji: p.NazwaSortowaniaNazwyStrony(frame), która jest wykorzystywana do domyślnego formatowania stron do szablonów: "Kategoria" i "Kategorie", i ich pochodnych, które korzystają z funkcji o takich samych nazwach, co te szablony. local p={}; p.tablica_wyrazowa_alternatyw={ ["i"]=true, ["lub"]=true, ["oraz"]=true, ["bądź"]=true, ["ewentualnie"]=true, ["natomiast"]=true, }; p.tablica_wyrazowa_gdy_alternatywy={ ["szablon"]=true, }; p.tablica_wyrazowa_niealternatyw={ ["o"]=true, ["w"]=true, ["z"]=true, ["ze"]=true, ["od"]=true, ["ode"]=true, ["do"]=true, ["dla"]=true, ["na"]=true, ["pod"]=true, ["nad"]=true, ["znad"]=true, ["spod"]=true, ["stamtąd"]=true, ["podnad"]=true, ["bez"]=true, ["nie"]=true, ["tak"]=true, ["brak"]=true, ["spoza"]=true, }; p.tablica_wyrazowa_wybrane_przyimki={ ["o"]=true, ["z"]=true, ["ze"]=true, ["w"]=true, ["na"]=true, ["do"]=true, ["bez"]=true, ["od"]=true, }; p.tablica_wyrazy_niedopuszczalne={ ["infobox"]=true, ["wikibooks"]=true, ["mediawiki"]=true, }; p.tablica_analizowanie_bez={ ["Wikibooks"]=true, ["MediaWiki"]=true, ["TemplateStyles"]=true, ["Lua"]=true, ["Scribunto"]=true, ["HTML"]=true, ["XHTML"]=true, ["CSS"]=true, ["String"]=true, ["Dump"]=true, ["Wikidan"]=true, ["Opis"]=true, }; p.tablica_analizowanie_specjalne_wyrazy={ ["błędam"]=true, } p.tablica_analizowanie_specjalne_sekwencje={ ["błędn"]=true, ["błędy"]=true, ["nazwy"]=true, }; p.tablica_wyrazy_do_usuwania_przez_sortowanie={ ["używa"]=true, ["wymag"]=true, ["podział"]=true, ["taki"]=true, ["jaki"]=true, ["samy"]=true, ["któr"]=true, ["zwróc"]=true, ["przez"]=true, ["przestarz"]=true, ["postac"]=true, ["zawier"]=true, ["zawar"]=true, ["byc"]=true, ["dotycz"]=true, ["duż"]=true, ["mał"]=true, ["liczb"]=true, ["musi"]=true, ["musz"]=true, ["zgłaszan"]=true, ["przekracz"]=true, ["dopuszcz"]=true, ["duż"]=true, ["prawidł"]=true, ["samozamykaj"]=true, ["zależ"]=true, ["wyświetl"]=true, ["inn"]=true, ["tej"]=true, ["tego"]=true, ["pełn"]=true, ["dawn"]=true, --["definicj"]=true, ["główn"]=true, ["określon"]=true, ["poprawn"]=true, ["istniejąc"]=true, ["znan"]=true, ["zgodn"]=true, ["wszystk"]=true, ["sprawdzen"]=true, ["osobn"]=true, ["tworz"]=true, ["wywołan"]=true, ["wywołań"]=true, ["obsługując"]=true, ["wartość"]=true, ["pudełek"]=true, ["parametr"]=true, ["pozostał"]=true, ["użyc"]=true, ["szablonów"]=true, ["podano"]=true, ["złym"]=true, ["dobrym"]=true, ["brak"]=true, ["nazwanym"]=true, ["obiektam"]=true, ["pusty"]=true, ["puste"]=true, ["wykorzyst"]=true, ["potrzeb"]=true, ["korzystan"]=true, ["zbiorcz"]=true, }; p.tablica_wyrazy_przez_sortowanie={ ["brak"]=true, ["spis"]=true, ["istniej"]=true, ["zobacz"]=true, ["grup"]=true, }; p.tablica_wyrazy_parsowania_nazwy_sortowania={ ["obiekt[^%s]*$"]=true, }; p.tablica_zmiana_liczenia_nazwy_sortowania={ ["odnośnik"]=true, }; p.tablica_dzielenia_elementowa_sortowania={ ["miast"]=true, ["gmin"]=true, ["powiat"]=true, ["województw"]=true, }; p.tablica_kompletne_wyrazy_do_usuwania_przez_sortowanie={ ["jest"]=true, ["może"]=true, ["można"]=true, ["być"]=true, ["zbyt"]=true, ["dane"]=true, ["się"]=true, ["szablon"]=true, ["według"]=true, }; p.tablica_wydzielania_subelementowych={ ["Link"]=true, }; p.tablica_kompletne_wyrazowy_do_sortowania_bez_analizowania={ ["skrypty"]=true, ["hasła"]=true, ["książki"]=true, ["artykuły"]=true, ["podręczniki"]=true, ["artykuły dla dzieci"]=true, ["podręczniki dla dzieci"]=true, ["strony brudnopisu opisu modułów"]=true, ["strony brudnopisu opisu szablonów"]=true, ["strony brudnopisu modułów"]=true, ["strony brudnopisu szablonów"]=true, ["strony opisu modułów"]=true, ["strony opisu szablonów"]=true, ["strony modułów"]=true, ["strony szablonów"]=true, ["jednostki brudnopisu projektu"]=true, ["strony brudnopisu projektu"]=true, ["strony kategorii"]=true, ["strony pomocy"]=true, ["strony projektu"]=true, ["jednostki użytkowników"]=true, ["strony użytkowników"]=true, ["strony niepodręcznikowe"]=true, }; return p; 3vqdvp6dh5g25mrtrnzzce8jgsktt5p Wikibooks:Moduły/Parametry 4 63291 544829 542715 2026-06-01T14:35:56Z Persino 2851 /* {{Code|p["KopiujRekurencyjnieTabelęElementów"]}} */ 544829 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Moduł wywołuje się za pomocą polecenia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Moduł: {{ld2|Parametry}}, służy do operowania na wszelkiego rodzaju parametrach, modyfikowaniu ich, a nawet podawania z funkcji z tablicy ramki tablicy transportu tego modułu, i innych funkcji z innych modułów, które wykorzystują funkcje parametru tego modułu. Będziemy mówili, że zbiór jest ponumerowany, gdy ma elementy nienazwane od jeden zwyż, bez przerw, do pewnego końca, wtedy jest to sekwencja w języku {{lpg|Lua}}, a jeżeli ona nie jest ponumerowana, to ma tylko elementy nienazwane, czyli wtedy nie jest sekwencją. Zbiór z elementami nienazwanymi (nazwane liczbami naturalnymi) może zawierać czasami elementy nazwane, ktorego nazwy nie są już takie, zwykle je się oznacza łańcuchami znakowymi, a w języku {{lpg|Lua}} to są po prostu elementy typu: {{Code|string}}, a liczby naturalne typu: {{Code|number}}. == Funkcje liczb elementów w tabeli == === {{Code|p["LiczbaElementówNumerowanychTablicy"]}} === Funkcja liczy liczbę numerowanych elementów tablicy od {{Code|1}}, one nie mogą mieć miedzy sobą przerw zaczynające się właśnie od niej, czyli: {{Code|1,2,3,4,...}}. Można podać, czy oczekujemy wartości tylko niepustych, czy nie. Można wskazać, czy liczba elementów jest mnoga (większa od {{Code|1}}). Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["LiczbaElementówNumerowanychTablicy"]=function(tabela, wliczac,mnoga)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela, na którym operujemy, * {{Code|wliczac}} - czy szukamy niepuste elementy numerowane tabeli, jeżeli {{Code|true}}, * {{Code|mnoga}} - czy liczba tych numerowanych elementów jest mnoga, jeżeli {{Code|true}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela={"nazwa1","nazwa2","nazwa3","nazwa4","nazwa5","nazwa6","nazwa7","nazwa8","nazwa9",}; local parametry_modul=require("Module:Parametry"); local liczba_elementow_nienazwanych_tablicy=parametry_modul["LiczbaElementówNumerowanychTablicy"](tabela,true,false); </syntaxhighlight> Wynik tej funkcji jest {{Code|9}}, ponieważ ma on mnóstwo parametrów nienazwanych, które jednocześnie są numerowane, czyli są one od {{Code|1}} i ciągną się bez przerw, aż do pewnej liczby. Powyższe wywołanie liczy liczbę parametrów numerowanych niepustych. === {{Code|p["LiczbaElementówNumerowanychSzablonu"]}} === Funkcja wywoływana w ramce w wikikodzie, wykorzystująca funkcję z definicji: {{Code|{{sr|#p["LiczbaElementówNumerowanychTablicy"]|p=Parametry}}}}, i robiąca to samo, co ona, tylko wykorzystywana na innym poziomie, tzn. jako wywołana ramka w szablonie, a nie powinna być uruchamiana w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. <syntaxhighlight lang="lua"> p["LiczbaElementówNumerowanychSzablonu"]=function(frame)...end; </syntaxhighlight> Parametrami funkcji ramki tablicy transportu, które z dwóch odpowiadają parametrom: {{Code|wliczac}} i {{Code|mnoga}}, wykorzystywanej funkcji, są kolejno: * {{Code|niepuste}} - czy szukamy niepuste elementy numerowane parametrów szablonu, w którym ta ramka została wywołana, w postaci tej funkcji, jeżeli ta zmienna niepusta, * {{Code|mnoga}} - czy liczba takich wyszukań jest mnoga, jeżeli niepusta. Odpowiednikiem zmiennej {{Code|tabela}}: * {{Code|frame:getParent().args}} - czyli parametry szablonu rodzica, policzona za pomocą tablicy ramki, jej funkcji, tablicy transportu. Funkcje wywołuje się w ramce w szablonie, jako dziecko, w postaci, np., gdy rozważamy parametry niepuste szablonu, z ustawionym niepustym parametrem mnogości, wtedy ona powinna zwrócić liczbę {{Code|0}}, {{Code|1}} lub {{Code|2}}: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu|niepuste=tak|mnoga=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1|nazwa2|nazwa3|nazwa4|nazwa5|nazwa6|nazwa7|nazwa8|nazwa9}} </syntaxhighlight> Powyższe wywołanie liczy liczbę parametrów numerowanych niepustych, tzn. gdy ten parametr jest podany od, a elementy tam są od {{Code|1}}, bez przerw, a jeżeli są przerwy, jeżeli taki przykład sformułować, to do jej pierwszej, a w tym przypadku nie ma takich. Powyższa funkcja zrzuca wynik wyliczony, a ponieważ ustawiony został parametr mnogości w dziecku tego szablonu, wtedy zwraca liczbę {{Code|2}}, a gdyby nie był, to zobaczylibyśmy liczbę tych elementów. Jak można zauważyć, że ma on parametry numerowane (zaczynające się od jedynki), które można znaleźć w parametrach szablonu, jeżeli tam w ogóle istnieją. === {{Code|p["LiczbaElementówNienazwanychTablicy"]}} === Funkcja liczy liczbę nienazwanych elementów niekoniecznie od {{Code|1}}, ale mogą zaczynać się od pewnej liczby, mogą między sobą, nie zawsze, mieć przerwy, np. mogą być podane tak: {{Code|3,10,15,..}}. Można podać, czy oczekujemy wartości tylko niepustych. Można wskazać, czy liczba elementów jest mnoga (większa od {{Code|1}}, ale równa {{Code|2}}, w tym przypadku, a jeżeli nie jest taka, to zrzucony wynik jest {{Code|0}}, {{Code|1}}, ale nie {{Code|2}}). Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["LiczbaElementówNienazwanychTablicy"]=function(tabela, wliczac,mnoga)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela, na którym operujemy, * {{Code|wliczac}} - czy szukamy niepuste elementy numerowane tabeli, ma wartosć nieodpowiadająca {{Code|false}}, * {{Code|mnoga}} - czy liczba tych numerowanych elementów jest mnoga, wartość jak powyżej. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela={[2]="nazwa1",[10]="nazwa2",[15]="nazwa3",[18]="nazwa4",}; local parametry_modul=require("Module:Parametry"); local liczba_elementow_nienazwanych_tablicy=parametry_modul["LiczbaElementówNienazwanychTablicy"](tabela,true,false); </syntaxhighlight> Wynik tej funkcji jest {{Code|4}}, bo taka jest liczba parametrów nienazwanych, ale nie numerowanych. Powyższe wywołanie liczy liczbę parametrów nienazwanych niepustych. === {{Code|p["LiczbaParametrówNienazwanychSzablonu"]}} === Funkcja wywoływana w ramce w wikikodzie, wykorzystująca funkcję z definicji: {{Code|{{sr|#p["LiczbaElementówNienazwanychTablicy"]|p=Parametry}}}}, i robiąca to samo, co ona, tylko wykorzystywana na innym poziomie, tzn. jako wywołana ramka w szablonie, a nie powinna być uruchamiana w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["LiczbaParametrówNienazwanychSzablonu"]=function(frame)...end; </syntaxhighlight> Parametrami funkcji tablicy ramki, odpowiedniki parametrów: {{Code|wliczac}} i {{Code|mnoga}} funkcji wykorzystywanej z definicji, są kolejno: * {{Code|niepuste}} - czy szukamy niepuste elementy numerowane parametrów szablonu, w którym ta ramka została wywołana, w postaci tej funkcji, jeżeli ten argument niepusty, * {{Code|mnoga}} - czy liczba takich wyszukań jest mnoga, jeżeli niepusty. Odpowiednikiem parametru {{Code|tabela}} jest: * {{Code|frame:getParent().args}} - czyli parametry szablonu rodzica, policzona za pomocą tablicy ramki, jej funkcji, tablicy transportu. Funkcje wywołuje się w ramce w szablonie, jako dziecko, w postaci, np., gdy rozważamy parametry niepuste szablonu, z ustawieniem parametrem mnogości, wtedy funkcja ta powinna zwrócić liczbę {{Code|0}}, {{Code|1}} lub {{Code|2}}: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|LiczbaParametrówNienazwanychSzablonu|niepuste=tak|mnoga=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|2=nazwa1|10=nazwa2|15=nazwa3|18=nazwa4}} </syntaxhighlight> Powyższe wywołanie liczy liczbę parametrów nienazwanych niepustych w liczbie mnogie, tzn. gdy ten parametr jest podany. Powyższa funkcja zrzuca wynik wyliczony, ze względu to ustawienie w dziecku, jako liczbę {{Code|2}}. === {{Code|p["LiczbaElementówTablicy"]}} === Funkcja liczy liczbę nienazwanych (numerowanych) i nazwanych elementów tablicy, a jeżeli parametr: {{Code|wliczac}}, jest podany, to liczy elementy, które nie są nie o zawartości niepustej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["LiczbaElementówTablicy"]=function(tabela,wliczac)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela do rozważań na problemy tej funkcji, * {{Code|wliczac}} - czy ma liczyć liczbę elementów niepustych, jeżeli {{Code|true}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela={ 10, nazwa = 5, parametr = "tak", }; local parametry_modul=require("Module:Parametry"); local liczba_elementow_tablicy=parametry_modul["LiczbaElementówTablicy"](tabela,true); </syntaxhighlight> Policzona liczba elementów {{Code|liczba_elementow_tablicy}} jest {{Code|3}}. Powyższa funkcja liczy liczbę wszystkich parametrów niepustych w podanej tablicy. === {{Code|p["LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy"]}} === Funkcja liczy liczbę nienazwanych od {{Code|1}}, ale mogą zaczynać się od pewnej liczby, mogą między sobą mieć przerwy, np.: {{Code|3,10,15,..}}, liczbę elementów tablicy odpowiednio skonstruowanych, charakterystycznych dla tej funkcji. Można podać, czy oczekujemy wartości tylko niepustych. Można wskazać, czy liczba elementów jest mnoga (większa od {{Code|1}}, ale równa {{Code|2}}, a jeżeli nie jest taka, to wtedy {{Code|0}} lub {{Code|1}}). Należy też podać niepusty przedrostek, niebędący liczbą zakodowaną w łańcuchu. Należy wskazać funkcji, czy oczekujemy formy numerkowe, ale nie muszą to być liczby, ale mogą być one łańcuchami numerkowymi, a jezeli nie są takie, to one muszą być w postaci czystych liczb, a w przypadku form, które po przekształceniu na liczbę funkcją {{Code|tonumber}} stają się normalnymi liczbami {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy"]=function(tabela,przedrostek,wliczac,czy_formy_numerkowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela, na którym operujemy, * {{Code|przedrostek}} - niepusty, niebędący liczbą łańcuchową, przedrostek, który ma być przed liczbą, * {{Code|wliczac}} - czy szukamy niepuste elementy numerowane tabeli, * {{Code|czy_formy_numerkowe}} - czy wyszukiwane liczby przy pomocy funkcji {{Code|pairs}}, czy są czystymi liczbami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Funkcja liczy liczbę parametrów nienazwanych i nazwanych, ale z podanym przedrostkiem, lub nie, skonstruowanych z tych pierwszych. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela={[2]="wartość1", [10]="wartosć2", [15]="wartość3", ["18"]="wartość4", ["nazwa2"] = "wartosc5", ["nazwa10"] = "wartość6", ["nazwa18"] = "wartość7", }; local parametry_modul=require("Module:Parametry"); local liczba_elementow_nienazwanych_z_przedrostkiem_lub_nie_w_tablicy=parametry_modul["LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy"](tabela,"nazwa",true,false); </syntaxhighlight> Funkcja w postaci wartości {{Code|liczba_elementow_nienazwanych_z_przedrostkiem_lub_nie_w_tablicy}} zwróci liczbę {{Code|6}}. Powyższe wywołanie liczy liczbę parametrów nienazwanych niepustych, z przedrostkiem lub nie, ale nie czysto numerkowych, ale również numerkowych (szeregi). == Funkcje minimalnej i maksymalnej wartości w tabeli == === {{Code|p.MaksymalnaLiczbaParametruNienazwanegoSzablonu}} === Funkcja wywołana w ramce szablonu, który może nawet liczyć, i nie tylko, parametry niepuste, jeżeli to w nim wskazano w ramce dziecka szablonu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p.MaksymalnaLiczbaParametruNienazwanegoSzablonu=function(frame)...end; </syntaxhighlight> Funkcja ma parametry, które przyjmuje, jako parametry dziecka ramki, też zbiera zmienne rodzica: * {{Code|niepuste}} - niepuste, wtedy w liczy tylko elementy szablonu niepuste, tylko je wykorzystuje do rozważań, * {{Code|frame:getParent().args}} - parametry szablonu rodzica dziecka ramki, w którym on został wywołany. Przykład wywołania ramki dziecka w szablonie rodzica jest: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|MaksymalnaLiczbaParametruNienazwanegoSzablonu|niepuste=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|4=nazwa1|5=nazwa2|10=nazwa3|20=nazwa4}} </syntaxhighlight> Szablon zrzuci wynik {{Code|20}}, ponieważ ta nazwa (klucz) parametru jest największa. Funkcja wykorzystuje do swojego działania: {{Code|{{sr|#p.MaksymalnaLiczbaParametruNienazwanegoTablicy|p=Parametry}}}}, który robi to samo, co podana funkcja, tylko jest inne obrazowanie zmiennych. === {{Code|p.MaksymalnaLiczbaParametruNienazwanegoTablicy}} === Funkcja liczy maksymalny numer parametru nienazwanego, określony liczbą, mający w sobie, niekoniecznie, przerwy, nie zawsze zaczynający się od jedynki. Jeżeli funkcja nie znalazłażadnego takiego elementu, to zwracana wtedy jest wartość {{Code|0}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p.MaksymalnaLiczbaParametruNienazwanegoTablicy=function(tabela, wliczac)...end; </syntaxhighlight> Funkcja ma zmienne, które przyjmuje w wywołaniu funkcyjnym: * {{Code|tabela}} - rozważana tabela, podana jako pierwszy argument funkcji, * {{Code|wliczac}} - czy ma uwzględniać w swoich rozważaniach, podczas liczenia podanej tabeli, w nim elementy niepuste. Przykładem wywołania jest dla parametrów niepustych tablicy: <syntaxhighlight lang="lua"> local tabela={[4]="nazwa1",[5]="nazwa2",[10]="nazwa3",[20]="nazwa4",}; local parametry_modul=require("Module:Parametry"); local maksymalna_wartosc_parametru_nienazwanego=parametry_modul.MaksymalnaLiczbaParametruNienazwanegoTablicy(tabela,true); </syntaxhighlight> Funkcja zwróci wynik o wartości, w parametrze: {{Code|maksymalna_wartosc_parametru_nienazwanego}} równej: {{Code|20}}. === {{Code|p.MinimalnaLiczbaParametruNienazwanegoSzablonu}} === Funkcja wywołana w ramce szablonu, który może nawet liczyć, i nie tylko, parametry niepuste, jeżeli to w nim wskazano w ramce dziecka szablonu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p.MaksymalnaLiczbaParametruNienazwanegoSzablonu=function(frame)...end; </syntaxhighlight> Funkcja ma parametry, które przyjmuje jako parametry dziecka ramki, też zbiera zmienne rodzica: * {{Code|niepuste}} - niepuste, wtedy w liczy tylko elementy szablonu niepuste, tylko je wykorzystuje do rozważań, * {{Code|frame:getParent().args}} - parametry szablonu rodzica dziecka ramki, w której on został wywołany. Przykład wywołania ramki dziecka w szablonie rodzica jest: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|MinimalnaLiczbaParametruNienazwanegoSzablonu|niepuste=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|4=nazwa1|5=nazwa2|150nazwa3|20=nazwa4}} </syntaxhighlight> Szablon zrzuci liczbę {{Code|4}}, ponieważ ta nazwa parametru najmniejsza. Funkcja wykorzystuje do swojego działania: {{Code|{{sr|#p.MinimalnaLiczbaParametruNienazwanegoTablicy|p=Parametry}}}}, który robi to samo, co podana funkcja, tylko jest inne obrazowanie zmiennych. === {{Code|p.MinimalnaLiczbaParametruNienazwanegoTablicy}} === Funkcja liczy minimalny numer parametru nienazwanego, określony liczbą, mający w sobie, niekoniecznie mający przerwy, nie zawsze zaczynający się od jedynki, nie zawsze zaczynający się jedynki. Jeżeli funkcja nie znalazłażadnego takiego elementu, to zwracana wtedy jest wartość {{Code|1}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p.MinimalnaLiczbaParametruNienazwanegoTablicy=function(tabela, wliczac)...end; </syntaxhighlight> Funkcja ma zmienne, które przyjmuje w wywołaniu funkcyjnym: * {{Code|tabela}} - rozważana tabela, podana jako pierwszy argument funkcji, * {{Code|wliczac}} - czy ma uwzględniać w swoich rozważaniach, podczas liczenia podanej tabeli, jego elementy niepuste. Przykładem wywołania jest dla parametrów niepustych tablicy: <syntaxhighlight lang="lua"> local tabela={[4]="nazwa1",[5]="nazwa2",[10]="nazwa3",[20]="nazwa4",}; local parametry_modul=require("Module:Parametry"); local minimalna_wartosc_parametru_nienazwanego=parametry_modul.MinimalnaLiczbaParametruNienazwanegoTablicy(tabela,true); </syntaxhighlight> Funkcja zwróci wynik o wartości, w parametrze: {{Code|minimalna_wartosc_parametru_nienazwanego}} równej: {{Code|4}}. === {{Code|p.MinimalnyIMaksymalnyNumerParametru}} === Funkcja liczy minimalny i maksymalny numer parametru nazwanego, o pewnej podanej podstawie, numerowany liczbą po spacji, będąca liczbą naturalną, lub bez numerka, numerowanie tych argumentów może mieć przerwy, może liczyć jako od {{Code|0}} lub {{Code|1}}, w zależności od drugiego argumentu. Jeśli funkcja nie znalazła zadnego takiego elementu, to wtedy dwie wartości, zwracane przez tę funkcję, minimalna przyjmuje wartość {{Code|1}}, a maksymalna {{Code|0}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.MinimalnyIMaksymalnyNumerParametru(tabela,nazwa_parametru_okreslona, czy_od_zera)...end; </syntaxhighlight> Funkcja ma zmienne, które przyjmuje w wywołaniu funkcyjnym: * {{Code|tabela}} - rozważana tabela, podana jako pierwszy argument funkcji, * {{Code|nazwa_parametru_okreslona}} - podstawa parametrów numerowanych, np. mogący być: {{Code|nazwa 1}}, * {{Code|czy_od_zera}} - czy parametr bez numerka ma liczyć jako {{Code|0}}, jeśli {{Code|true}}, w przeciwnym wypadku jest liczony on jako {{Code|1}}. Przykładem wywołania jest dla parametrów o nazwach niepustych w tablicy: <syntaxhighlight lang="lua"> local tabela={["nazwa 4"]="tak",["nazwa 5"]="tak",["nazwa 10"]="tak",["nazwa 20"]="tak",}; local parametry_modul=require("Module:Parametry"); local minimalna_wartosc,maksymalna_wartosc=parametry_modul.MinimalnyIMaksymalnyNumerParametru(tabela,"nazwa",false); </syntaxhighlight> Funkcja zwróci wynik o wartości, w parametrach: {{Code|minimalna_wartosc}} i {{Code|maksimum_wartosc}}, mający kolejno wartości liczbowe: {{Code|4}} i {{Code|20}}. Jest to minmalna i maksymalna wartość dla liczb po spacji siedzące przy podstawach parametrów, która jest podana w parametrze drugim funkcji. == Funkcje, czy są takie parametry == Poniższe funkcje zwracają {{Code|tak}} w ramce szablony, w przypadku wersji szablonowych, a typowo funkcyjnych {{Code|true}}, gdy coś znaleziono, gdy nic, to wartość języka {{lpg|Lua}}, czyli: {{Code|nil}}, w drugim przypadku, co odpowiada w odpowiednikach uruchamianych w ramce szablonu wartości pustej {{Code|""}}, lub {{Code|false}}, w tym drugim przypadku. === {{Code|p["CzySąParametryNumerowaneSzablonu"]}} === Funkcja służy do wskazania, czy w parametrach szablonu rodzica, w której jest uruchomiona ta funkcja w postaci ramki, są elementy numerowane, tzn. od {{Code|1}} bez przerw, ale z końcem, lub do jej pierwszej. Można wskazać, czy są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzySąParametryNumerowaneSzablonu"] = function(frame)...end; </syntaxhighlight> Parametry ramki szablonu, sprawdzające, czy są elementy numerowane, ewentualnie niepuste: * {{Code|niepuste}} - czy ma uwzględniać parametry tylko niepuste, * {{Code|frame:getParent().args}} - tablica do rozważań przez funkcję biblioteczną. Przykładem wywołania jest, gdy rozważamy parametry niepuste szablonu, ewentualnie niepuste: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzySąParametryNumerowaneSzablonu|niepuste=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1|nazwa2|nazwa3}} </syntaxhighlight> Szablon zwróci wynik {{Code|tak}}, ponieważ istnieją jakieś parametry numerowane. Funkcja wykorzystuje funkcję: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, do obsługi tej funkcji ramki, którą wywołuje się w wikikodzie. === {{Code|p["CzySąElementyNumerowaneTablicy"]}} === Funkcja służy do wskazania, czy w tablicy {{Code|tabela}} są elementy numerowane tablicy, tzn. numerowane od {{Code|1}} bez przerw, ale z końcem, lub do pierwszej przerwy. Można wskazać, są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzySąElementyNumerowaneTablicy"]=function(tabela,wliczac)...end; </syntaxhighlight> Parametry funkcji, sprawdzające, czy są elementy numerowane, ewentualnie niepuste: * {{Code|tabela}} - tabela do rozważań, * {{Code|wliczać}} - czy ma uwzględniać parametry niepuste w tabeli {{Code|tabela}}. Wywołanie przykładowej tej funkcji jest: <syntaxhighlight lang="lua"> local tabela={"nazwa1", "nazwa2", "nazwa3", }; local parametry_modul=require("Module:Parametry"); local czy_sa_elementu_numerowane_tablicy=parametry_modul["CzySąElementyNumerowaneTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik {{Code|true}}, bo istnieją jakieś elementy numerowane tabeli {{Code|tabela}}. === {{Code|p["CzySąParametryNienazwaneSzablonu"]}} === Funkcja służy do wskazania, czy w parametrach szablonu rodzica, w której jest uruchomiona ta funkcja w postaci ramki, są elementy nienazwane, tzn., niekoniecznie od {{Code|1}} mogący być z przerwami, ale z końcem. Można wskazać, czy są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowwa funkcji: <syntaxhighlight lang="lua"> p["CzySąParametryNienazwaneSzablonu"] = function(frame)...end; </syntaxhighlight> Parametry ramki szablonu, sprawdzające, czy są elementy nienazwane, ewentualnie niepuste: * {{Code|niepuste}} - czy ma uwzględniać parametry tylko niepuste, * {{Code|frame:getParent().args}} - tablica do rozważań przez funkcję biblioteczną. Przykładem wywołania jest, gdy rozważamy parametry niepuste szablonu, ewentualnie niepuste: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzySąParametryNienazwaneSzablonu|niepuste=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|3=nazwa1|5=nazwa2|8=nazwa3}} </syntaxhighlight> Funkcja ramki w szablonie zwróci wynik {{Code|tak}}, ponieważ ma on jakieś parametry nienazwane, a nienumerowane (nie zaczyna się od {{Code|1}}). Funkcja wykorzystuje funkcję: {{Code|{{sr|#p["CzySąElementyNienazwaneTablicy"]|p=Parametry}}}}, do obsługi tej funkcji ramki, którą wywołuje się w wikikodzie. === {{Code|p["CzySąElementyNienazwaneTablicy"]}} === Funkcja służy do wskazania, czy w tablicy {{Code|tabela}} są elementy nienazwane, tzn. nienazwane, niekoniecznie od {{Code|1}}, mogący być z przerwami, ale z końcem. Można wskazać, czy są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzySąElementyNienazwaneTablicy"]=function(tabela,wliczac)...end; </syntaxhighlight> Parametry funkcji, sprawdzające, czy są elementy nienazwane, ewentualnie niepuste: * {{Code|tabela}} - tabela do rozważań, * {{Code|wliczać}} - czy ma uwzględniać parametry niepuste w tabeli {{Code|tabela}}. Wywołanie przykładowej tej funkcji jest: <syntaxhighlight lang="lua"> local tabela={[3]="nazwa1", [5]="nazwa2", [8]="nazwa3", }; local parametry_modul=require("Module:Parametry"); local czy_sa_elementu_nienazwane=parametry_modul["CzySąElementyNienazwaneTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik {{Code|true}}, ponieważ ma on jakieś parametry nienazwane tablicy {{Code|tabela}}, a nienumerowane (nie zaczyna się od {{Code|1}}). === {{Code|p["CzySąParametryNazwaneSzablonu"]}} === Funkcja służy do wskazania, czy w parametrach szablonu rodzica, w której jest uruchomiona ta funkcja w postaci ramki, są elementy nazwane, tzn. elementy niemający klucza w postaci liczby naturalnej. Można wskazać, czy są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzySąParametryNazwaneSzablonu"] = function(frame)...end; </syntaxhighlight> Parametry ramki szablonu, sprawdzające, czy są elementy nazwane, ewentualnie niepuste: * {{Code|niepuste}} - czy ma uwzględniać parametry tylko niepuste, * {{Code|frame:getParent().args}} - tablica do rozważań przez funkcję biblioteczną. Przykładem wywołania, gdy rozważamy parametry niepuste szablonu, ewentualnie niepuste, jest: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzySąParametryNumerowaneSzablonu|niepuste=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=wartość1|10=wartość2|15=wartość3}} </syntaxhighlight> Szablon zwróci wynik {{Code|tak}}, ponieważ ma on jakieś parametry nazwane. Funkcja wykorzystuje funkcję: {{Code|{{sr|#p["CzySąElementyNazwaneTablicy"]|p=Parametry}}}}, do obsługi tej funkcji ramki, którą wywołuje się w wikikodzie. === {{Code|p["CzySąElementyNazwaneTablicy"]}} === Funkcja służy do wskazania, czy w tablicy {{Code|tabela}}, są elementy nazwane, tzn. niemający klucza w postaci liczby naturalnej. Można wskazać, czy są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzySąElementyNazwaneTablicy"]=function(tabela,wliczac)...end; </syntaxhighlight> Parametry funkcji, sprawdzające, czy są elementy nazwane, ewentualnie niepuste: * {{Code|tabela}} - tabela do rozważań, * {{Code|wliczać}} - czy ma uwzględniać parametry niepuste w tabeli {{Code|tabela}}. Wywołanie przykładowej tej funkcji jest: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]="wartość1", ["nazwa2"]="wartość2", ["nazwa3"]="wartośc3", }; local parametry_modul=require("Module:Parametry"); local czy_sa_elementu_nazwane=parametry_modul["CzySąElementyNazwaneTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik {{Code|true}}, ponieważ są jakieś elementy nazwane tabeli {{Code|tabela}}. === {{Code|p["CzySąParametrySzablonu"]}} === Funkcja służy do wskazania, czy w parametrach szablonu rodzica, w której jest uruchomiona ta funkcja w postaci ramki, są elementy nienazwane lub nazwane, tzn. elementy niemający klucza w postaci liczby naturalnej i łańcuchowej. Można wskazać, czy są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzySąParametrySzablonu"] = function(frame)...end; </syntaxhighlight> Parametry ramki szablonu, sprawdzające, czy są elementy nienazwane lub nazwane, ewentualnie niepuste: * {{Code|niepuste}} - czy ma uwzględniać parametry tylko niepuste, * {{Code|frame:getParent().args}} - tablica do rozważań przez funkcję biblioteczną. Przykładem wywołania, gdy rozważamy parametry niepuste szablonu, ewentualnie niepuste, jest: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzySąParametrySzablonu|niepuste=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=wartość1|nazwa2=wartość2|nazwa3=wartość4|2=nazwa4|6=nazwa6}} </syntaxhighlight> Funkcja ramki szablonu zwroci wynik {{Code|tak}}, ponieważ ma on jakieś parametry. Funkcja wykorzystuje funkcję: {{Code|{{sr|#p["CzySąElementyTablicy"]|p=Parametry}}}}, do obsługi ramki w szablonie, którą wywołuje się w wikikodzie. === {{Code|p["CzySąElementyTablicy"]}} === Funkcja służy do wskazania, czy w parametrach tabeli {{Code|tabela}} są elementy nienazwane lub nazwane, tzn. elementy niemający klucza w postaci liczby naturalnej i łańcuchowej. Można wskazać, czy są takie te elementy niepuste za pomocą dodatkowego parametru. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzySąElementyTablicy"]=function(tabela,wliczac)...end; </syntaxhighlight> Parametry funkcji, sprawdzające, czy są elementy nienazwane lub nazwane, ewentualnie niepuste: * {{Code|tabela}} - tabela do rozważań, * {{Code|wliczać}} - czy ma uwzględniać parametry niepuste w tabeli {{Code|tabela}}. Wywołanie przykładowej tej funkcji jest: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]="wartość1", ["nazwa2"]="wartość2", ["nazwa3"]="wartość3", [2]="nazwa4", [6]="nazwa5", }; local parametry_modul=require("Module:Parametry"); local czy_sa_elementu_nienazwane_lub_nazwane=parametry_modul["CzySąElementyTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik {{Code|true}}, ponieważ ta tabela {{Code|tabela}} ma jakieś elementy. === {{Code|p["CzyCoNajwyżejJedenNumerowanyParametrSzablonu"]}} === Funkcja sprawdza, czy element numerowany jest od jedynki, i czy jest on jeden wśród parametrów nienazwanych w parametrach szablonu rodzica, w której jest wywołana ta funkcja ramki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzyCoNajwyżejJedenNumerowanyParametrSzablonu"] = function (frame)...end; </syntaxhighlight> Parametry funkcji sprawdzające, czy jest jeden element numerowany funkcji: * {{Code|niepuste}} - taki element nie może być pusty, * {{Code|frame:getParent().args}} - tabela ramki szablonu rodzica, wśród, w której następuje to wyszukiwanie. Przykładem wywołania, gdy rozważamy parametry niepuste szablonu, ewentualnie niepuste, jest: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzyCoNajwyżejJedenNumerowanyParametrSzablonu|niepuste=tak}} </syntaxhighlight> Szablon, w którym jest wywołane to przedstawienie, można napisać w wynikach poniżej. Przykład pierwszy: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=5|1=nazwa2|nazwa3=6}} </syntaxhighlight> Szablon zrzuci wynik {{Code|tak}}, bo liczba elementów numerowanych jest {{Code|1}}, i nie ma dalszych elementów nienazwanych. Przykład drugi: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=5|1=nazwa2|nazwa3=6|3=nazwa4}} </syntaxhighlight> Szablon zrzuci wynik równy wartości pustej {{Code|""}}, bo są dwa elementy nienazwane. Przykład trzeci: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=5|2=nazwa2|nazwa3=6|4=nazwa4}} </syntaxhighlight> Szablon zrzuci wynik równy wartości pustej {{Code|""}}, bo są dwa elementy nienazwane, ale one nie zaczynają się od {{Code|1}}, dlatego wynik jest przede wszystkim taki. Przykład czwarty: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=5|2=nazwa2|nazwa3=6}} </syntaxhighlight> Szablon zrzuci wynik równy wartości pustej {{Code|""}}, bo nie ma parametrów numerowanych zaczynających się od liczby {{Code|1}}. Funkcja wykorzystuje funkcję: {{Code|{{sr|#p["CzyCoNajwyżejJedenNumerowanyElementTablicy"]|p=Parametry}}}}, do obsługi tej funkcji ramki, którą wywołuje się w wikikodzie. === {{Code|p["CzyCoNajwyżejJedenNumerowanyElementTablicy"]}} === Funkcja sprawdza, czy element numerowany jest od jedynki, i czy jest on jeden wśród parametrów nienazwanych w podanej tabeli. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzyCoNajwyżejJedenNumerowanyElementTablicy"] = function (args,wliczac)...end; </syntaxhighlight> Parametry funkcji, sprawdzające, czy jest jeden element numerowany funkcji: * {{Code|args}} - tabela ramki szablonu rodzica, wśród, w której następuje to wyszukiwanie, * {{Code|wliczac}} - taki element nie może być pusty. Wywołanie przykładowej tej funkcji, pierwsze, jest: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]=5, [1]="nazwa2", ["nazwa3"]=6,}; local parametry_modul=require("Module:Parametry"); local czy_jest_co_najwyzej_jeden_element_numerowany=parametry_modul["CzyCoNajwyżejJedenNumerowanyElementTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik {{Code|true}}, bo liczba elementów numerowanych jest {{Code|1}}, i nie ma dalszych elementów nienazwanych. Wywołanie przykładowej tej funkcji, drugie, jest: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]=5, [1]="nazwa2", ["nazwa3"]=6, [3]="nazwa4",}; local parametry_modul=require("Module:Parametry"); local czy_jest_co_najwyzej_jeden_element_numerowany=parametry_modul["CzyCoNajwyżejJedenNumerowanyElementTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik równy wartości {{Code|false}}, bo są dwa elementy nienazwane. Wywołanie przykładowej tej funkcji, trzecie, jest: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]=5, [2]="nazwa2", ["nazwa3"]=6, [4]="nazwa4",}; local parametry_modul=require("Module:Parametry"); local czy_jest_co_najwyzej_jeden_element_numerowany=parametry_modul["CzyCoNajwyżejJedenNumerowanyElementTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik równy wartości {{Code|false}}, bo nie ma pierwszego elementu numerowanego, tzn. dla parametru {{Code|tabela[1]}}, ale, są dwa elementy nienazwane. Wywołanie przykładowej tej funkcji, czwarte, jest: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]=5, [2]="nazwa2", ["nazwa3"]=6, }; local parametry_modul=require("Module:Parametry"); local czy_jest_co_najwyzej_jeden_element_numerowany=parametry_modul["CzyCoNajwyżejJedenNumerowanyElementTablicy"](tabela,true); </syntaxhighlight> Funkcja zrzuci wynik równy wartości {{Code|false}}, bo nie ma pierwszego elementu numerowanego, tzn. dla parametru {{Code|tabela[1]}}, mimo, że jest jeden element nienazwany. == Funkcje kopiowania tabel == === {{Code|p["KopiujTabelęŁańcuchów"]}} === Szablon przyjmuje tabelę: {{Code|args}}, którego elementem jest: {{Code|args.tabela}}, która jest tą właściwą tabelę, na której operujemy. Tabela {{Code|args}} posiada składowe do zastępowania poszczególnych elementów w niej, a jeżeli nie ma dla niego składowych szczególnych, to rzeczywiście kopiujemy tabelę łańcuchów, w przeciwnym wypadku, ją modyfikujemy. Z tak uzyskanej tabeli wyodrębniamy pewne elementy, modyfikujemy je, lub po pewnych operacjach odejmujemy, i tworzymy nowa tabelę. A jeśli w niej uzyskiwanej, to do niego dodawjemy elementy przedrostkiem i przyrostkiem, a podstawie tego tworzymy nową tabelę {{Code|args2}}, która zwracana jest przez tę funkcję. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["KopiujTabelęŁańcuchów"]=function(args)...end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica, z główną tablicą, z elementami modyfikującymi elemenenty i je zmienione sprawdzające, a następnie dodające do nich przedrostki i przyrostki. Składowymi nazwanymi tabeli: {{Code|args}}, którym koniecznym elementem jest {{Code|args.tabela}}, a dalsze są opcjonalne, ale tylko co najmniej jeden z nich musi być podany, co na podstawie, z której tworzymy nową tabelkę, a więc: * {{Code|args.tabela}} - tabela, na której operujemy, na podstawie, z której tworzymy zwracaną tabelę {{Code|args2}}, * {{Code|args["wzór"][coś]}} lub {{Code|args["wzór wszystko"]}} - wzór wyszukiwania, czy element wskazywany przez niego, ma to, * {{Code|args.podstawienie[coś]}} lub {{Code|args["podstawienie wszystko"]}} - podstawienie, dokonane po znalezieniu elementu w elemencie według powyższego zaraz wzoru, i go zastąpienie, * {{Code|args["wzór 2"][coś]}} lub {{Code|args["wzór wszystko 2"]}} - wzór wyodrębnienia pewnej części, jeśli element to ma po ewentualnym podstawieniu, a jeśli tego nie ma, to zwracane jest {{Code|nil}}, wtedy z tego elementu tabeli, dla której uzyskaliśmy tę wartość, nie jest przetwarzana jako element nowej tabeli {{Code|args2}}, * {{Code|args.przedrostek[coś]}} lub {{Code|args["przedrostek wszystko"]}} - jeśli element istnieje wyszukany powyższym wzorem, to to jest przedrostek przed tym elementem, * {{Code|args.przyrostek[coś]}} lub {{Code|args["przyrostek wszystko"]}} - jeśli element istnienie wyszukany powyższym wzorem, to to jest przyrostek po tym elemencie. Element {{Code|coś}} jest to jakiś klucz elementu tabeli {{Code|args.tabela}}. W powyższych alternatywach jest sprawdzany najpierw pierwszy element alternatywny, czy istnieje, a potem drugi. Za pomocą tego modyfikujemy tę tabelę lub usuwamy poszczególne jego elementy, tworząc tabelę {{Code|args2}}. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul = require("Module:Parametry"); local tabela = { [1] = "wartość1", [2] = "wartość2", ["nazwa1"] = "wartość3", ["nazwa2"] = "wartość4", }; local args = { tabela = tabela, ["wzór wszystko"] = "%d+$", ["podstawienie wszystko"] = "_numer", ["wzór wszystko 2"] = "_numer$", ["przedrostek wszystko"] = "coś przed ", ["przyrostek wszystko"] = " coś po", }; local args2 = parametry_modul["KopiujTabelęŁańcuchów"](args); mw.logObject(args2, "Uzyskana tabela:" ); </syntaxhighlight> Uzyskaną tabelą jest w wyniku operacji według powyższego kodu, wyświetlaną przez funkcję {{Code|mw.logObject}} jest: <syntaxhighlight lang="lua"> local args2={ [1] = "coś przed wartość_numer coś po", [2] = "coś przed wartość_numer coś po", ["nazwa1"] = "coś przed wartość_numer coś po", ["nazwa2"] = "coś przed wartość_numer coś po", }; </syntaxhighlight> === {{Code|p["KopiujTabelęElementów"]}} === To jest nierekurencyjne kopiowanie tabeli {{Code|tabela}}, a jeżeli {{Code|wliczac_1{{=}}true}}, to klucze elementów nie mogą być puste lub wskazywać na wartość fałszywą, a jeśli {{Code|wliczac_2{{=}}true}}, to wartości tych elementów o tych kluczach nie mogą być puste lub wskazywać na wartość fałszywą. W takim przypadku wywoływana w takim bądź razem jest funkcja: {{Code|{{sr|#p.CzyTak|p=Parametry}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["KopiujTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2)...end; </syntaxhighlight> Parametrami funkcji: * {{Code|tabelka}} - tabela elementów o kluczach i ich wartościach, na której dokonujemy operacji, * {{Code|wliczac_1}} - jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych kluczy, * {{Code|wliczac_2}} - jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych wartości o pewnych kluczach. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul = require("Module:Parametry"); local tabela = { [1] = "wartość1", [2] = "wartość2", ["nazwa1"] = "wartość3", ["nazwa2"] = "wartość4", [""] = "wartość5". ["nazwa3"] = ""}; local tabela2 = parametry_modul["KopiujTabelęElementów"](tabela,true,true); </syntaxhighlight> Uzyskana tabela {{Code|tabela2}} jest w wyniku wywołania kodu, którą możemy podejrzeć przy pomocy funkcji: {{Code|mw.logObject}}: <syntaxhighlight lang="lua"> local tabela2 = { [1] = "wartość1", [2] = "wartość2", ["nazwa1"] = "wartość3", ["nazwa2"] = "wartość4", }; </syntaxhighlight> === {{Code|p["KopiujTabelęElementówBezTablicyKluczy"]}} === Funkcja kopiuje nierekurencyjnie elementy tabeli {{Code|tabelka}}, usuwając z niej elementy o kluczach wskazanych przez tabelę {{Code|tabelka2}}, którego elementy piszemy w postaci {{Code|{"klucz"] {{=}} "wartość"}}. Funkcją wyszukiwującą klucze w tabeli {{Code|tabelka2}} jest: {{Code|{{sr|#p.CzyJestTakiKluczTabeli|p=Parametry}}}}. Z tabeli można usunąć klucze, ewentualnie przy pomocy {{Code|wliczac_1{{=}}true}}, jeśli chodzi o klucze, i ewentualnie wartości {{Code|wliczac_2{{=}}true}}, a tutaj o wartości, o wartościach pustych lub fałszywych uzyskiwanej z funkcji: {{Code|{{sr|#p.CzyTak|p=Parametry}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["KopiujTabelęElementówBezTablicyKluczy"]=function(tabelka,tabelka2,wliczac_1,wliczac_2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabelka}} - tabela elementów o kluczach i ich wartościach, na której dokonujemy operacji, * {{Code|tabelka2}} - tabela zbudowana przy pomocy ściśle określonych kluczy o dowolnych wartościach (wartości są nieistotne), za pomocą których usuwamy elementy tabeli {{Code|tabelka2}}, * {{Code|wliczac_1}} - jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych kluczy, * {{Code|wliczac_2}} - jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych wartości o pewnych kluczach. Przykłady usuwania kluczy z tabeli o kluczach i wartościach, pustych lub fałszywych (określoną wartością {{Code|false}}): <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabelka={ [1] = "wartość1", [2] = "wartość2", ["nazwa1"] = "wartość3", ["nazwa2"] = "wartość4", [""] = "wartość5", ["nazwa3"] = ""}; local tabelka2={[2]=true,["nazwa2"]=false,}; local tabelka3=parametry_modul["KopiujTabelęElementówBezTablicyKluczy"](tabelka,tabelka2,true,true); </syntaxhighlight> Tabelą uzyskaną z wyników: {{Code|tabelka3}}, jest, którą możemy podejrzeć przy pomocy funkcji {{Code|mw.logObject}}: <syntaxhighlight lang="lua"> local tabelka3={ [1] = "wartość1", ["nazwa1"] = "wartość3", }; </syntaxhighlight> === {{Code|p["KopiujRekurencyjnieTabelęElementów"]}} === Funkcja dokładnie rekurencyjnie kopiuje tabelę {{Code|tabelka}}, pomijając ewentualnie elementy o kluczach, przy pomocy {{Code|wliczac_1{{=}}true}}, i o wartościach przy pomocy: {{Code|wliczac_2{{=}}true}}, przy użyciu funkcji. Funkcja też kopiuje dokładnie tabele również z przyłaczonymi metafunkcjami, ale ona musi mięc wtedy metodę: {{Code|__metatabelka.KopiujMetaTabela}}, bo w przeciwnym razie żadna metabela nie zostanie przekopiowana, wtedy kopiowanie będzie niedokładne. Dla tabel bez metatabel kopiowanie jest rekurencyjne i dokładne. Przykładami metatabel z tą funkcją do kopiowania metatabel są: {{Code|{{sr|#p.MetaTabelkaParsowanieSzablonu|p=Szablonowe}}}} i {{Code|{{sr|#p.MetaTabelkaSzablonowe|p=Szablonowe/Potrzebne}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["KopiujRekurencyjnieTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Parametry funkcji: * {{Code|tabelka}} - tabela elementów o kluczach i ich wartościach, na której dokonujemy operacji, * {{Code|wliczac_1}} - jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych kluczy, * {{Code|wliczac_2}} - jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych wartości o pewnych kluczach. Przykładem kopiowania rekurencyjnego tabeli {{Code|tabelka}}, usuwając z niej jednocześnie klucze i wartości, puste lub fałszywe, jest: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabelka = { [1] = "wartość1", [2] = "wartość2", ["nazwa1"] = "wartość3", ["nazwa2"] = "wartość4", [""] = "wartość5", ["nazwa3"] = "",["nazwa4"] = { ["nazwa5"]=true, ["nazwa6"] = "", }, }; local tabelka2=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tabelka,true,true); </syntaxhighlight> Wynikiem jest dokładnie przekopiowana tabela {{Code|tabelka}} bez pewnych elementów: <syntaxhighlight lang="lua"> local tabelka2 = { [1] = "wartość1", [2] = "wartość2", ["nazwa1"] = "wartość3", ["nazwa2"] = "wartość4", ["nazwa4"] = {["nazwa5"] = true, }, }; </syntaxhighlight> Obiekt referencyjny {{Code|tabelka2}}, jest ona dokładną kopioną pierwotnej jej wersji, wskazuje na inny adres niż {{Code|tabelka}}. == Funkcje istnienia parametrów == === {{Code|p["NazwanyLiczbą"]}} === Wywołanie ramki {{Code|{{m|Parametry|NazwanyLiczbą}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano taki nienazwany parametr, tzn. określony liczbą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["NazwanyLiczbą"] = function(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Wywołanie ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|NazwanyLiczbą|2}} </syntaxhighlight> Wywołanie szablonu z tą ramką jako dziecko: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|2=wartość|3=wartość}} </syntaxhighlight> Wtedy funkcja (ramka) w szablonie zwróci wartość {{Code|tak}}, bo znalazł parametr nienazwany {{Code|2|, ale nie numerowany. Funkcje wywołuje się tylko w postaci ramki, a nie w skrypcie {{lpg|Lua}} w {{lpr|Scribunto}}, bo tam istnienie parametru sprawdza się innymi metodami. === {{Code|p["NazwanyCiągiem"]}} === Wywołanie ramki {{Code|{{m|Parametry|NazwanyCiągiem}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano taki nazwany parametr, tzn. określony łańcuchem znaków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["NazwanyCiągiem"] = function (frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Wywołanie ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|NazwanyCiągiem|nazwa1}} </syntaxhighlight> Wywołanie szablonu z tą ramką jako dziecko: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=wartość|nazwa2=wartość}} </syntaxhighlight> Wtedy funkcja (ramka) w szablonie zwróci wartość {{Code|tak}}. Funkcje wywołuje się tylko w postaci ramki, a nie w skrypcie {{lpg|Lua}} w {{lpr|Scribunto}}, bo tam istnienie parametru sprawdza się innymi metodami. === {{Code|p.Nazwane}} === Wywołanie ramki {{Code|{{m|Parametry|Nazwane}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano takie nazwane parametry, tzn. określone łańcuchami znaków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Nazwane(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Wywołanie ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|Nazwane|nazwa1|nazwa2|nazwa3}} </syntaxhighlight> Wywołanie szablonu z tą ramką jako dziecko: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=wartość1|nazwa2=wartość2}} </syntaxhighlight> Wtedy funkcja (ramka) w szablonie zwróci wartość {{Code|tak}}, bo w szablonie są dwa takie parametry, tzn. o kluczach {{Code|nazwa1}} i {{Code|nazwa2}} posiadający wartości, które są podzbiorem z trzech wartości według funkcji ramki {{Code|{{m|Parametry|Nazwane}}}}. Funkcje wywołuje się tylko w postaci ramki, a nie w skrypcie {{lpg|Lua}} w {{lpr|Scribunto}}, bo tam istnienie parametru sprawdza się innymi metodami. === {{Code|p.Nienazwane}} === Wywołanie ramki {{Code|{{m|Parametry|Nienazwane}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano takie nienazwane parametry (oznaczone liczbami naturalnymi) o wartościach takich jak, tzn. określone łańcuchami znaków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Nienazwane(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Wywołanie ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|Nienazwane|wartość1|wartość2|wartość3}} </syntaxhighlight> Wywołanie szablonu z tą ramką jako dziecko: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|3=wartość1|6=wartość2}} </syntaxhighlight> Wtedy funkcja (ramka) w szablonie zwróci wartość {{Code|tak}}, bo w szablonie są dwa takie parametry nienazwane o wartościach takich, tzn. {{Code|wartość1}} i {{Code|wartość2}}, które są podzbiorem z trzech wartości według funkcji ramki {{Code|{{m|Parametry|Nienazwane}}}}. Funkcje wywołuje się tylko w postaci ramki, a nie w skrypcie {{lpg|Lua}} w {{lpr|Scribunto}}, bo tam istnienie parametru sprawdza się innymi metodami. === {{Code|p.Numerowane}} === Wywołanie ramki {{Code|{{m|Parametry|Numerowane}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano takie numerowane parametry, tzn. określone łańcuchami znaków: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Numerowane(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Wywołanie ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|Numerowane|wartość1|wartość2|wartość3}} </syntaxhighlight> Wywołanie szablonu z tą ramką jako dziecko: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|wartość2|wartość3}} </syntaxhighlight> Wtedy funkcja (ramka) w szablonie zwróci wartość {{Code|tak}}, bo w szablonie są dwa takie parametry numerowane (tzn. numerowane od jedynki bez przerw) o wartościach takich, tzn. {{Code|wartość2}} i {{Code|wartość3}}, które są podzbiorem z trzech wartości według funkcji ramki {{Code|{{m|Parametry|Numerowane}}}}. Funkcje wywołuje się tylko w postaci ramki, a nie w skrypcie {{lpg|Lua}} w {{lpr|Scribunto}}, bo tam istnienie parametru sprawdza się innymi metodami. == Funkcje manipulowania formatów łańcuchów znakowych == === {{Code|p["Odstępy"]}} === ==== Odpowiednik szablonowy ==== Odpowiednik szablonowy {{s|Odstępy}} ma te same parametry, co jej odpowiednik ramkowy funkcyjny: {{Code|{{m|Parametry|Odstępy}}}}. Przykładami wywołania funkcji: Poniższe przykłady są pokazane przy pomocy szablonu {{s|Pre}}. ; Przykład pierwszy {{Pre|{{s|Odstępy| Oto jest łańcuch. }}}} ; Wynik {{Pre|{{Odstępy| Oto jest łańcuch. }}}} Widzimy, że odstępy na końcach łańcucha zostały usunięte, a wewnątrz już nie. ---- ; Przykład drugi {{Pre|{{s|Odstępy|wewnątrz{{=}}tak| Oto jest łańcuch. }}}} ; Wynik {{Pre|{{Odstępy|wewnątrz=tak| Oto jest łańcuch. }}}} Widzimy, że odstępy na końcach łańcucha zostały usunięte, a wewnątrz łańcucha każdy odstęp został zastąpiony spacją. ---- ; Przykład trzeci {{Pre|{{s|Odstępy|wewnątrz{{=}}tak|dolny-myślnik{{=}}tak| Oto jest łańcuch. }}}} ; Wynik {{Pre|{{Odstępy|wewnątrz=tak|dolny-myślnik=tak| Oto jest łańcuch. }}}} Widzimy, że odstępy na końcach łańcucha zostały usunięte, a wewnątrz łańcucha każdy odstęp został zastąpiony na dolny myślnik. ==== Funkcja biblioteczna ==== Funkcja usuwa białe znaki i dolne myślniki na końcach podanego ciągu, ale też ewentualnie można przy pomocy tej funkcji zamieniać też te znaki wewnątrz ciągu, o ile nie jest już pusty po poprzedniej operacji, i zamienia ich na jedną spację lub dolny myślnik. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["Odstępy"] = function(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|1}} lub {{Code|nazwa}} - określa podany ciąg, któremu domyślnie są usuwane białe znaki lub dolne myślniki na końcach łańcucha, * {{Code|2}} lub {{Code|wewnątrz}} - czy ma również robić te same operacje, co powyżej domyślną, tylko że wewnątrz ciągu, * {{Code|3}} lub {{Code|dolny-myślnik}} - czy ma zamieniać, spacje i dolne myślniki (jeżeli je wykrywa, patrz parametr poniżej), na dolne myślniki, * {{Code|4}} lub {{Code|spacje}} - czy na końcach i wewnątrz ciągu ma wykrywać, do zamieniania, tylko odstępy, a nie również dolne myślniki. Funkcja zwraca przekształcony ciąg powyższymi metodami. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local nazwa2=parametry_modul["Odstępy"]{nazwa=" Oto jest łańcuch. ",}; local nazwa3=parametry_modul["Odstępy"]{nazwa=" Oto jest łańcuch. ", ["wewnątrz"]="tak",}; local nazwa4=parametry_modul["Odstępy"]{nazwa=" Oto jest łańcuch. ", ["wewnątrz"]="tak",["dolny-myślnik"]="tak",}; </syntaxhighlight> Od pierwszego do trzeciego przykładu w naszym wypadku funkcja ta zwróci wartości: <syntaxhighlight lang="lua"> local nazwa2="Oto jest łańcuch."; local nazwa3="Oto jest łańcuch."; local nazwa4="Oto_jest_łańcuch."; </syntaxhighlight> == Funkcje dodawania lub usuwania elementu do tabeli zbioru == === {{Code|p.DodajElementDoZbioru}} === Funkcja dodaje element do zbioru, czyli do tablicy numerowanej: {{Code|tabela}}, wartość: {{Code|wartość}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodajElementDoZbioru(tabela,wartosc)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela elementów numerowanych, * {{Code|wartosc}} - wartość, którą wsadzamy jako ostatni element do tej tablicy. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabela={}; --- Tutaj zwraca true; local tak1=parametry_modul.DodajElementDoZbioru(tabela,"wartość1"); --- Tutaj zwraca true; local tak2=parametry_modul.DodajElementDoZbioru(tabela,"wartość2"); --- Tutaj zwraca false; local tak3=parametry_modul.DodajElementDoZbioru(tabela,"wartość2"); </syntaxhighlight> Elementami tej tabeli są: <syntaxhighlight lang="lua"> local tabela={"wartość1","wartość2",}; </syntaxhighlight> Funkcja zbiera tylko niepowtarzające się wartości, w tym wypadku zwraca wartość {{Code|true}}, w przeciwnym wypadku {{Code|false}}. == Funkcje istnienia elementów tabeli == === {{Code|p.CzyJestTakiElementNumerowanyTabeli}} === Funkcja sprawdza, czy jest taki element numerowany. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.CzyJestTakiElementNumerowanyTabeli(tabela,wartosc)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela elementów, nie tylko numerowanych, * {{Code|wartosc}} - parametr wartości, jaką ta tablica powinna posiadać w postaci elementu numerowanego. Parametrami funkcji jest tabela {{Code|tabela}} elementów, niemający przerw, zaczynający się o kluczu od jedynki, ale z końcem, lub do pierwszej przerwy, dla której sprawdzamy, czy jakiś element jego o kluczu określonej liczbą naturalną, czy posiada podaną wartość {{Code|wartość}}. Zaużmy, że tabelą naszą jest obiekt zdefiniowany z elementami numerowanymi od jedynki bez przerw z końcem na końcu. Przykład: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabela={"wartość1","wartość2","wartość3",5,8,"wartość4",}; local czy_tak=parametry_modul.CzyJestTakiElementNumerowanyTabeli(tabela,"wartość3"); </syntaxhighlight> Funkcja w przykładzie zwraca wartość {{Code|true}}. === {{Code|p.CzyJestTakiElementNienazwanyTabeli}} === Funkcja sprawdza, czy jest taki element nienazwany, niekoniecznie numerowany. Ta tabela może mieć przerwy. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.CzyJestTakiElementNienazwanyTabeli(tabela,wartosc)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela elementów, nie tylko nienazwwanych, * {{Code|wartosc}} - parametr wartości, jaką ta tablica powinna posiadać w postaci elementu nienazwanego. Parametrami funkcji jest tabela {{Code|tabela}} elementów, niekoniecznie, nienazwanych, dla której sprawdzamy, czy jakiś element jego o kluczu określonej liczbą naturalną, czy posiada podaną wartość {{Code|wartość}}. Zaużmy, że tabelą naszą jest obiekt zdefiniowany z elementami numerowanymi niekoniecznie od jedynki mogący być z przerwami z końcem na końcu. <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabela={[2]="wartość1",[5]="wartość2",[10]="wartość3",[80]=5,[90]=8,[100]="wartość4",}; local czy_tak=parametry_modul.CzyJestTakiElementNienazwanyTabeli(tabela,"wartość3"); </syntaxhighlight> Funkcja w przykładzie zwraca wartość {{Code|true}}. === {{Code|p.CzyJestTakiKluczTabeli}} === Funkcja sprawdza, czy jest taki element o danym kluczu o dowolnej wartości. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.CzyJestTakiKluczTabeli(tabela,klucz)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela elementów z kluczami i ich wartościami, * {{Code|klucz}} - klucz, jaką ta tabela musi posiadać. Parametrami funkcji jest tabela {{Code|tabela}} elementów, niekoniecznie nazwanych, dla której sprawdzamy, czy jakiś element jego o danym kluczy {{Code|klucz}}, o dowolnej wartości. Zaużmy, że naszą tabelą jest tabela elementów nazwanych z kluczami i przydzielonymi im wartościom. <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]=5,["nazwa5"]=8,["nazwa6"]="wartość4",}; local czy_tak=parametry_modul.CzyJestTakiKluczTabeli(tabela,"nazwa5"); </syntaxhighlight> Funkcja w przykładzie zwraca wartość {{Code|true}}. === {{Code|p.CzyJestTakiElementTabeli}} === Funkcja sprawdza, czy jest taki element o danym kluczu {{Code|klucz}} i wartości {{Code|wartość}} dla elementów w danej tabeli. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.CzyJestTakiElementTabeli(tabela,klucz,wartosc)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela elementów z kluczami i ich wartościami, * {{Code|klucz}} - klucz, jaką ta tabela musi posiadać, * {{Code|wartość}} - wartość tego klucza, jaką ta tabela powinna posiadać. Parametrami funkcji jest tabela {{Code|tabela}} o parametrach niekoniecznie nazwanych, ale on równie dobrze może składać się z elementów nienazwanych lub tylko numerowanych. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]=5,["nazwa5"]=8,["nazwa6"]="wartość4",}; local czy_tak=parametry_modul.CzyJestTakiElementTabeli(tabela,"nazwa5",8); </syntaxhighlight> Funkcja tutaj zwraca wartość {{Code|true}}. == Łączenie wielu tabel == === {{Code|p["ŁączDwieTabele"]}} === Funkcja łączy dwie tabele przy pomocy funkcji: {{Code|{{sr|#p["ŁączNumerowaneTabele"]|p=Parametry}}}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy nazwane jak i nienazwane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączDwieTabele"]=function(tabela1,tabela2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela1}} i {{Code|tabela2}} - tabele do połączenia w jedną tablicę. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",[2]="wartość13",[4]="wartość14",[7]="wartość15",[8]="wartość16",}; local tabela2={["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",[3]="wartość17",[10]="wartość18",[12]="wartość19",[15]="wartość20",[16]="wartość21",}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączDwieTabele"](tabela1,tabela2); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",[2]="wartość13",[4]="wartość14",[7]="wartość15",[8]="wartość16",[3]="wartość17",[10]="wartość18",[12]="wartość19",[15]="wartość20",[16]="wartość21",}; </syntaxhighlight> === {{Code|p["ŁączZbioryElementówNumerowanychDwóchTabel"]}} === Funkcja łączy dwie tabele przy pomocy funkcji: {{Code|{{sr|#p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]|p=Parametry}}}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy ponumerowane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryElementówNumerowanychDwóchTabel"]=function(tabela1,tabela2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela1}}, {{Code|tabela2}} - tabele do połączenia w jedną tablicę. Przykładem działania funkcji jest: <syntaxhighlight lang="lua"> local tabela1={"wartość1","wartość2","wartość3","wartość4",}; local tabela2={"wartość5","wartość6","wartość7","wartość8","wartość9",}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryElementówNumerowanychDwóchTabel"](tabela1,tabela2); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={"wartość1","wartość2","wartość3","wartość4","wartość5","wartość6","wartość7","wartość8","wartość9",}; </syntaxhighlight> === {{Code|p["ŁączZbioryElementówNienazwanychDwóchTabel"]}} === Funkcja łączy dwie tabele przy pomocy funkcji: {{Code|{{sr|#p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]|p=Parametry}}}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy nienazwane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryElementówNienazwanychDwóchTabel"]=function(tabela1,tabela2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela1}}, {{Code|tabela2}} - tabele do połączenia w jedną tablicę. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela1={[2]="wartość1",[4]="wartość2",[7]="wartość3",[8]="wartość4",}; local tabela2={[3]="wartość5",[10]="wartość6",[12]="wartość7",[15]="wartość8",[16]="wartość9",}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryElementówNienazwanychDwóchTabel"](tabela1,tabela2); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={"wartość4","wartość1","wartość2","wartość3","wartość8","wartość5","wartość7","wartość9","wartość6",}; </syntaxhighlight> === {{Code|p["ŁączZbioryElementówNazwanychDwóchTabel"]}} === Funkcja łączy dwie tabele przy pomocy funkcji: {{Code|{{sr|#p["ŁączZbioryNazwanychElementówNumerowanychTabel"]|p=Parametry}}}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy nazwane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryElementówNazwanychDwóchTabel"]=function(tabela1,tabela2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",}; local tabela2={["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryElementówNazwanychDwóchTabel"](tabela1,tabela2); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",}; </syntaxhighlight> === {{Code|p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]}} === Funkcja wykorzystuje funkcję: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy ponumerowane elementy tabel, tabel nazwanych liczbami naturalnymi, które są pod zmienną {{Code|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=false,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela1={"wartość1","wartość2","wartość3","wartość4",}; local tabela2={"wartość5","wartość6","wartość7","wartość8","wartość9",}; local tabela3={"wartość10","wartość11","wartość12",}; local args={[2]=tabela1,[10]=tabela2,[13]=tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryNumerowanychElementówNienazwanychTabel"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji: <syntaxhighlight lang="lua"> local tabela_polaczona={"wartość1","wartość2","wartość3","wartość4","wartość10","wartość11","wartość12","wartość5","wartość6","wartość17","wartość8","wartość9",}; </syntaxhighlight> === {{Code|p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]}} === Funkcja wykorzystuje funkcję: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy nazwane tylko liczbami naturalnymi elementy tabel, tabel nazwanych liczbami naturalnymi. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela1={[2]="wartość1",[4]="wartość2",[7]="wartość3",[8]="wartość4",}; local tabela2={[3]="wartość5",[10]="wartość6",[12]="wartość7",[15]="wartość8",[16]="wartość9",}; local tabela3={[1]="wartość10",[7]="wartość11",[9]="wartość12",}; local args={[2]=tabela1,[10]=tabela2,[13]=tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryNienazwanychElementówNienazwanychTabel"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji: <syntaxhighlight lang="lua"> local tabela_polaczona={"wartość4","wartość1","wartość2","wartość3","wartość10","wartość11","wartość12","wartość8","wartość5","wartość7","wartość9","wartość6",}; </syntaxhighlight> === {{Code|p["ŁączZbioryNazwanychElementówNienazwanychTabel"]}} === Funkcja wykorzystuje funkcję: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy tylko elementy nazwane tabel, tabel określonych liczbami naturalnymi, które są pod zmienną {{Code|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryNazwanychElementówNienazwanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=true,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",}; local tabela2={["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",}; local tabela3={["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",}; local args={[2]=tabela1,[10]=tabela2,[13]=tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryNazwanychElementówNienazwanychTabel"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",}; </syntaxhighlight> === {{Code|p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]}} === Funkcja wykorzystuje funkcję: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy elementy ponumerowane tabel, tabel ponumerowanych liczbami naturalnymi, które są pod zmienną {{Code|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=false,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykłady użycia: <syntaxhighlight lang="lua"> local tabela1={"wartość1","wartość2","wartość3","wartość4",}; local tabela2={"wartość5","wartość6","wartość7","wartość8","wartość9",}; local tabela3={"wartość10","wartość11","wartość12",}; local args={tabela1,tabela2,tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryNumerowanychElementówNumerowanychTabel"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={"wartość1","wartość2","wartość3","wartość4","wartość5","wartość6","wartość7","wartość8","wartość9","wartość10","wartość11","wartość12",}; </syntaxhighlight> === {{Code|p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]}} === Funkcja wykorzystuje funkcję: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy elementy nazwane tylko liczbami naturalnymi tabel, tabel ponumerowanych, które są pod zmienną {{Code|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykładem działania funkcji jest: <syntaxhighlight lang="lua"> local tabela1={[2]="wartość1",[4]="wartość2",[7]="wartość3",[8]="wartość4",}; local tabela2={[3]="wartość5",[10]="wartość6",[12]="wartość7",[15]="wartość8",[16]="wartość9",}; local tabela3={[1]="wartość10",[7]="wartość11",[9]="wartość12",}; local args={tabela1,tabela2,tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryNienazwanychElementówNumerowanychTabel"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={"wartość4","wartość1","wartość2","wartość3","wartość8","wartość5","wartość7","wartość9","wartość6","wartość10","wartość11","wartość12",}; </syntaxhighlight> === {{Code|p["ŁączZbioryNazwanychElementówNumerowanychTabel"]}} === Funkcja wykorzystuje funkcję: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Te tabele są łączone w pewien ściśle określony sposób. Funkcja łączy tylko elementy nazwane tabel, tabel ponumerowanych, które są pod zmienną {{Code|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączZbioryNazwanychElementówNumerowanychTabel"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=true,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykładem działania funkcji: <syntaxhighlight lang="lua"> local tabela1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",}; local tabela2={["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",}; local tabela3={["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",}; local args={tabela1,tabela2,tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączZbioryNazwanychElementówNumerowanychTabel"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",}; </syntaxhighlight> === {{Code|p["ŁączNumerowaneTabele"]}} === Funkcja wykorzystuje funkcję: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Te tabele są łączone dokładnie w taki sposób, aby elementy się nie powtarzały, i elementy w nowo powstałej tabeli są powtórzeniem elementów w podanych tabeli z dokładnościa do tej informacji. Funkcja łączy tabele ponumerowane, które są pod zmienną {{Code|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączNumerowaneTabele"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=false,NazwijElementyNumerowane=true,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykładem działania funkcji jest: <syntaxhighlight lang="lua"> local tabela1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",[2]="wartość13",[4]="wartość14",[7]="wartość15",[8]="wartość16",}; local tabela2={["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",[3]="wartość17",[10]="wartość18",[12]="wartość19",[15]="wartość20",[16]="wartość21",}; local tabela3={["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",[1]="wartość22",[7]="wartość23",[9]="wartość24",}; local args={tabela1,tabela2,tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączNumerowaneTabele"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",[2]="wartość13",[4]="wartość14",[7]="wartość15",[8]="wartość16",[3]="wartość17",[10]="wartość18",[12]="wartość19",[15]="wartość20",[16]="wartość21",[1]="wartość22",[7]="wartość23",[9]="wartość24",}; </syntaxhighlight> === {{Code|p["ŁączNienazwaneTabele"]}} === Funkcja wykorzystuje funkcję {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Te tabele są łączone dokładnie w taki sposób, aby elementy się nie powtarzały, i elementy w nowo powstałej tabeli są powtórzeniem elementów w podanych tabeli z dokładnościa do tej informacji. Funkcja łączy tabele określone liczbami naturalnymi, które są pod zmienną {{Code|args}}. Definicja skrótowa fukcji: <syntaxhighlight lang="lua"> p["ŁączNienazwaneTabele"]=function(args) local parametry_modul=require("Module:Parametry"); local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=false,NazwijElementyNumerowane=true,}; return parametry_modul["ŁączTabele"](args,args2); end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów będących elementami. Przykładem działania funkcji jest: <syntaxhighlight lang="lua"> local tabela1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",[2]="wartość13",[4]="wartość14",[7]="wartość15",[8]="wartość16",}; local tabela2={["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",[3]="wartość17",[10]="wartość18",[12]="wartość19",[15]="wartość20",[16]="wartość21",}; local tabela3={["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",[1]="wartość22",[7]="wartość23",[9]="wartość24",}; local args={[2]=tabela1,[10]=tabela2,[13]=tabela3,}; local parametry_modul=require("Module:Parametry"); local tabela_polaczona=parametry_modul["ŁączNienazwaneTabele"](args); </syntaxhighlight> Uzyskaną tabelą w wyniku wywołania tej funkcji jest: <syntaxhighlight lang="lua"> local tabela_polaczona={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",["nazwa5"]="wartość5",["nazwa6"]="wartość6",["nazwa7"]="wartość7",["nazwa8"]="wartość8",["nazwa9"]="wartość9",["nazwa10"]="wartość10",["nazwa11"]="wartość11",["nazwa12"]="wartość12",[2]="wartość13",[4]="wartość14",[7]="wartość15",[8]="wartość16",[3]="wartość17",[10]="wartość18",[12]="wartość19",[15]="wartość20",[16]="wartość21",[1]="wartość22",[9]="wartość24",}; </syntaxhighlight> === {{Code|p["ŁączTabele"]}} === Funkcja łączy tabele ogólnie nazwane, określone w tablicy {{Code|args2}}, względem parametrów określonych w tablicy {{Code|args2}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["ŁączTabele"] = function(args,args2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tabela elementów będących tabelami, * {{Code|args2}} - tablica z kluczami o wartościach {{Code|true}}, jeśli to ustawienie włączone, w przeciwnym wypadku wyłączone. Funkcja łączy jedynie tabele ponumerowane liczbami naturalnymi, czy to w sposób nienazwany, też za pomocą tych liczb, ale wtedy numeracja nie musi być od jedynki i ona może mieć przerwy. Parametry (elementy) tabeli {{Code|args2}} są: * {{Code|args2.CzyPairsTablic}} - jeśli prawdziwa, to określa nazwane elementy tabel w tabeli, w przeciwnym wypadku numerowane, * {{Code|args2["CzyPairsElementówTablic"]}} - jeśli prawdziwa, to określa nazwane elementy poszczególnych tabel w tablicy ogólnie nazwanej, w przeciwnym wypadku numerowane, * {{Code|args2.CzyNazwaneElementyTabel}} - jeśli prawdziwe, łączy nazwane elementy tabel, mogą być określone liczbami naturalnymi, lub nie, w jedną tablicę, * {{Code|args2.CzyTylkoNazwaneElementyTabel}} - jeśli niepuste, łączy tylko nazwane elementy tabel, * {{Code|args2.NazwijElementyNumerowane}} - jeśli prawdziwe, to wśród elementów nienazwanych elementy numerowane traktuje je, jako nazwane, w przeciwnym wypadku takie elementy dodaje do zbioru elementów numerowanych łączonych tablic. Przykładami wykorzystania tej funkcji są funkcje łączenia tabel zdefiniowane w funkcjach powyżej, tzn. zdefiniowane w: * {{Code|{{sr|#p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]|p=Parametry}}}} - łączy ponumerowane elementy tabel, tabel nazwanych liczbami naturalnymi, * {{Code|{{sr|#p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]|p=Parametry}}}} - laczy nazwane tylko liczbami naturalnymi elementy tabel, tabel nazwanych liczbami naturalnymi, * {{Code|{{sr|#p["ŁączZbioryNazwanychElementówNienazwanychTabel"]|p=Parametry}}}} - łączy tylko elementy nazwane tabel, tabel określonych liczbami naturalnymi, * {{Code|{{sr|#p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]|p=Parametry}}}} - łączy elementy ponumerowane tabel, tabel ponumerowanych liczbami naturalnymi, * {{Code|{{sr|#p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]|p=Parametry}}}} - łączy elementy nazwane tylko liczbami naturalnymi tabel, tabel ponumerowanych, * {{Code|{{sr|#p["ŁączZbioryNazwanychElementówNumerowanychTabel"]|p=Parametry}}}} - łączy tylko elementy nazwane tabel, tabel ponumerowanych. Powyższe funkcje elementy nienazwane łączy w zbiory, ale nie jako elementy nazwane, tylko jako ponumerowane. {{Hr}} * {{Code|{{sr|#p["ŁączNumerowaneTabele"]|p=Parametry}}}} - łączy tabele ponumerowane, * {{Code|{{sr|#p["ŁączNienazwaneTabele"]|p=Parametry}}}} - łączy tabele określone liczbami naturalnymi. Powyższe funkcje łączą w sposób dokładny wiele tabel, niezależnie z jak nazwanymi elementami, te nazwane jest nie tylko określone liczbami naturalnymi (one nie muszą być ponumerowane), ale też łańcuchami. {{Hr}} Działanie tych funkcji w powyższej wyliczance można rozszyfrować na podstawie ich nazw podanych w nawiasach kwadratowych w cudzysłowach. == Funkcje dodawania lub usuwania elementów z tabeli o takich kluczach == === {{Code|p["UsuńElementyTabeli"]}} === Funkcja w tabelce {{Code|tabelka_1}} usuwa elementy, którego klucze są w {{Code|tabelka_2}}, któremu wartości przyporządkowane są obojętne, byle tylko, by nie były jako {{Code|nil}}. Najprościej gadając, wartości moją mieć w drugiej tabelce wartość {{Code|true}}, ale nie muszą takie być. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["UsuńElementyTabeli"]=function(tabelka_1,tabelka_2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_1}} - tabela elementów, * {{Code|tabela_2}} - tabele, co za pomocą ich kluczy są usuwane elementy z tej pierwszej. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabelka_1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",}; local tabelka_2={["nazwa1"]=true,["nazwa3"]=true,}; local tabelka_koncowa=parametry_modul["UsuńElementyTabeli"](tabelka_1,tabelka_2); </syntaxhighlight> Stworzona w ten sposób tabelka {{Code|tabelka_koncowa}}, to ma taką referencję, co {{Code|tabelka_1}}, ale za to ma elementy, jako: <syntaxhighlight lang="lua"> local tabelka_koncowa={["nazwa2"]="wartość2",["nazwa4"]="wartość4",}; </syntaxhighlight> Ta pierwotna tabela została zmodyfikowana przy pomocy tej funkcji według tego przykładu. == Tworzenie tabeli == === {{Code|p["TwórzTabelęBezPowtarzającychKluczyTabel"]}} === Funkcja jest analogiem do funkcji {{Code|{{sr|#p["UsuńElementyTabeli"]|p=Parametry}}}}, dla jednej tabeli, a ta funkcja jest dla wielu. Funkcja w tabelce {{Code|args[1]}} przy pomocy, której z niej tworzymy elementy, usuwa, tworząc nową tabelę, elementy, którego klucze są w tabelach o numerach większych od jedynki, któremu wartości przyporządkowane są obojętne, byle tylko, by nie były jako {{Code|nil}}. Najprościej gadając, wartości moją mieć w drugiej tabelce wartość {{Code|true}}, ale nie muszą takie być. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["TwórzTabelęBezPowtarzającychKluczyTabel"]=function(args)...end; </syntaxhighlight> Parametry funkcji: * {{Code|args[1]}} - tabela elementów, * {{Code|args[2]}}, {{Code|args[3]}},... - tabele, co za pomocą ich kluczy są usuwane elementy z tej pierwszej. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabelka_1={["nazwa1"]="wartość1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",["nazwa4"]="wartość4",}; local tabelka_2={["nazwa1"]=true,["nazwa3"]=true,}; local tabela_args={tabelka_1,tabelka_2,}; local tabelka_koncowa=parametry_modul["TwórzTabelęBezPowtarzającychKluczyTabel"](tabela_args); </syntaxhighlight> Stworzona w ten sposób tabelka: {{Code|tabelka_koncowa}}, nie ma takiej samej referencji, co: {{Code|tabelka_1}}, tylko inną, a więc nie modyfikujemy pierwotnej tej pierwzsej tabeli, tylko tworzymy nową, ale ma za to elementy: <syntaxhighlight lang="lua"> local tabelka_koncowa={["nazwa2"]="wartość2",["nazwa4"]="wartość4",}; </syntaxhighlight> == Funkcje typu == === {{Code|p.TypeTable}} === Funkcja sprawdza, czy typem zmiennej jest tabela w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Definicja skrotowa funkcji: <syntaxhighlight lang="lua"> function p.TypeTable(zmienna) return (type(zmienna)=="table"); end; </syntaxhighlight> Parametry funkcji: * {{Code|zmienna}} - parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabelka={"wartość1","wartosc2",["nazwa1"]="wartość3",} local czy_tak=parametry_modul.TypeTable(tabelka); -- Wartością zmiennej: czy_tak, jest: true; </syntaxhighlight> === {{Code|p.TypeFunction}} === Funkcja sprawdza, czy typem zmiennej jest funkcja w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TypeFunction(zmienna) return (type(zmienna)=="function"); end; </syntaxhighlight> Parametry funkcji: * {{Code|zmienna}} - parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local funkcja=function(frame)return true;end; local czy_tak=parametry_modul.TypeFunction(funkcja); -- Wartością zmiennej: czy_tak, jest: true; </syntaxhighlight> === {{Code|p.TypeString}} === Funkcja sprawdza, czy typem zmiennej jest łańcuch znakowy w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TypeString(zmienna) return (type(zmienna)=="string"); end; </syntaxhighlight> Parametry funkcji: * {{Code|zmienna}} - parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local str="wartość"; local czy_tak=parametry_modul.TypeString(tabelka); -- Wartością zmiennej: czy_tak, jest: true; </syntaxhighlight> === {{Code|p.TypeBoolean}} === Funkcja sprawdza, czy typem zmiennej jest typ logiczny w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TypeBoolean(zmienna) return (type(zmienna)=="boolean"); end; </syntaxhighlight> Parametry funkcji: * {{Code|zmienna}} - parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_jest_tam=false; local czy_tak=parametry_modul.TypeBoolean(czy_jest_tam); -- Wartością zmiennej: czy_tak, jest: true; </syntaxhighlight> === {{Code|p.TypeNumber}} === Funkcja sprawdza, czy typem zmiennej jest liczba w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TypeNumber(zmienna) return (type(zmienna)=="number"); end; </syntaxhighlight> Parametry funkcji: * {{Code|zmienna}} - parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local liczba=2; local czy_tak=parametry_modul.TypeNumber(liczba); -- Wartością zmiennej: czy_tak, jest: true; </syntaxhighlight> === {{Code|p.TypeNil}} === Funkcja sprawdza, czy typem zmiennej jest zmienna z przydzieloną wartością, której jest {{Code|nil}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TypeNil(zmienna) return (type(zmienna)=="nil"); end; </syntaxhighlight> Parametry funkcji: * {{Code|zmienna}} - parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji. Przykłady użycia: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_nil=nil; local czy_tak=parametry_modul.TypeNil(czy_nil); -- Wartością zmiennej: czy_tak, jest: true; </syntaxhighlight> == Funkcje prawdy i fałszu == W funkcjach: {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}} i {{Code|{{sr|#p.CzyTak|p=Parametry}}}}, uruchomione w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, muszą posiadać dodatkowo parametr {{Parametr|wyspecjalizowana|tak}}, aby dało się w je wsadzić skutecznie parametry do samej tej ramki dziecka, a nie używać parametry szablonu rodzica. W tej pierwszej funkcji jest wykorzystywana na druga, w której w tej pierwszej w parametrze pierwszym, w przypadku łańcuchów znakowych wykorzystywana jesy funkcja do usuwania dolnych myślników i odstępów na końcach, a potem jest uruchamiana ta druga. Te funkcje rozwazane tutaj powiedziane powyżej w wikikodzie w szablonie rodzicu, czy w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, służą do sprawdzenia, czy wartość, czy jest nierówna ciągowi uzyskanemu pustemu, w przypadku tej pierwszej funkcji, a w przypadku drugiej, czy jest ciągiem pustym, a jeżeli jest to liczba, to czy jest nie równa {{Code|0}}, czy wartością logiczną jest jako {{Code|true}}, w przypadku tabel, czy jest niepustą tabelą, ale za to w funkcji, czy funkcja o nazwie {{Code|zmienna}} z parametrami {{Code|parametry}}, czy zwraca wartość odpowiadająca {{Code|true}}, jeżeli tak, to ta funkcja zwróci znak {{Code|tak}}, w przeciwnym wypadku w wikikodzie zwraca wartość pustą, a w kodzie wartość {{Code|nil}}. === {{Code|CzyTakSilnik}} === Funkcja pomocnicza służąca do liczenia wartości logicznej {{Code|tak}} lub {{Code|nil}} parametrów ramki, w wikikodzie, funkcji {{lpg|lua}} w {{lpr|Lua|Scribunto}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyTakSilnik(args,funkcja)...end; </syntaxhighlight> Parametry funkcji: * {{Code|args}} - tablica elementów z pierwszym elementem do sprawdzenia, z drugim jako nazwa modułu z funkcjami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w takim przypadku ten pierwszy element jest nazwą funkcji, który w połączeniu z nazwą modułu daje referencję do funkcji, * {{Code|funkcja}} - funkcja, za pomocą której sprawdzamy logiczność pierwszego elementu tej tablicy. Możliwymi wartościami funkcji parametru {{Code|funkcja}} jest {{Code|CzyTak}} lub {{Code|CzyTakCiąg}} (ta funkcja wykorzystuje funkcję {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}} do swojego argumentu, który służy do sprawdzania, jaki spełnia warunek). Gdy istnieje parametr tablicy {{Code|args}} funkcji o parametrze nienazwanym {{Code|args[2]}}, który jest nazwą modułu z funkcjami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a samą funkcją jest {{Code|args[1]}}, to tak utworzona funkcja jest zmienną {{Code|parametr}}, ma jeżeli jej nie ma, to ona przyjmuje wartość {{Code|args[1]}}, a gdy jednak istnieje ten drugi element, to na podstawie którego zbierane są argumenty ramki nazwane jak nazwane, tzn. klucze i ich wartości przypisuje, a w przypadku parametrów nienazwanych (nie są zbierane elementy w tej tablicy o kluczach o wartości: {{Code|1}} i {{Code|2}}), a te inne klucze są pomniejszane o dwa, w ten sposób jest utworzona tabela {{Code|argsfun}}. Gdy nie ma składowej drugiej tablicy, tzn. {{Code|args[2]}}, to wtedy funkcja sprawdza, czy {{Code|args[1]}} to jest liczba w łańcuchu znakowym, lub bezpośrednio liczba, a jeżeli nie da się jej przetransformować na liczbę, to sprawdza, czy typem tej zmiennej jest {{Code|string}} (czy typem jest szereg), po działaniu funkcją: {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, jeśli ma wtedy wartość: {{Code|"true"}}, wtedy ta rozważana na samym początku zmienna przyjmuje wartość {{Code|true}}, {{Code|"false"}}, wtedy {{Code|false}}, {{Code|"nil"}}, wtedy {{Code|nil}}. A jeżeli ta zmienna żadnej tej wartości nie przyjmuje z tych wartości, to wtedy jest transformowana na liczbę, jeżeli da się tą operację dokonać. Na samym końcu jest liczona wartość logiczna z przygotowanymi parametrami, według jednej z dwóch specjalnie przygotowanych funkcji w postaci wywołania ogólnego: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); return (parametry_modul[funkcja]{[1]=parametr,[2]=argsfun,})and "tak" or nil; </syntaxhighlight> Gdzie {{Code|funkcja}}, to {{Code|CzyTak}} lub {{Code|CzyTakCiąg}}, a {{Code|parametr}}, to funkcja w jakimś module lub inna wartość, a {{Code|argsfun}}, to tabela argumentów ramki, dziecka, w kodzie {{lpg|Lua}} w {{lpr|Scribunto}}, w wikikodzie w szablonie rodzicu. Gdy ta funkcja zwróci wartość logiczną odpowiadającą {{Code|true}}, to wtedy zwraca {{Code|tak}}, w przeciwnym wypadku {{Code|nil}}. Ta funkcja jest wykorzystywana, gdy jest uruchamiana w ramce, gdy mamy parametry ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzyTakCiąg| Wartość |nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wyspecjalizowana=tak}} </syntaxhighlight> Podobnie jest z funkcją {{Code|{{sr|#p.CzyTak|p=Parametry}}}}. A jak jest tworzony parametr zmiennej z powyższych wywołań, to jest powiedziane powyżej. Równie dobrze możemy zefiniować atrapę funkcji {{Code|frame.getParent}}, wtedy: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_tak=parametry_modul["CzyTakCiąg"]{args={ [1]=" Wartość ", [2]="", ["nazwa1"]="wartość1", ["nazwa2"]="wartość2", [3]="wartość3", [4]="wartość4", ["wyspecjalizowana"]="tak", }, getParent=function()end, }; </syntaxhighlight> Czasami tak potrzeba robić, by ominąc zabezpieczenia pewnych funkcji, nawet tutaj. === {{Code|p["CzyTakCiąg"]}} === W tej funkcji parametry mogą być zbierane w osobnych parametrach lub w jednej tablicy albo ta funkcja może być uruchomiona w ramce. Funkcja do swojego działania wykorzystuje do tego {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}} i {{Code|{{sr|#p.CzyTak|p=Parametry}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p["CzyTakCiąg"]=function(...)...end; </syntaxhighlight> Jeżeli ta funkcja jest uruchomiona w ramce, np. w postaci: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzyTakCiąg| Wartość |wyspecjalizowana=tak}} </syntaxhighlight> To w tym przypadku funkcja zwraca wartość {{Code|tak}}, tak jak funkcja {{Code|{{sr|#p.CzyTak|p=Parametry}}}}, a w przypadku: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzyTakCiąg| |wyspecjalizowana=tak}} </syntaxhighlight> To w tym przypadku funkcja zwraca wartość równą ciągowi pustemu, mimo że funkcja {{Code|{{sr|#p.CzyTak|p=Parametry}}}} zwróci wartość {{Code|tak}}. Podobnie jest w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, czyli: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_tak=parametry_modul["CzyTakCiąg"](" Wartość "); </syntaxhighlight> Ta funkcja zwróci wartość {{Code|tak}}. A teraz inny przykład: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_tak=parametry_modul["CzyTakCiąg"](" "); </syntaxhighlight> Ta funkcja zwróci wartość {{Code|nil}}. === {{Code|p.CzyTak}} === W tej funkcji parametry mogą być zbierane w osobnych parametrach lub w jednej tablicy albo ta funkcja może być uruchomiona w ramce. Funkcja do swojego działania nie wykorzystuje do tego {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, tak jak to robi {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> p.CzyTak=function(...)...end; </syntaxhighlight> Parametry funkcji: * {{Code|1}} lub {{Code|zmienna}} - sprawdzana zmienna, może być to funkcją, * {{Code|2}} lub {{Code|parametry}} - parametry funkcji, może być to tablica parametrów, jest ona wykorzystywana, gdy powyższy element jest funkcją. Jeżeli ta funkcja jest uruchomiona w ramce, np. w postaci: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzyTak| Wartość |wyspecjalizowana=tak}} </syntaxhighlight> To w tym przypadku funkcja zwraca wartość {{Code|tak}}, tak jak funkcja {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}} A w przypadku: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzyTak| |wyspecjalizowana=tak}} </syntaxhighlight> To w tym przypadku funkcja zwraca wartość równą ciągowi {{Code|tak}}, mimo że funkcja {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}} zwróci wartość równoważną ciągowi pustemu. <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|CzyTak||wyspecjalizowana=tak}} </syntaxhighlight> Ta funkcja uruchomiona w ramce w wikikodzie zwraca wartość równą ciągowi pustemu, tak samo, jak funkcja {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}}. Podobnie jest w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, czyli: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_tak=parametry_modul.CzyTak(" Wartość "); </syntaxhighlight> Ta funkcja zwróci wartość {{Code|tak}}. A teraz inny przykład: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_tak=parametry_modul.CzyTak(" "); </syntaxhighlight> Ta funkcja zwróci wartość {{Code|tak}}, niezależnie, czy tym ciągiem jest szereg składający się z samych znaków odstępów. A teraz inny przykład: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local czy_tak=parametry_modul.CzyTak(""); </syntaxhighlight> Ta funkcja wtedy zwróci wartość równą {{Code|nil}} w kodzie {{lpg|Lua}} w {{lpg|Lua|Scribunto}}. == Funkcje parametrów == === {{Code|p.PobierzFrameEwentualnieParent}} === Argument tej funkcji {{Code|frame}} koniecznie musi być tablicą, w przypadku przeciwnym wywoła to błąd języka {{lpg|Lua}}, że z wartości nietabelowej chcemy wyliczyć jego niepusty element {{Code|getParent}}. Funkcja pobiera parametry ramki szablonu rodzica, a nie dziecka, a jeżeli w dziecku w ramce w wikikodzie w szablonie podamy specjalny parametr {{Parametr|wyspecjalizowana|tak}}, to wtedy ta funkcja ściąga parametry ramki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PobierzFrameEwentualnieParent(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Tą funkcją można sterować ze strony ramki tym właśnie specjalnym parametrem o wartości niepustej, którą jest {{Parametr|wyspecjalizowana|tak}}. W ramce podajemy argumenty wraz z tym specjalnym parametrem: <syntaxhighlight lang="mediawiki"> {{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5|wyspecjalizowana=tak}} </syntaxhighlight> To wtedy w kodzie w {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w module o nazwie {{Code|Nazwa modułu}}, piszemy: <syntaxhighlight lang="lua"> local p={}; function p["Nazwa funkcji"](frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzFrameEwentualnieParent(frame).args; .... end; </syntaxhighlight> To wtedy w kodzie ściągane parametry ramki dziecka. Tę funkcję można równie dobrze wykorzystać do zwykłych tabel: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",}; local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzFrameEwentualnieParent(tabela); </syntaxhighlight> A w tym przypadku ta funkcja nic nie robi, tylko zmienna {{Code|args}} referencyjnie wskazuje na tablicę {{Code|tablica}}. Ale można ją wykorzystać, gdy by funkcja {{Code|Nazwa funkcji}}, była uruchomiona ze zwykłą tablicą, ale z możliwością, że to może być tablicą ramki {{Code|frame}} tablicy transportu, np.: <syntaxhighlight lang="lua"> --- Pierwsza możliwość; local wartosc1=p["Nazwa funkcji"](frame); -- Druga możliwość local wartosc2=p["Nazwa funkcji"]{["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",}; </syntaxhighlight> Dla obu jest taka niedogodność, że jedynie jest taka nieprawidłowość, że w przypadku parametru tablicy ramki tablicy transportu należy podawać uzyskanej element {{Code|args}}, a w przypadku zwykłej tablicy już nie, tą niedokodność rozwiązuje funkcja: {{Code|{{sr|#p.PobierzArgsParametry(frame,...)|p=Parametry}}}}. === {{Code|p.PobierzArgsParametry}} === Argument tej funkcji {{Code|frame}} koniecznie nie musi być tablicą, bo wtedy nie wywoła to błędu języka {{lpg|Lua}}, że z wartości nietabelowej chcemy wyliczyć jego niepusty element {{Code|getParent}}, bo przedtem sprawdzana jest w tej funkcji, czy jest to tablica. W definicji tej funkcji zmienna uzyskana z funkcji: {{Code|{{sr|#p.PobierzFrameEwentualnieParent(frame)|p=Parametry}}}}, a jeśli jej składowa {{Code|args}} jest tablicą, to jest właśnie ona zwracana, a jeśli istnieje, ale nie jest tablicą, lub ona nie istnieje, to wtedy brana jest właśnie wartość tablicowa {{Code|frame}}, jeśli jest ona taka, a gdy nie, to wtedy z tej funkcji tutaj nie korzystamy. Funkcja pobiera parametry ramki szablonu rodzica, a nie dziecka, a jeżeli w dziecku w ramce w wikikodzie w szablonie podamy specjalny parametr {{Parametr|wyspecjalizowana|tak}}, to wtedy ta funkcja ściąga parametry ramki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PobierzArgsParametry(frame, czy_nie_tablica_jako_tablica)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica transportu ramki, * {{Code|czy_nie_tablica_jako_tablica}} - czy wartości nietablicowe umieszczać w jednoelemenowej tabeli. Funkcja wykorzystuje wspomnianą powyżej funkcję do swojego działania, ona jest wtedy aktywowana, gdy zmienna {{Code|frame}} jest tablicą, i jest sprawdzane, czy ona posiada nazwany element o kluczu {{Code|args}}, i czy jest on tablicowy. Jeżeli wartością zmiennej {{Code|frame}} nie jest tablica, ale nie przybiera wartości {{Code|nil}}, to ona jest umieszczana w tablicy, jeżeli zmiennej {{Code|czy_nie_tablica_jako_tablica}} przydzielimy wartość {{Code|true}}, w przeciwnym wypadku zwracana jest ona w postaci niezmienionej, a jeżeli wartość tej zmiennej nie istnieje, to zwracana jest zwykła tablica pusta. Tą funkcją można sterować ze strony ramki tym właśnie specjalnym parametrem o wartości niepustej. W ramce podajemy argumenty wraz z tym specjalnym parametrem: <syntaxhighlight lang="mediawiki"> {{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5|wyspecjalizowana=tak}} </syntaxhighlight> To wtedy w kodzie w {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w module o nazwie {{Code|Nazwa modułu}}, piszemy: <syntaxhighlight lang="lua"> local p={}; function p["Nazwa funkcji"](frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); .... end; </syntaxhighlight> To wtedy w kodzie ściągane parametry ramki dziecka. Tę funkcję można równie dobrze wykorzystać do zwykłych tabel: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",}; local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(tabela); </syntaxhighlight> A w tym przypadku ta funkcja nic nie robi, tylko zmienna {{Code|args}} referencyjnie wskazuje na tablicę {{Code|tablica}}. Ale można ją wykorzystać, gdyby funkcja {{Code|Nazwa funkcji}}, była uruchomiona ze zwykłą tablicą, ale z możliwością, że to może być tablicą ramki {{Code|frame}} tablicy transportu, np.: <syntaxhighlight lang="lua"> --- Pierwsza możliwość; local wartosc1=p["Nazwa funkcji"](frame); -- Druga możliwość local wartosc2=p["Nazwa funkcji"]{["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",}; </syntaxhighlight> Dla obu tych przypadków nie ma żadnej niedogodności, jak to występowała w {{Code|{{sr|#p.PobierzFrameEwentualnieParent(frame)|p=Parametry}}}}. Jeśliby do funkcji tablicy transportu dać wartość równą nie tablicy, to wtedy równoważnie możemy napisać: <syntaxhighlight lang="lua"> local wartosc="wartość"; local wynik=p["Nazwa funkcji"](wartosc); </syntaxhighlight> to wtedy definicję tej funkcji piszemy: <syntaxhighlight lang="lua"> local p={}; function p["Nazwa funkcji"](frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local wartosc=args[1]; end; </syntaxhighlight> lub równoważnie możemy zapisać: <syntaxhighlight lang="lua"> local p={}; function p["Nazwa funkcji"](frame) local parametry_modul=require("Module:Parametry"); local wartosc=parametry_modul.PobierzArgsParametry(frame); end; </syntaxhighlight> A jeżeli nie wsadziliśmy żadnej wartości do funkcji ramki tablicy transportu lub tą wartością jest {{Code|nil}}, wtedy: <syntaxhighlight lang="lua"> local wynik=p["Nazwa funkcji"](); </syntaxhighlight> wtedy definicja tej funkcji wygląda: <syntaxhighlight lang="lua"> local p={}; function p["Nazwa funkcji"](frame) local parametry_modul=require("Module:Parametry"); -- Zmienna: args, wskazuje na wartość, którą jest tablicą pustą, tzn. w tej tablicy nie ma wcale elementów; local args=parametry_modul.PobierzArgsParametry(frame); end; </syntaxhighlight> Widzimy, że wtedy zmienna {{Code|args}} jest normalną pustą tablicą, i nie musimy wtedy wcale pisać poniżej, bo wtedy wychodzi w tym przypadku na to samo: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); </syntaxhighlight> Argument drugi w {{Code|{{sr|#p.PobierzArgsParametry(frame,...)|p=Parametry}}}}, który w naszym przypadku musi mieć wartość {{Code|true}}, a wtedy jest jedynie sens, gdy {{Code|frame}} nie jest tablicą, i gdy chcemy tą wartość umieścić w tablicy, a nie powtórzyć wartość, tzn. chcemy napisać: {{Code|{{(}}frame,{{)}}}}, w przeciwnym wypadku musilibyśmy napisać coś w rodzaju, zamiast tak spreparowanej tablicy: {{Code|frame}}, czyli: <syntaxhighlight lang="lua"> -- Pierwszy przypadek, gdy frame jest wartością nietablicową; local parametry_modul=require("Module:Parametry"); ... -- Zwracana wartość: args, to nic innego niż: {frame,}; local args=parametry_modul.PobierzArgsParametry(frame,true); ... -- Zwracana wartość: args, to nic innego niż: frame, a nie {frame,}, jak poprzednio; local args=parametry_modul.PobierzArgsParametry(frame); </syntaxhighlight> === {{Code|p.PobierzParametryRamki}} === Funkcja służy do ustawienia pewnych domyślnych dwóch pewnych funkcji służących do pobieranie danych z tabelki z pierwszej tej funkcji, jeżeli ona posiada klucz o wartości {{Code|args}}, to zwracana jest ta właśnie tablica jako argument pierwszej tej funkcji, jeżeli jest w ogóle tablicą, w przeciwnym wypadku zwracana jest ta oryginalna tablica też jako argument tej funkcji, w przeciwnym dalszym wypadku zwracana jest zwracana wartość ta jako argument tej drugiej funkcji, która zwraca prawdziwą wartość z argumentu tylko za pierwszym razem, z tej funkcji, za następnym i dalszym razem {{Code|nil}}. Z tak utworzonej ogólnie większej funkcji wykorzystywana jest w budowie omawianej funkcji, która jest zwracana przez funkcję w tym nagłówku, która względem jego budowy wywołuje raz pierwszą albo drugą poprzednią wspomnianą funkcję zależną od rodzaju tabeli {{Code|frame}}. Ta funkcja zwracana przez funkcję w nagłówku przyjmuje argument, która jest kluczem do tych wspomnianych tabel (dokładnie, która tabelka to zależy od formatu tej naszej rozważanej zmiennej), a jeżeli to nie tabelka, co jest zwracane, to już zostało powiedziane. Definicja skrótowa tej funkcji jest: <syntaxhighlight lang="lua"> function p.PobierzParametryRamki(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Weźmy ramkę sformułowaną w wikikodzie jako dziecko w szablonie rodzicu: <syntaxhighlight lang="mediawiki"> {{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5}} </syntaxhighlight> To wtedy tablica ramki tablicy transportu posiada właśnie {{Code|frame}}, która jest tablicą, i na pewno posiada tablicę o nazwie {{Code|args}}, to wtedy tę funkcję wywołaną w ramce, która wywołuje funkcję w nagłówku, formułujemy: <syntaxhighlight lang="lua"> local p={}; local p["Nazwa funkcji"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametryRamki=parametry_modul.PobierzParametryRamki(frame); ... end; </syntaxhighlight> Równie dobrze funkcję z ramki można wywołać w sposób, co wtedy ta funkcja też zostanie wywołana pozytywnie: <syntaxhighlight lang="lua"> local wynik=p["Nazwa funkcji"]{args={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",}}; </syntaxhighlight> W tej funkcji nie trzeba definiować funkcji fałszywej {{Code|getParent}}, w postaci: {{Code|getParent{{=}}function()end}}. Widzimi, że ta tablica posiada nazwę zmiennej tablicowej o nazwie {{Code|args}}, ale ona nie jest tablicą ramki tablicy transportu, ale tą tablicę możemy bezposrednio wsadzić w tą główną tablicę w samym argumencie funkcji. Równie dobrze możemy wywołać tę funkcję zdefiniowaną naszą w jakimś module w sposób: <syntaxhighlight lang="lua"> local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",}; local wynik=p["Nazwa funkcji"]{tabela); </syntaxhighlight> też ta funkcja prawidłowo się wywoła. W tym przypadku, jak i w przypadkach powyżej, wyniki uzyskuje się w następującym wywołaniach: <syntaxhighlight lang="lua"> --- Zmienna: wartosc1, przyjmuje wartość: "wartość1"; local wartosc1=PobierzParametryRamki("nazwa1"); --- Zmienna: wartosc2, przyjmuje wartość: "wartość2"; local wartosc2=PobierzParametryRamki("nazwa2"); --- Zmienna: wartosc3, przyjmuje wartość: "wartość3"; local wartosc3=PobierzParametryRamki(1); </syntaxhighlight> W innym przypadku wywołań funkcji ramki jest wsadzenie do niej zwykłego nietablicowego elementu, może być też to wartość: {{Code|nil}}. A to wywołanie jest: <syntaxhighlight lang="lua"> local wartosc="wartość"; --Zmienna: wartosc, nie jest w tym przypadku tablicą; local wynik=p["Nazwa funkcji"](wartosc); </syntaxhighlight> Wtedy w tej ramce w celu uzyskania jakikolwiek wartości jest przykład wywołania tej funkcji zwracanej przez funkcję w ramce z argumentem pustym. <syntaxhighlight lang="lua"> -- Zmienna: wartość1, przyjmuje wartość: "wartość"; Jeżeli ona, przyjmuje wartość: nil, to wywołanie rzuci: nil, i za każdym następny razem; local wartosc1=PobierzParametryRamki(); -- Zmienna: wartość2, przyjmuje wartość: nil; local wartosc2=PobierzParametryRamki(); </syntaxhighlight> W wywołaniach powinno dbać się o właściwą kolejność wywołań, bo argumentem funkcji z tablicy transportu może być zwykła tablicowa wartość. Najpierw uzyskujemy wartości nietablicowe, a później tablicowe, na wypadek niewiadomej {{Code|frame}} jakiego typu ma być wartość. Też ta zmienna może istnieć pod kilkoma możliwymi kluczami, lub tą zmienną może być jedyny argument funkcji, która jest nietablicową wartością, wtedy ją się wywołuje jako dla przypadku, gdy parametr jest nietablicowy lub jest pod kluczem {{Code|tekst}}: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst"); </syntaxhighlight> Lub chcemy tę funkcję wywołać bezparametrowo, gdy chcemy, by {{Code|frame}} nie była tablicą: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tekst=parametry_modul.PobierzParametryRamki(frame)(); </syntaxhighlight> Wtedy ta zmienna w przedostatnim przykładzie jest pod wartością {{Code|tekst}}, gdy wartość {{Code|frame}} jest tablicą, lub może być jedyną wartością, którą jest {{Code|frame}} jako zmienna nietablicowa, wtedy ta zmienna też jest pod {{Code|tekst}}, ta funkcja uzyskana z: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}, wtedy może być wywołana tylko raz z nienilową wartością zwracaną, następnym razem zwraca wartość {{Code|nil}}, wtedy to dotyczy przedostatniego i ostatniego przykładu. Jeżeli {{Code|frame}} jest nietablicowa, to wtedy wartość {{Code|tekst}} jest taka sama, co {{Code|frame}}. A jeżeli jest tablicą, to ta wartością jest {{Code|frame.args["tekst"]}}, lub gdy {{Code|args}} nie istnieje, lub istnieje, ale jest nietablicowa, to wtedy ta wartość jest {{Code|frame["tekst"]}}. A gdy zmienne istnieją pod wieloma kluczami, lub gdy funkcję wywołano ze zmienną nietablicową, wtedy ogólnie możemy dla przykładu powiedzieć: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local PobierzParametryRamki=parametry_modul.PobierzParametryRamki(frame); local wartosc1=PobierzParametryRamki("nazwa1") or PobierzParametryRamki(1); local wartosc2=PobierzParametryRamki("nazwa2") or PobierzParametryRamki(2); local wartosc3=PobierzParametryRamki("nazwa3") or PobierzParametryRamki(3); </syntaxhighlight> Wtedy ta zmienna jest pod kluczem, np.: {{Code|nazwa1}} lub {{Code|1}}, tablicy ramki {{Code|frame}} tablicy transportu, następne wywołania dla następnych kluczy też zrzucą pewne wartości, lub jest ona zwykłą nietablicową wartością mogącą być równą nawet {{Code|nil}}. Następne wywołania uzyskanej tak funkcji w przypadku, gdy {{Code|frame}} jest nietablicowy, rzucać będzie z samej definicji funkcji wartości {{Code|nil}}, czyli {{Code|wartosc2{{=}}wartosc3{{=}}nil}}, ale za to wartość {{Code|wartosc1}} nie musi być, ale może, wartością {{Code|nil}}, jest tą wartością, gdy {{Code|frame{{=}}nil}}, w przeciwnym wypadku za pierwszym razem tej wartości nietablicowej uzyskamy wartość nie {{Code|nil}}, a za drugim i dalszym zawsze wartość {{Code|nil}}. === {{Code|p.PobierzElementNumerowanyZFrameLubTablicy}} === Definicja skrótowa funkcji jest z parametrem charakteryzującym pewien zestaw zmiennych {{Code|frame}}, które nie jest tablicą ramki tablicy transportu, tylko innym parametrem, który jest tablicą parametrów podanych do funkcji, nawet gdy parametrem podanym do funkcji, w której wykorzystujemy tą funkcję, jest jedyna zmienna będąca tablicą ramki, ale z drugiej strony tak nie musi być, może być to rozbudowany zestaw zmiennych, np. nazwanych i nienazwanych, którego wszystkie sposoby podawania łączymy jednym sposobem podawania. Mimo że parametry funkcji są parametrami nienazwanymi, mogą być one ponumerowane, ale zmienna w tablicy może przyjmować wartość tą samą na różne sposoby, raz w sposób nazwany, a za innym sposobem jako nienazwany. Ogólnie ostateczne parametry łączymy w dane parametry za pomocą jednego sposobu, tzn. za pomocą tej funkcji, i dla tak uzyskanej tablicy tworzymy funkcję zwracaną przez funkcję w nagłówku, która przyjmuje parametr, który jest kluczem tej uzyskanej tablicy. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PobierzElementNumerowanyZFrameLubTablicy(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Weźmy najprostszy sposób realizacji tej funkcji, w realizacji: {{Code|1-1, 2-2, 3-3}}, czyli ten opis jest zaraz poniżej. Weźmy funkcję, którą można wywoływać z wieloma parametrami, jak i w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, którą przykładowo piszemy jego wywołanie wewnątrz innej funkcji na pięć sposobów, czyli teraz pierwszy sposób z tylko z parametrem, więc tablicą ramki tablicy transportu wywodzącą się z ramki uruchomioną w wikikodzie w jakimś szablonie rodzicu: <syntaxhighlight lang="lua"> local wynik=p["Nazwa funkcji"](frame); </syntaxhighlight> a teraz drugi sposób, pisząc, bezpośrednio inaczej formułując wywołanie tej funkcji, używając zmiennych tablicowych tablicy ramki, ale to nie jest tak naprawdę tablica ramka tablicy transportu, tylko parametr podany bezpośrednio do funkcji, tak jak się to robi w języku {{lpg|Lua}}, nie jak w przykładzie powyżej, więc: <syntaxhighlight lang="lua"> local wynik=p["Nazwa funkcji"]{args={"wartość1","wartość2","wartość3",},}; </syntaxhighlight> Lub równoważnie, pisząc, nie używając zmiennej {{Code|args}}: <syntaxhighlight lang="lua"> local wynik=p["Nazwa funkcji"]{"wartość1","wartość2","wartość3",}; </syntaxhighlight> Albo te parametry wsadzając do funkcji: <syntaxhighlight lang="lua"> local wynik=p["Nazwa funkcji"]("wartość1","wartość2","wartość3"); </syntaxhighlight> Można też wywołać to wszystko w ramce, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikpdzie, wtedy wsadzając parametry do ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Nazwa modułu|Nazwa funkcji|wartość1|wartość2|wartość3}} </syntaxhighlight> A jak połączyć wszystkie te pięć sposobów, posługiwać się tymi sposobami wewnątrz funkcji {{Code|Nazwa funkcji}} w sposób jednolity, jedynie wtedy należy skorzystać z funkcji z definiowaną w jakimś module w sposób: <syntaxhighlight lang="lua"> local p={}; p["Nazwa funkcji"]=function(...) local tablica_prametrow_funkcji={...}; local parametry_modul=require("Module:Parametry"); local PobierzElementNumerowanyZFrameLubTablicy=parametry_modul.PobierzElementNumerowanyZFrameLubTablicy(tablica_prametrow_funkcji); ... end; </syntaxhighlight> Wtedy za pomocą zmiennej {{Code|PobierzElementNumerowanyZFrameLubTablicy}} dostaliśmy się do funkcji, która przyjmmuje jedyny parametr, aby dostać się do elementów tablicy uzyskanej w wewnątrz tej funkcji, zdefiniowaną w tablicy {{Code|tablica_prametrow_funkcji}}, która jest nic innym jak zestawem parametrów w funkcji: {{Code|Nazwa funkcji}}. W pierwszym i drugim sposobem zmienna ta nazwijmy to jako {{Code|args}} jest zmienną z podtablicy innego {{Code|args}} przekazanych jako parametr tablicy do funkcji, w trzecim sposobie tą zmienną jest cała tablica, a czwartym jest zestaw parametrów. A czym się różnią się te sposoby, a więc te sposoby można powiązać jedną tylko funkcją powiedzianą w nagłówku według przykładu podaną zaraz powyżej, wtedy możemy dostawać się do tych samych zmiennych o takich samych nazwach i wartościach, ale w różnych reprezentacjach na różne sposoby, wtedy można powiedzieć, że: <syntaxhighlight lang="lua"> args[1]="wartość1"; args[2]="wartość2"; args[3]="wartość3"; </syntaxhighlight> Czyli w wyniku działania funkcji w nagłówku, otrzymamy funkcję zwracającą te wartości, która operuje na tej tablicy, której wynikiem jest zestaw zmiennych ponumerowanych, ogólnie nienazwanych, której wartości odpowiadają te podane w ramce ostatniej powyżej. Na podstawie tego wiemy, jak działa funkcja ta z nagłówka. Pisząc w inny sposób, można też wskazywać: <syntaxhighlight lang="lua"> local p={}; p["Nazwa funkcji"]=function(...) local tablica_prametrow_funkcji={...}; local parametry_modul=require("Module:Parametry"); local PobierzElementNumerowanyZFrameLubTablicy=parametry_modul.PobierzElementNumerowanyZFrameLubTablicy(tablica_prametrow_funkcji); local wartosc1=PobierzElementNumerowanyZFrameLubTablicy("nazwa1") or PobierzElementNumerowanyZFrameLubTablicy(1); local wartosc2=PobierzElementNumerowanyZFrameLubTablicy("nazwa2") or PobierzElementNumerowanyZFrameLubTablicy(2); local wartosc3=PobierzElementNumerowanyZFrameLubTablicy("nazwa3") or PobierzElementNumerowanyZFrameLubTablicy(3); end; </syntaxhighlight> Zmienne w przykładzie o kluczach: {{Code|nazwa1}}, {{Code|nazwa2}} i {{Code|nazwa3}}, posiadające pewne swoje wartości, to są zmienne w tablicy {{Code|tablica_prametrow_funkcji}}, podane też jako zmienne, jako pewne argumenty tablicy, który są w tej funkcji zwracanej jako argument (parametr) funkcji, jeżeli argumenty podano w postaci jednego parametru funkcji w postaci pewnej tablicy z np. elementami nazwanymi, lub jako wiele argumentów w ramce, w wikikodzie, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w pewnym szablonie, a rozpatrując dalej elementy względem ich nazw, np. alternatywnych, to te numery mogą być: {{Code|1}}, {{Code|2}} i {{Code|3}}, to jest numer parametru, jeżeli argumenty do funkcji podano w postaci wielu jego parametrów. === {{Code|p.PobierzParametr}} === Ta funkcja zwraca znów inną funkcję, która ma jedyny parametr, mówiący jakiego parametru poszukujemy, co jest wyjaśnione w definicji funkcji z nagłówka, że ona zwraca tą właśnie funkcje. Definicja skrótowa dunkcji: <syntaxhighlight lang="lua"> function p.PobierzParametr(frame,czy_frame_lub_parent,czy_frame) ... return function(nazwa) return __pobierz_parametr_table_args(nazwa); end; end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu, * {{Code|czy_frame_lub_parent}} i {{Code|czy_frame}} - parametry logiczne dodatkowe funkcji. Funkcja zwraca jednocześnie dwie wartości, ta zwrócona z funkcji z nagłówka, prawdziwą wartość, i numer metody w postaci: {{Code|return wartosc, numer_metody}}. Ta funkcja zwracana ma w swojej definicji inną jeszcze funkcję z tym samym parametrem, co jego rodzic, i to jest za każdym razem inna funkcja w zależności z jakim typem danych się posługujemy {{Code|frame}} i jakie podaliśmy parametry, tzn. pod warunkiem, gdy zmienna {{Code|frame}} jest tablicą, czyli te zmienne druga: {{Code|czy_frame_lub_parent}} (jeżeli funkcja jest uruchomiona w ramce w szablonie, jeżeli wartość {{Code|true}}, to ona wybiera raz parametr z: {{Code|frame.args[nazwa or 1]}}, a za innym razem z {{Code|pf.args[nazwa or 1]}}, gdzie {{Code|pf{{=}}frame:getParent()}}, tutaj jest zwracana wartość: {{Code|return wartosc,2}}), czy trzecia: {{Code|czy_frame}} (która mówi, jeżeli funkcję uruchomiono w ramce, ale przy wartości fałszywej tego pierwszego podanego parametru, mówi, że przy wartości {{Code|true}} tego parametru, wybierana jest zawsze wartość {{Code|frame.args[nazwa or 1}}}, w przeciwnym wypadku uruchamiana jest funkcja {{Code|{{sr|#p.PobierzArgsParametry(frame,...)|p=Parametry}}}}, tutaj zwracana jest wartość {{Code|return wartosc,1}}). Jeżeli wartością {{Code|frame}} jest wartość nietablicowa, ale niebędącą wartością {{Code|nil}}, wtedy ustawiana jest funkcja, która tylko za pierwszym razem zwraca nienilową wartość {{Code|return wartosc,0}}, a później zwraca wartość {{Code|return nil,0}}. Gdy wartością {{Code|frame}} jest {{Code|nil}}, to funkcja zawsze wraca tą wartość {{Code|return nil,0}}. Powyższy sposób działa również dobrze, gdy zdefiniujemy w parametrach funkcji fałszywą funkcję {{Code|frame.getParent}}. Gdy funkcja nie jest uruchamiana w ramce lub funkcja {{Code|frame.getParent}} nie jest zdefiniowana, to wtedy funkcja wchodzi zawsze w ten jej krok, jakby {{Code|czy_frame_lub_parent}} było {{Code|false}} według tego powyżej, to wtedy brana jest zmienna {{Code|czy_frame}}, i jaką wartość ona przyjmuje. Funkcję pisze się według sposobu, którą się wywołuje według: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local wartosc1=PobierzParametr("nazwa1") or PobierzParametr(1); local wartosc2=PobierzParametr("nazwa2") or PobierzParametr(2); local wartosc3=PobierzParametr("nazwa3") or PobierzParametr(3); </syntaxhighlight> Na wypadek wartości nietabelowej, tą wartość zapisuje się jako pierwszą w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a dla wartości tabelowych, jaka jest kolejność to jest obojętne, byle by to było sensowne. Tę funkcję podobnie się wywołuje jak funkcję: {{Code|{{sr|#p.PobierzArgsParametry(frame,...)|p=Parametry}}}}. Wartością {{Code|frame}} nie musi być tablica ramki tablicy transportu, równie dobrze może być to dowolna tablica lub wartość nietablicowa. Weźmy ramkę, w której uruchamiamy funkcję ramki: <syntaxhighlight lang="mediawiki"> {{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5|wyspecjalizowana=tak}} </syntaxhighlight> Ona musi być wywołana z parametrem {{Parametr|wyspecjalizowana|tak}}, jako podpowiedź, że liczą sie parametry ramki dziecka, a nie jego rodzica, czyli szablonu. Wtedy funkcję {{Code|Nazwa funkcji}} definiujemy: <syntaxhighlight lang="lua"> local p={}; p["Nazwa funkcji"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); ... end; </syntaxhighlight> Wtedy parametr {{Parametr|wyspecjalizowana|tak}} jest ignorowany, a przy wartości {{Code|false}} drugiego parametru funkcji, czyli wywołania: {{Code|local PobierzParametr{{=}}parametry_modul.PobierzParametr(frame,false);}}, już nie, ale nie zawsze. W takim przypadku raz jest brana wartość, jeżeli istnieje, z {{Code|frame.args}}, a jak nie to z: {{Code|pf.args}}. Weźmy inny przypadek: <syntaxhighlight lang="lua"> local p={}; p["Nazwa funkcji"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,false,true); ... end; </syntaxhighlight> Przy tym też parametr: {{Parametr|wyspecjalizowana|tak}}, jest ignorowany, wtedy jest zawsze wybierana do rozważań tablica: {{Code|frame.args}}. Znów w innym przypadku, gdzie parametr: {{Parametr|wyspecjalizowana|tak}}, jest zawsze rozważany w naszym wypadku: <syntaxhighlight lang="lua"> local p={}; p["Nazwa funkcji"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,false,false); ... end; </syntaxhighlight> To to wywołanie, wtedy dokładnie działa jak funkcja: {{Code|{{sr|#p.PobierzArgsParametry(frame,...)|p=Parametry}}}}, a zwrócona funkcja: {{Code|PobierzParametr}} pobiera elementy z tak uzyskanej tablicy {{Code|args}}. W przypadku, gdy {{Code|frame}} nie jest tablicą, wtedy parametry: {{Code|czy_frame_lub_parent}} i {{Code|czy_frame}}, są w takim przypadku zawsze ignorowane, ale muszą być ustawione na wypadek, gdy by do funkcji {{Code|Nazwa funkcji}} wsadzono tablicę, np.z ramki tablicę ramki tablicy transportu. Najprostszym często ogólnym przykładem, który prawie zawsze jest stosowany: <syntaxhighlight lang="lua"> local p={}; p["Nazwa funkcji"]=function(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); ... end; </syntaxhighlight> Wtedy parametr: {{Parametr|wyspecjalizowana|tak}}, jest prawie zawsze nieignorowany, ale nie zawsze. == Funkcje wartości logicznej == Funkcje te wykorzystują funkcję: {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}}, jeżeli mamy ciąg składający się z samych znaków odstępu, to funkcja zwraca wartość odpowiadający wartości: {{Code|false}}, a dla innych wartości to działa jak: {{Code|true}}, dla instrukcji warunkowej: {{Code|{{s|#if:coś|wtedy|przeciwnie}}}}. === {{Code|p.And}} === Funkcja działa jak operator logiczny operatorowy: {{Code|and}}, w języku {{lpg|Lua}}. Funkcja służy jedynie do uruchamiania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, zamienia wartości parametrów składającą się z nie znaków odstępu i niebędące ciągami pustymi, na wartość składający się z ciągowi niepustemu, czyli {{Code|tak}}, w przeciwnym wypadku mamy wartość wyniku równą ciągowi pustemu. Funkcja zamienia wartości każdego parametru na wartości logiczne: {{Code|true}}/{{Code|false}} (według funkcji: {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}}), i jeżeli wszystkie z tych wartości są równe wartości {{Code|true}}, to funkcja zwraca {{Code|tak}}, w przeciwnym wypadku zwraca wartość równą ciągowi pustemu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.And(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Przykład działania funkcji w ramce {{Lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikodzie w szablonie, bo ta funkcja służy do uruchamiania właśnie w szablonach, jest: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|And|wartość1|wartość2|wartość3}}|tak|nie}} </syntaxhighlight> W powyższym przykładzie funkcja zwróci wartość {{Code|tak}}. A w przykładzie z przeciwną zwracaną wartością: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|And|wartość1||wartość3}}|tak|nie}} </syntaxhighlight> natomiast zostanie zwrócona wartość {{Code|nie}}. === {{Code|p.Or}} === Funkcja działa operator logiczny operatorowy: {{Code|or}}, w języku {{lpg|Lua}}. Funkcja służy jedynie do uruchamiania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, zamienia wartości parametrów składającą się, przynajmniej, któreś z nich, z nie znaków odstępu i niebędące ciągami pustymi, na wartość składający się z ciągowi niepustemu, czyli {{Code|tak}}, w w przeciwnym wypadku mamy wartość wyniku równą ciągowi pustemu. Funkcja zamienia wartości każdego parametru na wartości logiczne: {{Code|true}}/{{Code|false}} (według funkcji: {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}}), i jeżeli z któreś z tych wartości jest {{Code|true}}, to funkcja zwraca {{Code|tak}}, w przeciwnym wypadku zwraca wartość równą ciągowi pustemu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Or(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Przykład działania funkcji w ramce {{Lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikodzie w szablonie, bo ta funkcja służy do uruchamiania właśnie w szablonach, jest: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|Or|wartość1||wartość3}}|tak|nie}} </syntaxhighlight> W powyższym przykładzie funkcja zwróci wartość {{Code|tak}}. A w przykładzie z przeciwną zwracaną wartością: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|Or|||}}|tak|nie}} </syntaxhighlight> natomiast zostanie zwrócona wartość {{Code|nie}}. === {{Code|p.Not}} === Funkcja działa jak operator logiczny operatorowy: {{Code|not}}, w języku {{lpg|Lua}}. Funkcja służy jedynie do uruchamiania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, zamienia wartość składającą się z nie znaków odstępu i niebędący ciągiem pustym, na wartość składający się z ciągu pustego, i odwrotnie, czyli wartość pustą na wartość mający w sobie inne znaki niż odstępu. Funkcja zamienia wartość pierwszego parametru na wartość logiczną: {{Code|true}}/{{Code|false}} (według funkcji: {{Code|{{sr|#p["CzyTakCiąg"]|p=Parametry}}}}), i zamienia ją na przeciwność, wartości {{Code|true}} odpowiada {{Code|tak}}, a {{Code|false}} odpowiada wartości pustej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Not(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Przykład działania funkcji w ramce {{Lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikodzie w szablonie, bo ta funkcja służy do uruchamiania właśnie w szablonach, jest: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|Not|tak}}|tak|nie}} </syntaxhighlight> W powyższym przykładzie funkcja zwróci wartość {{Code|nie}}. A w przykładzie z przeciwną zwracaną wartością: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|Not|}}|tak|nie}} </syntaxhighlight> natomiast zostanie zwrócona wartość {{Code|tak}}. == Funkcje porównań == === {{Code|p.Mniejszy}} === Funkcja zastępuje parser logiczny: {{Code|{{s|#expr:coś|wtedy|przeciwnie}}}}, dla porównania dwóch wartości logicznych, działa on szybciej niż ten parser, bo on musi uwzględniać skomplikowaność wyrażeń matematycznych do policzenia, a nasza funkcja w języku: {{lpg|lua}} w {{lpr|Lua|Scribunto}}, już nie. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Mniejszy(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Funkcja sprawdza, czy spełniona jest wartość mniejszości pierwszego parametru liczbowego: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|Mniejszy|5|3}}|tak|nie}} </syntaxhighlight> Funkcja wtedy zrzuci wartość {{Code|nie}}, bo {{Code|5}} jest większe niż {{Code|3}}. Można też sprawdzić, czy liczba jest ujemna, za pomocą wywołania: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|Mniejszy|-5}}|tak|nie}} </syntaxhighlight> Funkcja zrzuci wartość {{Code|tak}}. Można też sprawdzić, czy liczba jest dodatnia, za pomocą wywołania: <syntaxhighlight lang="mediawiki"> {{#if:{{#invoke:Parametry|Mniejszy|5}}|tak|nie}} </syntaxhighlight> Funkcja zrzuci wartość {{Code|nie}}. == Ile jest podanych elementów w szablonie według parametrów ramki == === {{Code|p.IlePodano}} === Funkcja sprawdza, ile jest podanych parametrów w parametrach rodzica szablonu z parametrów nazwanych lub nienazwanych, ale traktowanych jak nazwane, podanych w dziecku. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IlePodano(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. Wywołanie szablonu, w której jest wywołana funkcja: {{Code|{{m|Parametry|IlePodano}}}}, jako z parametrami, i nie tylko, podanymi w ramce tej funkcji w tym szablonie: <syntaxhighlight lang="mediawiki"> {{Nazwa szablonu|nazwa1=wartość1|nazwa2=wartość2|nazwa3=wartość3|wartość4|wartość5}} </syntaxhighlight> To wtedy wywołanie w nim naszej funkcji bibliotecznej w postaci ramki wygląda, jako: <syntaxhighlight lang="mediawiki"> {{#invoke:Parametry|IlePodano|nazwa1|nazwa3|2|nazwa4|5}} </syntaxhighlight> Funkcja zwróci wartość {{Code|3}}, a nie {{Code|5}}, bo trzy tylko parametry znaleziono w ramce wywołania szablonu, a parametr: {{Code|nazwa4}} i {{Code|5}}, tam wcale nie występują. == Metafunkcje i metatabele == Rozdział przedstawia metatabele i w niej zdefiniowane metafunkcje. === {{Code|p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter}} === Jest to zdefiniowana metatabelka, którego definicja i przyporządkowanie innej normalnej tablicy, wygląda: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter=parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter; local tablica_normalna={["nazwa1"]="wartosc1",["nazwa2"]="wartość2",["nazwa3"]="wartość3",}; setmetatable(tablica_normalna,metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); </syntaxhighlight> === {{Code|p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter.__index(t,klucz)}} === Jeżeli przyporządkujemy wartości {{Code|tablica_normalna}} metatabelkę z metafunkcjami, w tym przypadku metafunkcji {{Code|.__index(t,klucz)}}, wtedy możemy pisać wywołanie: <syntaxhighlight lang="lua"> local wartosc1=tablica_normalna["NAZWA1"]; </syntaxhighlight> Uzyskaną wartością jest: {{Code|wartość1}}, bo wartość: {{Code|NAZWA1}} jest zamieniana na małe litery w tym wywołaniu, ale powyżej podano wartość {{Code|nazwa1}} w tablicy {{Code|tablica_normalna}}, wtedy obie wartości są sobie równe, a więc uzyskamy taki wynik. == Iteratory == Poniższe operatory możemy wykorzystać w funkcjach: analogicznego do {{Code|ipairs}}, dla iteratora: {{Code|{{sr|#p.IteratorPoNumerowanychElementachTablicy(t)|p=Parametry}}}}, wynikłej z jego funkcji z wartości zwracanej, i analogicznego do {{Code|next}} (iteratora po kluczach) w {{Code|pairs}}, dla iteratora: {{Code|{{sr|#p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu(tabela,funkcja)|p=Parametry}}}}, wynikłe z jego funkcji z wartości zwracanej. === {{Code|p.IteratorPoNumerowanychElementachTablicy(t)}} === Iterator służy do iterowania po kolei liczb w pewnych tablicach, używając do tego celu tablicy, zdefiniowanego iteratora. Można ją zdefiniować do obsługi innego iterowania po parametrach numerowanych, analogicznie do {{Code|ipairs}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoNumerowanychElementachTablicy(t) ... return function() ... end; end; </syntaxhighlight> Parametry funkcji: * {{Code|t}} - tablica, po której iterujemy po elemenetach numerowanych. Przykład działania iteratora jest: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabela={1,2,3,4,5,6,7,8,9,10,}; local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica); for name, value in iter do mw.log("Klucz:",klucz,"Wartość:",value); end; </syntaxhighlight> === {{Code|p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu(tabela,funkcja)}} === Iterator służy do iterowania po kolei po zsortowanych kluczach po kolei alfabetycznie, którym są przyporządkowane wartości o pewnych tych kluczach w pewnych tablicach, używając do tego celu tablicy, zdefiniowanego iteratora, metatabelki i metafunkcji w niej zdefiniowanej, gdzie: {{Code|funkcja}}, jest funkcją sortującą łańcuchy znakowe. Można ją zdefiniować do obsługi innego iterowania po parametrach nazwanych za pomocą: {{Code|pairs}}, definiując funkcję: {{Code|__next}}, analoga do {{Code|next}}, jako iteratora po kluczach posortowanych, która jest wartością zwracaną przez funkcję w nagłówku. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu(tabela,funkcja) ... return function(tablica,klucz) ... end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela}} - tabela, po której iterujemy, * {{Code|funkcja}} - funkcja sortująca. Parametry funkcji zwracanej: * {{Code|tablica}} - tabela operowana, * {{Code|klucz}} - klucz, dzięki któremu szukamy następny element. Zdefiniujmy metatablicę z metafunkcją: {{Code|__pairs}}, wtedy: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local tabela={["D"]="wartość1",["A"]="wartość2",["F"]="wartość3",["C"]="wartość4",}; local __metatabelka={}; __metatabelka.__pairs=function(t) local funkcja_sortujaca=nil; local __next=parametry_modul.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu(t,funkcja_sortujaca); return __next,t,nil; end; setmetatable(tabela,__metatabelka); for name,value in pairs(tabela) do mw.log("Klucz:",klucz,"Wartość:",value); end; </syntaxhighlight> == Funkcje wartości minimalnej i maksymalnej == === {{Code|p.Max}} === Funkcja liczy maksimum dwóch podanych wartości, podaną w jednostkach bezwymiarowych. ==== Odpowiednik szablonowy ==== Dla wersji ramkowej uruchomioną w wikikodzie, np. szablonu: * {{Code|{{m|Parametry|Max|5|3}}}} → {{Tt|{{#invoke:Parametry|Max|5|3}}}} Dla wersji szablonowej, której odpowiednikami szablonowymi są: {{s|Max}} lub {{s|Maksimum}}, który można wykorzystać jej definicji wersję ramkową, ale niekoniecznie, a tutaj wykorzystuje parser {{Code|{{s|#expr:coś}}}}. * {{Code|{{s|Max|5|3}}}} → {{Tt|{{Max|5|3}}}} Ta wersja szablonowa wykorzystuje funkcję: {{s|W pikselach}}, do zamiany tej samej liczby w liczbę, ale też liczby w różnych jednostkach bezwzględnych z mianem na końcu na zamianę w liczbę pikseli podaną bez wymiarowo. Wywołanie: {{Code|{{m|Parametry|Max|5|3}}}}, zajmuje mniej zasobów niż: {{Code|{{s|Max}}}}, bo to ostatnie wykorzystuje do liczenia pracochłonną funkcję: {{m|Plik|W pikselach}}, a to pierwsze już nie, liczy maksimum bezpośrednio. ==== Funkcja biblioteczna ==== Funkcja do wywołania w ramce dla dwóch parametrów licząca ich maksimum. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Max(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. W ramce można go wywołać bezpośrednio, dla przykładu dwóch naturalnych parametrów, ale one mogą być też rzeczywiste: <syntaxhighlight lang="lua"> {{#invoke:Parametry|Max|5|3}} </syntaxhighlight> Wynikiem tego jest maksimum z tych liczb równą: {{Code|5}}. Tę funkcję można wykorzystać bez pośrednio w programie {{lpg|Lua}} do liczenia maksimów dwóch liczb. Ten kod piszemy: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local maksimum=parametry_modul.Max(5,3); </syntaxhighlight> Wartością z dwóch liczb jest wartość maksymalna: {{Code|5}}. Widzimy, że w parametrach funkcji nie musimy wykorzystywać żadnej tablicy ramki, bo ona wykorzystuje funkcję: {{Code|{{sr|#p.PobierzElementNumerowanyZFrameLubTablicy(frame)|p=Parametry}}}}, do liczenia parametrów tego obiektu ramki, by uzyskać argumenty podane w parametrach tej funkcji, czy to w wersji wywołaną w ramce, czy jako w zwykłej funkcji. === {{Code|p.Min}} === Funkcja liczy minimum dwóch podanych liczb, podaną w jednostkach bezwymiarowych. ==== Odpowiednik szablonowy ==== Dla wersji ramkowej uruchomioną w wikikodzie, np. szablonu: * {{Code|{{m|Parametry|Min|5|3}}}} → {{Tt|{{#invoke:Parametry|Min|5|3}}}} Dla wersji szablonowej, której odpowiednikami szablonowymi są: {{s|Min}} lub {{s|Minimum}}, który można wykorzystać jej definicji wersję ramkową, ale niekoniecznie, a tutaj wykorzystuje parser {{Code|{{s|#expr:coś}}}}. * {{Code|{{s|Min|5|3}}}} → {{Tt|{{Min|5|3}}}} Ta wersja szablonowa wykorzystuje funkcję: {{s|W pikselach}}, do zamiany tej samej liczby w liczbę, ale też liczby w różnych jednostkach bezwzględnych z mianem na końcu na zamianę w liczbę pikseli podaną bez wymiarowo. Wywołanie: {{Code|{{m|Parametry|Min|5|3}}}}, zajmuje mniej zasobów niż: {{Code|{{s|Min}}}}, bo to ostatnie wykorzystuje do liczenia pracochłonną funkcję: {{m|Plik|W pikselach}}, a to pierwsze już nie, liczy minimum bezpośrednio. ==== Funkcja biblioteczna ==== Funkcja do wywołania w ramce dla dwóch parametrów licząca ich minimum. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Min(frame)...end; </syntaxhighlight> Parametry funkcji: * {{Code|frame}} - tablica ramki tablicy transportu. W ramce można go wywołać bezpośrednio, dla przykładu dwóch naturalnych parametrów, ale one mogą być też rzeczywiste: <syntaxhighlight lang="lua"> {{#invoke:Parametry|Min|5|3}} </syntaxhighlight> Wynikiem tego jest minimum równą: {{Code|3}}. Tę funkcję można wykorzystać bez pośrednio w programie {{lpg|Lua}} do liczenia minimów dwóch liczb. Ten kod piszemy: <syntaxhighlight lang="lua"> local parametry_modul=require("Module:Parametry"); local minimum=parametry_modul.Min(5,3); </syntaxhighlight> Wartością minimalną z dwóch liczb jest: {{Code|3}}. Widzimy, że w parametrach funkcji nie musimy wykorzystywać żadnej tablicy ramki, bo ona wykorzystuje funkcję: {{Code|{{sr|#p.PobierzElementNumerowanyZFrameLubTablicy(frame)|p=Parametry}}}}, do liczenia parametrów tego obiektu ramki, by uzyskać argumenty podane w parametrach tej funkcji, czy to w wersji wywołaną w ramce, czy jako w zwykłej funkcji. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> k7tq73wlxnzrga7a8gmv9napxqszcob Kategoria:Podręczniki z wersją w postaci elektronicznych książek 14 63617 544841 544578 2026-06-01T15:57:22Z Persino 2851 544841 wikitext text/x-wiki {{Kategoria|Podręczniki z jakimiś wersjami}} l44umi93etxuuzvt8uu0n2giwl9jnky Kategoria:Podręczniki z jakimiś wersjami 14 63630 544840 2026-06-01T15:56:57Z Persino 2851 Utworzono nową stronę "{{Kategoria|Kategorie_podręcznikowe}}" 544840 wikitext text/x-wiki {{Kategoria|Kategorie_podręcznikowe}} 88dy35atv3omjao76l35mwbvi4n4k29 Kategoria:Podręczniki z dostosowanymi artykularnymi wersjami 14 63631 544842 2026-06-01T16:00:00Z Persino 2851 Utworzono nową stronę "{{Kategoria|Podręczniki z jakimiś wersjami}}" 544842 wikitext text/x-wiki {{Kategoria|Podręczniki z jakimiś wersjami}} l44umi93etxuuzvt8uu0n2giwl9jnky 544879 544842 2026-06-01T17:35:52Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Podręczniki z dostosowanymi wersjami]] do [[Kategoria:Podręczniki z dostosowanymi artykularnymi wersjami]], bez pozostawienia przekierowania pod starym tytułem 544842 wikitext text/x-wiki {{Kategoria|Podręczniki z jakimiś wersjami}} l44umi93etxuuzvt8uu0n2giwl9jnky Kategoria:Podręczniki z wersją do druku 14 63632 544843 2026-06-01T16:01:14Z Persino 2851 Utworzono nową stronę "{{Kategoria|Podręczniki z dostosowanymi wersjami}}" 544843 wikitext text/x-wiki {{Kategoria|Podręczniki z dostosowanymi wersjami}} 8qxhx9s9zonlxr5sixir7dv77f14yk9 544878 544843 2026-06-01T17:35:25Z Persino 2851 544878 wikitext text/x-wiki {{Kategoria|Podręczniki z dostosowanymi artykularnymi wersjami}} kuydi4t2s4zrokhngperfurzelpkjwc Kategoria:Podręczniki z wersją do czytania 14 63633 544844 2026-06-01T16:01:46Z Persino 2851 Utworzono nową stronę "{{Kategoria|Podręczniki z dostosowanymi wersjami}}" 544844 wikitext text/x-wiki {{Kategoria|Podręczniki z dostosowanymi wersjami}} 8qxhx9s9zonlxr5sixir7dv77f14yk9 544877 544844 2026-06-01T17:35:02Z Persino 2851 544877 wikitext text/x-wiki {{Kategoria|Podręczniki z dostosowanymi artykularnymi wersjami}} kuydi4t2s4zrokhngperfurzelpkjwc Kategoria:Strony zbiorcze całościowe podręczników 14 63634 544850 2026-06-01T16:14:16Z Persino 2851 Utworzono nową stronę "{{Kategoria|Strony zbiorcze podręczników przystosowane do druku}}" 544850 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do druku}} pd8t0chypmkdqmnic251o953focdffn 544857 544850 2026-06-01T16:28:08Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Strony zbiorcze całościowe podręczników przystosowane do druku]] do [[Kategoria:Strony zbiorcze całościowe podręczników przystosowane do prezentacji]], bez pozostawienia przekierowania pod starym tytułem 544850 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do druku}} pd8t0chypmkdqmnic251o953focdffn 544858 544857 2026-06-01T16:29:16Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Strony zbiorcze całościowe podręczników przystosowane do prezentacji]] do [[Kategoria:Strony zbiorcze całościowe podręczników]], bez pozostawienia przekierowania pod starym tytułem 544850 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do druku}} pd8t0chypmkdqmnic251o953focdffn 544865 544858 2026-06-01T16:37:41Z Persino 2851 544865 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do czytania lub druku}} l75lrl6qoie6hekxqhkswgx9run5hdh Kategoria:Strony zbiorcze rozdziałowe podręczników 14 63635 544853 2026-06-01T16:16:46Z Persino 2851 Utworzono nową stronę "{{Kategoria|Strony zbiorcze podręczników przystosowane do druku}}" 544853 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do druku}} pd8t0chypmkdqmnic251o953focdffn 544859 544853 2026-06-01T16:29:37Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Strony zbiorcze rozdziałowe podręczników przystosowane do druku]] do [[Kategoria:Strony zbiorcze rozdziałowe podręczników]], bez pozostawienia przekierowania pod starym tytułem 544853 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do druku}} pd8t0chypmkdqmnic251o953focdffn 544866 544859 2026-06-01T16:38:05Z Persino 2851 544866 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do czytania lub druku}} l75lrl6qoie6hekxqhkswgx9run5hdh Kategoria:Strony zbiorcze z wersją do druku podręczników 14 63637 544867 2026-06-01T16:38:43Z Persino 2851 Utworzono nową stronę "{{Kategoria|Strony zbiorcze podręczników przystosowane do czytania lub druku}}" 544867 wikitext text/x-wiki {{Kategoria|Strony zbiorcze podręczników przystosowane do czytania lub druku}} l75lrl6qoie6hekxqhkswgx9run5hdh Szablon:Drukowanie porada 10 63638 544881 2026-06-01T17:38:27Z Persino 2851 544881 wikitext text/x-wiki #PATRZ [[Szablon:Porada stron zbiorczych]] kc56152lj97cln4rzguzqfgshexex0g 544884 544881 2026-06-01T17:50:20Z Persino 2851 544884 wikitext text/x-wiki {| width="75%" cellspacing="0" style="margin: 0 auto;" class="noprint plainlinks" |style="background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;" valign="top"| <div class="center"><big><big>'''Jest to wersja do druku podręcznika [[{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}]]'''</big></big></div> * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''[{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja_do_druku|printable=yes}} Wersja do druku]''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij [{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja_do_druku|action=purge&printable=yes}} Odśwież tę stronę] przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie [[Wikibooks:Podręczniki do druku]]. |} <includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * [[:Kategoria:Strony zbiorcze całościowe podręczników]], * [[:Kategoria:Strony zbiorcze rozdziałowe podręczników]], * [[:Kategoria:Strony zbiorcze z wersją do druku podręczników]].'' [[Kategoria:Szablony na strony do druku|Drukowanie porada]] </noinclude> jv54crqxmsadlmrj2ahz5f8dc5wlqu7 544887 544884 2026-06-01T18:05:18Z Persino 2851 544887 wikitext text/x-wiki {{Tabela|atrybuty=width="75%" cellspacing="0"|styl=margin: 0 auto;|klasa=noprint plainlinks|liczba wierszy=1|liczba kolumn=1 |styl 1_1=background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;|opcje 1_1=valign="top" |komórka 1_1 = {{Center|{{Big|{{Big|'''Jest to wersja do druku podręcznika [[{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}]]'''}}}}}} * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''[{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja_do_druku|printable=yes}} Wersja do druku]''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij [{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja_do_druku|action=purge&printable=yes}} Odśwież tę stronę] przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie {{lr|Podręczniki do druku}}. }}<includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * {{lk|Strony zbiorcze całościowe podręczników}}, * {{lk|Strony zbiorcze rozdziałowe podręczników}}, * {{lk|Strony zbiorcze z wersją do druku podręczników}}.'' {{Kategoria|Szablony na strony do druku}} </noinclude> 9egij8x6gih3sngvp9nw42nro7srsxt 544889 544887 2026-06-01T18:14:31Z Persino 2851 544889 wikitext text/x-wiki {{Tabela|atrybuty=width="75%" cellspacing="0"|styl=margin: 0 auto;|klasa=noprint plainlinks|liczba wierszy=1|liczba kolumn=1 |styl 1_1=background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;|opcje 1_1=valign="top" |komórka 1_1 = {{Center|{{Big|{{Big|'''Jest to wersja do druku podręcznika {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}}'''}}}}}} * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''{{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|parametry=printable=yes|n=Wersja do druku}}''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij {{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|parametry=action=purge&printable=yes|n=Odśwież tę stronę}} przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie {{lr2|Podręczniki do druku}}. }}<includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * {{lk|Strony zbiorcze całościowe podręczników}}, * {{lk|Strony zbiorcze rozdziałowe podręczników}}, * {{lk|Strony zbiorcze z wersją do druku podręczników}}.'' {{Kategoria|Szablony na strony do druku}} </noinclude> q4i12jotp9cnwdfccm3tl9ln987qx6x 544891 544889 2026-06-01T18:19:11Z Persino 2851 544891 wikitext text/x-wiki {{Tabela|atrybuty=width="75%" cellspacing="0"|styl=margin: 0 auto;|klasa=noprint plainlinks|liczba wierszy=1|liczba kolumn=1 |styl 1_1=background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;|opcje 1_1=valign="top" |komórka 1_1 = {{Center|{{Big|{{Big|'''Jest to wersja do druku podręcznika {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}}'''}}}}}} * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''{{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|parametry=printable=yes|n=Wersja do druku}}''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij {{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|parametry=action=purge&printable=yes|n=Odśwież tę stronę}} przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie {{lr2|Podręczniki do druku}}. }}<includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * {{lk|Strony zbiorcze z wersją do druku podręczników}}.'' {{Kategoria|Szablony na strony do druku}} </noinclude> b496lv6vehlp3vd5uksf3l8jmym3308 544892 544891 2026-06-01T18:22:55Z Persino 2851 544892 wikitext text/x-wiki {{Tabela|atrybuty=width="75%" cellspacing="0"|styl=margin: 0 auto;|klasa=noprint plainlinks|liczba wierszy=1|liczba kolumn=1 |styl 1_1=background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;|opcje 1_1=valign="top" |komórka 1_1 = {{Center|{{Big|{{Big|'''Jest to wersja do druku podręcznika {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}}'''}}}}}} * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''{{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|parametry=printable=yes|n=Wersja do druku}}''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij {{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/Wersja do druku|parametry=action=purge&printable=yes|n=Odśwież tę stronę}} przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie {{lr2|Podręczniki do druku}}. }}<includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * {{lk|Strony zbiorcze z wersją do druku podręczników}}.'' {{Kategorie | Szablony na strony do druku | Strony zbiorcze z wersją do druku podręczników | _2 = ! }} </noinclude> 2umlly2uqtrmyxt6zlq9gfmrehreyk3 Szablon:Czytanie porada 10 63639 544882 2026-06-01T17:39:11Z Persino 2851 Przekierowanie do [[Szablon:Porada stron zbiorczych]] 544882 wikitext text/x-wiki #PATRZ [[Szablon:Porada stron zbiorczych]] kc56152lj97cln4rzguzqfgshexex0g 544885 544882 2026-06-01T17:53:34Z Persino 2851 Usunięto przekierowanie do [[Szablon:Porada stron zbiorczych]] 544885 wikitext text/x-wiki {| width="75%" cellspacing="0" style="margin: 0 auto;" class="noprint plainlinks" |style="background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;" valign="top"| <div class="center"><big><big>'''Jest to wersja do czytania podręcznika [[{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}]]'''</big></big></div> * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''[{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|printable=yes}} Wersja do czytania]''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij [{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|action=purge&printable=yes}} Odśwież tę stronę] przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie [[Wikibooks:Podręczniki do druku]]. |} <includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * [[:Kategoria:Strony zbiorcze całościowe podręczników]], * [[:Kategoria:Strony zbiorcze rozdziałowe podręczników]], * [[:Kategoria:Strony zbiorcze z wersją do druku podręczników]].'' [[Kategoria:Szablony na strony do druku|Drukowanie porada]] </noinclude> h4q54gpurzmhl182t2zc7daodr29ole 544886 544885 2026-06-01T17:54:10Z Persino 2851 544886 wikitext text/x-wiki {| width="75%" cellspacing="0" style="margin: 0 auto;" class="noprint plainlinks" |style="background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;" valign="top"| <div class="center"><big><big>'''Jest to wersja do czytania podręcznika [[{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}]]'''</big></big></div> * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''[{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|printable=yes}} Wersja do czytania]''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij [{{fullurl:{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|action=purge&printable=yes}} Odśwież tę stronę] przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie [[Wikibooks:Podręczniki do druku]]. |} <includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * [[:Kategoria:Strony zbiorcze całościowe podręczników]], * [[:Kategoria:Strony zbiorcze rozdziałowe podręczników]], * [[:Kategoria:Strony zbiorcze z wersją do druku podręczników]].'' [[Kategoria:Szablony na strony do druku|Czytanie porada]] </noinclude> 2h620va1a2xo96dk0qhj7kyclvgdd3f 544888 544886 2026-06-01T18:11:30Z Persino 2851 544888 wikitext text/x-wiki {{Tabela|atrybuty=width="75%" cellspacing="0"|styl=margin: 0 auto;|klasa=noprint plainlinks|liczba wierszy=1|liczba kolumn=1 |styl 1_1=background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;|opcje 1_1=valign="top" |komórka 1_1 = {{Center|{{Big|{{Big|'''Jest to wersja do czytania podręcznika {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}}'''}}}}}} * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''{{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|parametry=printable=yes|n=Wersja do czytania}}''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij {{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|parametry=action=purge&printable=yes|n=Odśwież tę stronę}} przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie {{lr2|Podręczniki do druku}}. }}<includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * {{lk|Strony zbiorcze całościowe podręczników}}, * {{lk|Strony zbiorcze rozdziałowe podręczników}}, * {{lk|Strony zbiorcze z wersją do druku podręczników}}.'' {{Kategoria|Szablony na strony do druku}} </noinclude> tije2g3vzx24iw9xocnssxty6tpin11 544890 544888 2026-06-01T18:18:12Z Persino 2851 544890 wikitext text/x-wiki {{Tabela|atrybuty=width="75%" cellspacing="0"|styl=margin: 0 auto;|klasa=noprint plainlinks|liczba wierszy=1|liczba kolumn=1 |styl 1_1=background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;|opcje 1_1=valign="top" |komórka 1_1 = {{Center|{{Big|{{Big|'''Jest to wersja do czytania podręcznika {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}}'''}}}}}} * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''{{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|parametry=printable=yes|n=Wersja do czytania}}''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij {{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|parametry=action=purge&printable=yes|n=Odśwież tę stronę}} przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie {{lr2|Podręczniki do druku}}. }}<includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * {{lk|Strony zbiorcze całościowe podręczników}}, * {{lk|Strony zbiorcze rozdziałowe podręczników}}.'' {{Kategoria|Szablony na strony do druku}} </noinclude> 8ox999luwa2dutlsg10rsigq7wsml64 544893 544890 2026-06-01T18:24:24Z Persino 2851 544893 wikitext text/x-wiki {{Tabela|atrybuty=width="75%" cellspacing="0"|styl=margin: 0 auto;|klasa=noprint plainlinks|liczba wierszy=1|liczba kolumn=1 |styl 1_1=background-color: #ffefef; border: 1px solid #fababa; padding: 0.5em; font-size: small;|opcje 1_1=valign="top" |komórka 1_1 = {{Center|{{Big|{{Big|'''Jest to wersja do czytania podręcznika {{lo|{{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}|{{SUBNAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}}}'''}}}}}} * Jeśli widzisz tę informację, to nie drukuj niczego! Kliknij na link '''{{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|parametry=printable=yes|n=Wersja do czytania}}''', aby pozbyć się tej ramki, paska nawigacyjnego i innych niepotrzebnych elementów. * Kliknij {{lz|s={{PEŁNANAZWAKSIĄŻKI|{{{1|{{FULLPAGENAME}}}}}}}/{{NAZWAARTYKUŁUKSIĄŻKI}}|parametry=action=purge&printable=yes|n=Odśwież tę stronę}} przed wydrukowaniem, by wczytać najnowsze zmiany. * Więcej informacji o książkach do druku znajdziesz na stronie {{lr2|Podręczniki do druku}}. }}<includeonly> {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI}} | {{SUBNAZWAKSIĄŻKI}} = {{Kategoria|Strony zbiorcze całościowe podręczników}} | Wersja do druku | Do druku = | #default = {{Kategoria|Strony zbiorcze rozdziałowe podręczników}} }}</includeonly><noinclude> ''Dodaje stronę do: * {{lk|Strony zbiorcze całościowe podręczników}}, * {{lk|Strony zbiorcze rozdziałowe podręczników}}.'' {{Kategorie | Szablony na strony do druku | Strony zbiorcze całościowe podręczników | _2 = ! | Strony zbiorcze rozdziałowe podręczników | _3 = ! }} </noinclude> g9sb36yilq9ewhg9mx8300a3envetie Wikibooks:Szablony/Informacje 4 63640 544895 2026-06-01T18:41:19Z Persino 2851 Utworzono nową stronę "<noinclude>{{Autonawigacja|Pomoc:Spis treści}}</noinclude> == Informacje dla czytającego == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia | _1 = {{Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 2 = {{Tt|{{s|Wersja EPUB|Organiczna|Stworzona 1 lipca 2006…" 544895 wikitext text/x-wiki <noinclude>{{Autonawigacja|Pomoc:Spis treści}}</noinclude> == Informacje dla czytającego == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia | _1 = {{Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 2 = {{Tt|{{s|Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _2 = {{Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 3 = {{Tt|{{s|Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _3 = {{Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 4 = {{Tt|{{s|Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub{{=}}i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}}}} | _4 = {{Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub=i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}} | 5 = {{Tt|{{s|Epub|Serce jak obłok|opis{{=}}Opis podręcznika: Serce jak obłok.|dymek{{=}}Dymek podręcznika: Serce jak obłok.}}}} |_5 = {{Epub|Serce jak obłok|opis=Opis podręcznika: Serce jak obłok.|dymek=Dymek podręcznika: Serce jak obłok.}} | 6 = {{Pre|{{s|Dane tekstu | autor {{=}} Adam Mickiewicz | tytuł {{=}} Pan Tadeusz | podtytuł {{=}} czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie {{=}} | wydawca {{=}} Alexander Jełowicki | rok wydania {{=}} 1834 | miejsce wydania {{=}} Paryż | okładka {{=}} PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło {{=}} <nowiki>[[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]]</nowiki> | strona indeksu {{=}} Pan Tadeusz (Adam Mickiewicz) | wikipedia {{=}} Pan Tadeusz | wikiquote {{=}} Pan Tadeusz | commons {{=}} Pan Tadeusz | wiktionary {{=}} Pan Tadeusz | uwagi {{=}} Zobacz również <nowiki>[[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]</nowiki>. | poprzedni {{=}} | następny {{=}} Pan Tadeusz (wyd. 1834)/Księga pierwsza }}}} | _6 = {{Dane tekstu | autor = Adam Mickiewicz | tytuł = Pan Tadeusz | podtytuł = czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie = | wydawca = Alexander Jełowicki | rok wydania = 1834 | miejsce wydania = Paryż | okładka = PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło = [[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]] | strona indeksu = Pan Tadeusz (Adam Mickiewicz) | wikipedia = Pan Tadeusz | wikiquote = Pan Tadeusz | commons = Pan Tadeusz | wiktionary = Pan Tadeusz | uwagi = Zobacz również [[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]. | poprzedni = | następny = Pan Tadeusz (wyd. 1834)/Księga pierwsza }} }} == Specjalne strony artykularne książek == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Kolekcja|Zanurkuj w Pythonie}}}} | _1 = {{Kolekcja|Zanurkuj w Pythonie}} | 2 = {{Tt|{{s|Zapisane książki|Wikibooks:Książki/AutoIt}}}} | _2 = {{Zapisane książki|Wikibooks:Książki/AutoIt}} }} == Szablony rozdziałów == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Rozdział|nadtytuł|tytuł}}}} *zaprojektowany do użycia w stronach do druku *łamie stronę przed szablonem | _1 = {{Rozdział|nadtytuł|tytuł}} | 2 = {{Tt|{{s|Podrozdział|nadtytuł|tytuł}}}} *podobny do powyższego, ma ułatwić zorientowanie się w obszerniejszych książkach, z wieloma rozdziałami | _2 = {{Podrozdział|nadtytuł|tytuł}} }} == Wersja do czytania == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} | 2 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _2 = {{Wersja do czytania|Matematyka dla liceum}} }} == Wersje do druku == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} | 2 = {{Tt|{{s|Wersja do druku|Matematyka dla liceum}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia * w pierwszym parametrze można podać link do wersji do druku (np. <nowiki>{{Wersja do druku|PHP/Druk}}</nowiki>, domyślnie jest to moduł ''Podręcznik''/Wersja do druku | _2 = {{Wersja do druku|Matematyka dla liceum}} | 3 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _3 = {{Wersja do czytania|Matematyka dla liceum}} | 4 = {{Tt|{{s|NowaStrona}}}} *Powoduje przełamanie strony za szablonem *Wstawiać '''na końcu''' sekcji ,która ma się kończyć. *Obrazek w trakcie drukowania znika. | _4 = {{NowaStrona}} | 5 = {{tt|{{s|Okładka|Matematyka dla liceum}}}} * do użycia w wersji do druku dla podręczników, które nie mają osobnej strony z okładką * więcej na stronie szablonu | _5 = {{Okładka|Matematyka dla liceum}} | 6 = {{Tt|{{s|Okładka formułka|Matematyka dla liceum}}}} * do użycia na osobnych stronach z okładką * więcej na stronie szablonu | _6 = {{Okładka formułka|Matematyka dla liceum}} | 7 = {{Tt|{{s|Okładka/CC-BY-SA 3.0|Matematyka dla liceum}}}} i jego przekierowanie {{Tt|{{s|OkładkaLicencja|Matematyka dla liceum}}}} | _7 = {{Okładka/CC-BY-SA 3.0|Matematyka dla liceum}} | 8 = {{Tt|{{s|Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}}}} | _8 = {{Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}} | 9 = {{Tt|{{s|WklejPodstronę|strona}}}} * Wstawia podaną stronę * Jeśli strona nie istnieje, wstawia informację (zamiast czerwonego linka) | _9 = {{WklejPodstronę|strona}} }} {{BrClear}} <noinclude>{{Kategoria|Wizualne opisy techniczne szablonów}}</noinclude> 8osw1suxesw5g5gzbqqtsdd12wm0e5h 544896 544895 2026-06-01T18:43:09Z Persino 2851 /* Wersje do druku */ 544896 wikitext text/x-wiki <noinclude>{{Autonawigacja|Pomoc:Spis treści}}</noinclude> == Informacje dla czytającego == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia | _1 = {{Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 2 = {{Tt|{{s|Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _2 = {{Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 3 = {{Tt|{{s|Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _3 = {{Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 4 = {{Tt|{{s|Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub{{=}}i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}}}} | _4 = {{Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub=i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}} | 5 = {{Tt|{{s|Epub|Serce jak obłok|opis{{=}}Opis podręcznika: Serce jak obłok.|dymek{{=}}Dymek podręcznika: Serce jak obłok.}}}} |_5 = {{Epub|Serce jak obłok|opis=Opis podręcznika: Serce jak obłok.|dymek=Dymek podręcznika: Serce jak obłok.}} | 6 = {{Pre|{{s|Dane tekstu | autor {{=}} Adam Mickiewicz | tytuł {{=}} Pan Tadeusz | podtytuł {{=}} czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie {{=}} | wydawca {{=}} Alexander Jełowicki | rok wydania {{=}} 1834 | miejsce wydania {{=}} Paryż | okładka {{=}} PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło {{=}} <nowiki>[[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]]</nowiki> | strona indeksu {{=}} Pan Tadeusz (Adam Mickiewicz) | wikipedia {{=}} Pan Tadeusz | wikiquote {{=}} Pan Tadeusz | commons {{=}} Pan Tadeusz | wiktionary {{=}} Pan Tadeusz | uwagi {{=}} Zobacz również <nowiki>[[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]</nowiki>. | poprzedni {{=}} | następny {{=}} Pan Tadeusz (wyd. 1834)/Księga pierwsza }}}} | _6 = {{Dane tekstu | autor = Adam Mickiewicz | tytuł = Pan Tadeusz | podtytuł = czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie = | wydawca = Alexander Jełowicki | rok wydania = 1834 | miejsce wydania = Paryż | okładka = PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło = [[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]] | strona indeksu = Pan Tadeusz (Adam Mickiewicz) | wikipedia = Pan Tadeusz | wikiquote = Pan Tadeusz | commons = Pan Tadeusz | wiktionary = Pan Tadeusz | uwagi = Zobacz również [[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]. | poprzedni = | następny = Pan Tadeusz (wyd. 1834)/Księga pierwsza }} }} == Specjalne strony artykularne książek == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Kolekcja|Zanurkuj w Pythonie}}}} | _1 = {{Kolekcja|Zanurkuj w Pythonie}} | 2 = {{Tt|{{s|Zapisane książki|Wikibooks:Książki/AutoIt}}}} | _2 = {{Zapisane książki|Wikibooks:Książki/AutoIt}} }} == Szablony rozdziałów == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Rozdział|nadtytuł|tytuł}}}} *zaprojektowany do użycia w stronach do druku *łamie stronę przed szablonem | _1 = {{Rozdział|nadtytuł|tytuł}} | 2 = {{Tt|{{s|Podrozdział|nadtytuł|tytuł}}}} *podobny do powyższego, ma ułatwić zorientowanie się w obszerniejszych książkach, z wieloma rozdziałami | _2 = {{Podrozdział|nadtytuł|tytuł}} }} == Wersja do czytania == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} | 2 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _2 = {{Wersja do czytania|Matematyka dla liceum}} }} == Wersje do druku == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} | 2 = {{Tt|{{s|Wersja do druku|Matematyka dla liceum}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia * w pierwszym parametrze można podać link do wersji do druku (np. <nowiki>{{Wersja do druku|PHP/Druk}}</nowiki>, domyślnie jest to moduł ''Podręcznik''/Wersja do druku | _2 = {{Wersja do druku|Matematyka dla liceum}} | 3 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _3 = {{Wersja do czytania|Matematyka dla liceum}} | 4 = {{Tt|{{s|NowaStrona}}}} *Powoduje przełamanie strony za szablonem *Wstawiać '''na końcu''' sekcji ,która ma się kończyć. *Obrazek w trakcie drukowania znika. | _4 = {{NowaStrona}} | 5 = {{tt|{{s|Okładka|Matematyka dla liceum}}}} * do użycia w wersji do druku dla podręczników, które nie mają osobnej strony z okładką * więcej na stronie szablonu | _5 = {{Okładka|Matematyka dla liceum}} | 6 = {{Tt|{{s|Okładka formułka|Matematyka dla liceum}}}} * do użycia na osobnych stronach z okładką * więcej na stronie szablonu | _6 = {{Okładka formułka|Matematyka dla liceum}} | 7 = {{Tt|{{s|Okładka/CC-BY-SA 3.0|Matematyka dla liceum}}}} i jego przekierowanie {{Tt|{{s|OkładkaLicencja|Matematyka dla liceum}}}} | _7 = {{Okładka/CC-BY-SA 3.0|Matematyka dla liceum}} | 8 = {{Tt|{{s|Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}}}} | _8 = {{Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}} }} == Strony w budowie == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|WklejPodstronę|strona}}}} * Wstawia podaną stronę * Jeśli strona nie istnieje, wstawia informację (zamiast czerwonego linka) | _1 = {{WklejPodstronę|strona}} }} {{BrClear}} <noinclude>{{Kategoria|Wizualne opisy techniczne szablonów}}</noinclude> exbne9tq2ys5fmd2ah9jn11bycqh44z 544897 544896 2026-06-01T18:43:51Z Persino 2851 Persino przeniósł(-osła) stronę [[Wikibooks:Szablony/Wersja do czytania lub druku]] do [[Wikibooks:Szablony/Informacje]], bez pozostawienia przekierowania pod starym tytułem 544896 wikitext text/x-wiki <noinclude>{{Autonawigacja|Pomoc:Spis treści}}</noinclude> == Informacje dla czytającego == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia | _1 = {{Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 2 = {{Tt|{{s|Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _2 = {{Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 3 = {{Tt|{{s|Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _3 = {{Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 4 = {{Tt|{{s|Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub{{=}}i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}}}} | _4 = {{Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub=i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}} | 5 = {{Tt|{{s|Epub|Serce jak obłok|opis{{=}}Opis podręcznika: Serce jak obłok.|dymek{{=}}Dymek podręcznika: Serce jak obłok.}}}} |_5 = {{Epub|Serce jak obłok|opis=Opis podręcznika: Serce jak obłok.|dymek=Dymek podręcznika: Serce jak obłok.}} | 6 = {{Pre|{{s|Dane tekstu | autor {{=}} Adam Mickiewicz | tytuł {{=}} Pan Tadeusz | podtytuł {{=}} czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie {{=}} | wydawca {{=}} Alexander Jełowicki | rok wydania {{=}} 1834 | miejsce wydania {{=}} Paryż | okładka {{=}} PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło {{=}} <nowiki>[[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]]</nowiki> | strona indeksu {{=}} Pan Tadeusz (Adam Mickiewicz) | wikipedia {{=}} Pan Tadeusz | wikiquote {{=}} Pan Tadeusz | commons {{=}} Pan Tadeusz | wiktionary {{=}} Pan Tadeusz | uwagi {{=}} Zobacz również <nowiki>[[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]</nowiki>. | poprzedni {{=}} | następny {{=}} Pan Tadeusz (wyd. 1834)/Księga pierwsza }}}} | _6 = {{Dane tekstu | autor = Adam Mickiewicz | tytuł = Pan Tadeusz | podtytuł = czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie = | wydawca = Alexander Jełowicki | rok wydania = 1834 | miejsce wydania = Paryż | okładka = PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło = [[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]] | strona indeksu = Pan Tadeusz (Adam Mickiewicz) | wikipedia = Pan Tadeusz | wikiquote = Pan Tadeusz | commons = Pan Tadeusz | wiktionary = Pan Tadeusz | uwagi = Zobacz również [[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]. | poprzedni = | następny = Pan Tadeusz (wyd. 1834)/Księga pierwsza }} }} == Specjalne strony artykularne książek == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Kolekcja|Zanurkuj w Pythonie}}}} | _1 = {{Kolekcja|Zanurkuj w Pythonie}} | 2 = {{Tt|{{s|Zapisane książki|Wikibooks:Książki/AutoIt}}}} | _2 = {{Zapisane książki|Wikibooks:Książki/AutoIt}} }} == Szablony rozdziałów == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Rozdział|nadtytuł|tytuł}}}} *zaprojektowany do użycia w stronach do druku *łamie stronę przed szablonem | _1 = {{Rozdział|nadtytuł|tytuł}} | 2 = {{Tt|{{s|Podrozdział|nadtytuł|tytuł}}}} *podobny do powyższego, ma ułatwić zorientowanie się w obszerniejszych książkach, z wieloma rozdziałami | _2 = {{Podrozdział|nadtytuł|tytuł}} }} == Wersja do czytania == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} | 2 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _2 = {{Wersja do czytania|Matematyka dla liceum}} }} == Wersje do druku == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} | 2 = {{Tt|{{s|Wersja do druku|Matematyka dla liceum}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia * w pierwszym parametrze można podać link do wersji do druku (np. <nowiki>{{Wersja do druku|PHP/Druk}}</nowiki>, domyślnie jest to moduł ''Podręcznik''/Wersja do druku | _2 = {{Wersja do druku|Matematyka dla liceum}} | 3 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _3 = {{Wersja do czytania|Matematyka dla liceum}} | 4 = {{Tt|{{s|NowaStrona}}}} *Powoduje przełamanie strony za szablonem *Wstawiać '''na końcu''' sekcji ,która ma się kończyć. *Obrazek w trakcie drukowania znika. | _4 = {{NowaStrona}} | 5 = {{tt|{{s|Okładka|Matematyka dla liceum}}}} * do użycia w wersji do druku dla podręczników, które nie mają osobnej strony z okładką * więcej na stronie szablonu | _5 = {{Okładka|Matematyka dla liceum}} | 6 = {{Tt|{{s|Okładka formułka|Matematyka dla liceum}}}} * do użycia na osobnych stronach z okładką * więcej na stronie szablonu | _6 = {{Okładka formułka|Matematyka dla liceum}} | 7 = {{Tt|{{s|Okładka/CC-BY-SA 3.0|Matematyka dla liceum}}}} i jego przekierowanie {{Tt|{{s|OkładkaLicencja|Matematyka dla liceum}}}} | _7 = {{Okładka/CC-BY-SA 3.0|Matematyka dla liceum}} | 8 = {{Tt|{{s|Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}}}} | _8 = {{Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}} }} == Strony w budowie == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|WklejPodstronę|strona}}}} * Wstawia podaną stronę * Jeśli strona nie istnieje, wstawia informację (zamiast czerwonego linka) | _1 = {{WklejPodstronę|strona}} }} {{BrClear}} <noinclude>{{Kategoria|Wizualne opisy techniczne szablonów}}</noinclude> exbne9tq2ys5fmd2ah9jn11bycqh44z 544913 544897 2026-06-01T19:13:11Z Persino 2851 /* Wersje do druku */ 544913 wikitext text/x-wiki <noinclude>{{Autonawigacja|Pomoc:Spis treści}}</noinclude> == Informacje dla czytającego == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia | _1 = {{Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 2 = {{Tt|{{s|Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _2 = {{Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 3 = {{Tt|{{s|Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _3 = {{Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 4 = {{Tt|{{s|Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub{{=}}i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}}}} | _4 = {{Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub=i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}} | 5 = {{Tt|{{s|Epub|Serce jak obłok|opis{{=}}Opis podręcznika: Serce jak obłok.|dymek{{=}}Dymek podręcznika: Serce jak obłok.}}}} |_5 = {{Epub|Serce jak obłok|opis=Opis podręcznika: Serce jak obłok.|dymek=Dymek podręcznika: Serce jak obłok.}} | 6 = {{Pre|{{s|Dane tekstu | autor {{=}} Adam Mickiewicz | tytuł {{=}} Pan Tadeusz | podtytuł {{=}} czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie {{=}} | wydawca {{=}} Alexander Jełowicki | rok wydania {{=}} 1834 | miejsce wydania {{=}} Paryż | okładka {{=}} PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło {{=}} <nowiki>[[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]]</nowiki> | strona indeksu {{=}} Pan Tadeusz (Adam Mickiewicz) | wikipedia {{=}} Pan Tadeusz | wikiquote {{=}} Pan Tadeusz | commons {{=}} Pan Tadeusz | wiktionary {{=}} Pan Tadeusz | uwagi {{=}} Zobacz również <nowiki>[[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]</nowiki>. | poprzedni {{=}} | następny {{=}} Pan Tadeusz (wyd. 1834)/Księga pierwsza }}}} | _6 = {{Dane tekstu | autor = Adam Mickiewicz | tytuł = Pan Tadeusz | podtytuł = czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie = | wydawca = Alexander Jełowicki | rok wydania = 1834 | miejsce wydania = Paryż | okładka = PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło = [[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]] | strona indeksu = Pan Tadeusz (Adam Mickiewicz) | wikipedia = Pan Tadeusz | wikiquote = Pan Tadeusz | commons = Pan Tadeusz | wiktionary = Pan Tadeusz | uwagi = Zobacz również [[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]. | poprzedni = | następny = Pan Tadeusz (wyd. 1834)/Księga pierwsza }} }} == Specjalne strony artykularne książek == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Kolekcja|Zanurkuj w Pythonie}}}} | _1 = {{Kolekcja|Zanurkuj w Pythonie}} | 2 = {{Tt|{{s|Zapisane książki|Wikibooks:Książki/AutoIt}}}} | _2 = {{Zapisane książki|Wikibooks:Książki/AutoIt}} }} == Szablony rozdziałów == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Rozdział|nadtytuł|tytuł}}}} *zaprojektowany do użycia w stronach do druku *łamie stronę przed szablonem | _1 = {{Rozdział|nadtytuł|tytuł}} | 2 = {{Tt|{{s|Podrozdział|nadtytuł|tytuł}}}} *podobny do powyższego, ma ułatwić zorientowanie się w obszerniejszych książkach, z wieloma rozdziałami | _2 = {{Podrozdział|nadtytuł|tytuł}} }} == Wersja do czytania == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} | 2 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _2 = {{Wersja do czytania|Matematyka dla liceum}} }} == Wersje do druku == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} | 2 = {{Tt|{{s|Wersja do druku|Matematyka dla liceum}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia * w pierwszym parametrze można podać link do wersji do druku (np. <nowiki>{{Wersja do druku|PHP/Druk}}</nowiki>, domyślnie jest to moduł ''Podręcznik''/Wersja do druku | _2 = {{Wersja do druku|Matematyka dla liceum}} | 3 = {{Tt|{{s|NowaStrona}}}} *Powoduje przełamanie strony za szablonem *Wstawiać '''na końcu''' sekcji ,która ma się kończyć. *Obrazek w trakcie drukowania znika. | _3 = {{NowaStrona}} | 4 = {{tt|{{s|Okładka|Matematyka dla liceum}}}} * do użycia w wersji do druku dla podręczników, które nie mają osobnej strony z okładką * więcej na stronie szablonu | _4 = {{Okładka|Matematyka dla liceum}} | 5 = {{Tt|{{s|Okładka formułka|Matematyka dla liceum}}}} * do użycia na osobnych stronach z okładką * więcej na stronie szablonu | _5 = {{Okładka formułka|Matematyka dla liceum}} | 6 = {{Tt|{{s|Okładka/CC-BY-SA 3.0|Matematyka dla liceum}}}} i jego przekierowanie {{Tt|{{s|OkładkaLicencja|Matematyka dla liceum}}}} | _6 = {{Okładka/CC-BY-SA 3.0|Matematyka dla liceum}} | 7 = {{Tt|{{s|Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}}}} | _7 = {{Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}} }} == Strony w budowie == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|WklejPodstronę|strona}}}} * Wstawia podaną stronę * Jeśli strona nie istnieje, wstawia informację (zamiast czerwonego linka) | _1 = {{WklejPodstronę|strona}} }} {{BrClear}} <noinclude>{{Kategoria|Wizualne opisy techniczne szablonów}}</noinclude> grnpodv05zpikrzm9kgv9jn3q3v37a3 544914 544913 2026-06-01T19:16:04Z Persino 2851 /* Wersje do druku */ 544914 wikitext text/x-wiki <noinclude>{{Autonawigacja|Pomoc:Spis treści}}</noinclude> == Informacje dla czytającego == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia | _1 = {{Wersja PDF|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 2 = {{Tt|{{s|Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _2 = {{Wersja EPUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 3 = {{Tt|{{s|Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}}}} | _3 = {{Wersja ePUB|Organiczna|Stworzona 1 lipca 2006, 743 kB|Organiczna technika studiowania}} | 4 = {{Tt|{{s|Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub{{=}}i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}}}} | _4 = {{Całość|Wstępna charakterystyka bakteriofaga Serratia φOS10/całość|epub=i|druga fraza opisu(opcjonalny)|pierwsza fraza opisu(opcjonalny)}} | 5 = {{Tt|{{s|Epub|Serce jak obłok|opis{{=}}Opis podręcznika: Serce jak obłok.|dymek{{=}}Dymek podręcznika: Serce jak obłok.}}}} |_5 = {{Epub|Serce jak obłok|opis=Opis podręcznika: Serce jak obłok.|dymek=Dymek podręcznika: Serce jak obłok.}} | 6 = {{Pre|{{s|Dane tekstu | autor {{=}} Adam Mickiewicz | tytuł {{=}} Pan Tadeusz | podtytuł {{=}} czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie {{=}} | wydawca {{=}} Alexander Jełowicki | rok wydania {{=}} 1834 | miejsce wydania {{=}} Paryż | okładka {{=}} PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło {{=}} <nowiki>[[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]]</nowiki> | strona indeksu {{=}} Pan Tadeusz (Adam Mickiewicz) | wikipedia {{=}} Pan Tadeusz | wikiquote {{=}} Pan Tadeusz | commons {{=}} Pan Tadeusz | wiktionary {{=}} Pan Tadeusz | uwagi {{=}} Zobacz również <nowiki>[[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]</nowiki>. | poprzedni {{=}} | następny {{=}} Pan Tadeusz (wyd. 1834)/Księga pierwsza }}}} | _6 = {{Dane tekstu | autor = Adam Mickiewicz | tytuł = Pan Tadeusz | podtytuł = czyli ostatni zajazd na Litwie : historia szlachecka z roku 1811 i 1812, w dwunastu księgach, wierszem | pochodzenie = | wydawca = Alexander Jełowicki | rok wydania = 1834 | miejsce wydania = Paryż | okładka = PL Adam Mickiewicz-Pan Tadeusz 002.jpg | źródło = [[commons:Category:Pan Tadeusz (wyd. 1834)|Skany na Commons]] | strona indeksu = Pan Tadeusz (Adam Mickiewicz) | wikipedia = Pan Tadeusz | wikiquote = Pan Tadeusz | commons = Pan Tadeusz | wiktionary = Pan Tadeusz | uwagi = Zobacz również [[Pan Tadeusz (wyd. 1921)|uwspółcześnioną wersję tekstu]]. | poprzedni = | następny = Pan Tadeusz (wyd. 1834)/Księga pierwsza }} }} == Specjalne strony artykularne książek == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Kolekcja|Zanurkuj w Pythonie}}}} | _1 = {{Kolekcja|Zanurkuj w Pythonie}} | 2 = {{Tt|{{s|Zapisane książki|Wikibooks:Książki/AutoIt}}}} | _2 = {{Zapisane książki|Wikibooks:Książki/AutoIt}} }} == Szablony rozdziałów == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Rozdział|nadtytuł|tytuł}}}} *zaprojektowany do użycia w stronach do druku *łamie stronę przed szablonem | _1 = {{Rozdział|nadtytuł|tytuł}} | 2 = {{Tt|{{s|Podrozdział|nadtytuł|tytuł}}}} *podobny do powyższego, ma ułatwić zorientowanie się w obszerniejszych książkach, z wieloma rozdziałami | _2 = {{Podrozdział|nadtytuł|tytuł}} }} == Wersja do czytania == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Czytanie porada|Matematyka dla liceum/Matematyka dla liceum}}}} | 2 = {{Tt|{{s|Wersja do czytania|Matematyka dla liceum}}}} | _2 = {{Wersja do czytania|Matematyka dla liceum}} }} == Wersje do druku == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} *drugi parametr koniecznie musi zawierać znaki podkreślenia zamiast spacji | _1 = {{OpakujKategorieZeSortowaniem|{{Drukowanie porada|Matematyka dla liceum/Wersja do druku}}}} | 2 = {{Tt|{{s|Wersja do druku|Matematyka dla liceum}}}} * do użycia na okładce * strona szablonu zawiera dokładny opis użycia * w pierwszym parametrze można podać link do wersji do druku (np. <nowiki>{{Wersja do druku|PHP/Druk}}</nowiki>, domyślnie jest to moduł ''Podręcznik''/Wersja do druku | _2 = {{Wersja do druku|Matematyka dla liceum}} }} == Strony == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|NowaStrona}}}} *Powoduje przełamanie strony za szablonem *Wstawiać '''na końcu''' sekcji ,która ma się kończyć. *Obrazek w trakcie drukowania znika. | _1 = {{NowaStrona}} }} == Okładki == {{EfektKodów|kod-rozmiar=30% | 1 = {{tt|{{s|Okładka|Matematyka dla liceum}}}} * do użycia w wersji do druku dla podręczników, które nie mają osobnej strony z okładką * więcej na stronie szablonu | _1 = {{Okładka|Matematyka dla liceum}} | 2 = {{Tt|{{s|Okładka formułka|Matematyka dla liceum}}}} * do użycia na osobnych stronach z okładką * więcej na stronie szablonu | _2 = {{Okładka formułka|Matematyka dla liceum}} | 3 = {{Tt|{{s|Okładka/CC-BY-SA 3.0|Matematyka dla liceum}}}} i jego przekierowanie {{Tt|{{s|OkładkaLicencja|Matematyka dla liceum}}}} | _3 = {{Okładka/CC-BY-SA 3.0|Matematyka dla liceum}} | 4 = {{Tt|{{s|Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}}}} | _4 = {{Okładka/CC-BY-SA 3.0 oraz GNU FDL|Matematyka dla liceum}} }} == Strony w budowie == {{EfektKodów|kod-rozmiar=30% | 1 = {{Tt|{{s|WklejPodstronę|strona}}}} * Wstawia podaną stronę * Jeśli strona nie istnieje, wstawia informację (zamiast czerwonego linka) | _1 = {{WklejPodstronę|strona}} }} {{BrClear}} <noinclude>{{Kategoria|Wizualne opisy techniczne szablonów}}</noinclude> jj9cv3qrlij0ol1qdl1wdg6e6ca33re Kategoria:Książki lub kolekcje - Wikibooks 14 63641 544916 2026-06-01T19:33:11Z Persino 2851 Utworzono nową stronę "{{Kategoria|Książki}}" 544916 wikitext text/x-wiki {{Kategoria|Książki}} e3kf5i4jkdaukcskus2n3r3ujbwekm5 545012 544916 2026-06-01T22:15:16Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Książki - Wikibooks]] do [[Kategoria:Książki (kolekcje) - Wikibooks]], bez pozostawienia przekierowania pod starym tytułem 544916 wikitext text/x-wiki {{Kategoria|Książki}} e3kf5i4jkdaukcskus2n3r3ujbwekm5 545013 545012 2026-06-01T22:15:54Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Książki (kolekcje) - Wikibooks]] do [[Kategoria:Książki lub kolekcje - Wikibooks]], bez pozostawienia przekierowania pod starym tytułem 544916 wikitext text/x-wiki {{Kategoria|Książki}} e3kf5i4jkdaukcskus2n3r3ujbwekm5 545016 545013 2026-06-01T22:17:25Z Persino 2851 545016 wikitext text/x-wiki {{Kategoria|Książki lub kolekcje}} 6oe4liwdfsusduushalzxnyolbp58wt Kategoria:Książki lub kolekcje - Użytkownicy 14 63642 544917 2026-06-01T19:33:55Z Persino 2851 Utworzono nową stronę "{{Kategoria|Książki}}" 544917 wikitext text/x-wiki {{Kategoria|Książki}} e3kf5i4jkdaukcskus2n3r3ujbwekm5 545014 544917 2026-06-01T22:16:22Z Persino 2851 Persino przeniósł(-osła) stronę [[Kategoria:Książki - Użytkownicy]] do [[Kategoria:Książki lub kolekcje - Użytkownicy]], bez pozostawienia przekierowania pod starym tytułem 544917 wikitext text/x-wiki {{Kategoria|Książki}} e3kf5i4jkdaukcskus2n3r3ujbwekm5 545015 545014 2026-06-01T22:16:59Z Persino 2851 545015 wikitext text/x-wiki {{Kategoria|Książki lub kolekcje}} 6oe4liwdfsusduushalzxnyolbp58wt Śpiewnik/Kołyszże się, kołysz 0 63643 544984 2026-06-01T20:17:10Z Ashaio 4702 nowa kołysanka 544984 wikitext text/x-wiki == Opis == Schemat tej kołysanki wykorzystała Maria Konopnicka w następującym wierszu: {{Kolumny|3| <poem> »Kołysz mi się, kołysz, Kołysko lipowa!...« Niechaj cię, Jasieńku, Pan Jezus zachowa! Zachowa cię roczek, Zachowa cię drugi... A potem cię wezmą Do dworskiej posługi. »Kołysz mi się, kołysz, Kołysko pleciona«, Póki nie wysnuję Niteczki z wrzeciona... Wysnuję ją długą, Jak te pańskie pola, A taką ci szarą, Jako chłopska dola! »Kołysz mi się, kołysz, Kołyseczko z łyka...« Na gościńcu tuman, Z wiatrem gra muzyka... Oj, grają ci, grają Złociste trębacze.., Jasieńko się żegna, Matka w progu płacze! </poem> }} == Muzyka == '''Autor:''' nieznany (melodia ludowa)<br> <score raw="1" vorbis="1"> \version "2.19.0" \header { title = "Kołyszże się, kołysz" poet = "Słowa: autor nieznany (kołysanka ludowa)" composer = "Muzyka: autor nieznany (melodia ludowa)" arranger = "Aranżacja: Stefan Surzyński" tagline = "" } \score { << \new Staff \with {midiInstrument = "fiddle"} { \clef "violin" \time 2/4 \key c \major \tempo 4 = 100 \relative c''{ c8 c d b | g4 d' | f8 f e c | d8[( b]) g4 | d'8\< e f4\! | e8\> d c4\! | b8 c d b | a8[( b]) g4 | c8 e f4 | e8 d c4 | d8 d b c | d4( g,) | c2 \bar "|." } } \addlyrics { \small { Ko -- łysz -- że się, ko -- łysz, ko -- le -- bko li -- po -- wa, Niech -- że cię Pan Je -- zus sy -- nal -- ka za -- cho -- wa. Niech -- że cię Pan Je -- zus sy -- nal -- ka za -- cho -- wa. } } >> \layout{} \midi{} } </score> <br> '''Źródło:''' Stefan Surzyński, ''[https://polona.pl/item-view/f59f50ef-ba91-4e54-baa7-e7d710b15635?page=88 Echo polskie. T. 4]''. Tarnów, [ok. 1912], s. 83–84. == Tekst == '''Autor:''' nieznany (kołysanka ludowa)<br> {{Kolumny|3| <poem> 1. Na gałęzi mi się Ptaszki kołysały, Luli, mój syneczku, Tak sobie śpiewały. 2. Kołyszże się, kołysz, Kolebko lipowa, Niechże cię Pan Jezus Synalka zachowa. 3. Kołyszże się, kołysz, Od ściany do ściany. Uśnijże mi, uśnij, Synku mój kochany. </poem> }} <br> '''Źródło:''' Stefan Surzyński, ''[https://polona.pl/item-view/f59f50ef-ba91-4e54-baa7-e7d710b15635?page=88 Echo polskie. T. 4]''. Tarnów, [ok. 1912], s. 83–84. d07g62j83ozysh6vnsa3h1idubjkts9 MediaWiki:Tag-sprawdź-poprawność-cudzysłowów 8 63644 545010 2026-06-01T21:38:15Z Persino 2851 Utworzono nową stronę "Sprawdź poprawność cudzysłowów" 545010 wikitext text/x-wiki Sprawdź poprawność cudzysłowów qgintckejgy6kl6an0v018p2ocrbogt Kategoria:Książki - Użytkownicy 14 63645 545018 2026-06-01T22:18:40Z Persino 2851 Utworzono nową stronę "{{Kategoria|Książki - Użytkownicy}}" 545018 wikitext text/x-wiki {{Kategoria|Książki - Użytkownicy}} n4gr912bp2kxv0cnwizoynzqim39lwz 545019 545018 2026-06-01T22:19:26Z Persino 2851 545019 wikitext text/x-wiki {{Kategoria|Książki lub kolekcje - Użytkownicy}} gyt09odfre6tck9u0dpe3xnww6tvloo 545029 545019 2026-06-01T22:29:51Z Persino 2851 545029 wikitext text/x-wiki {{Kategorie|Książki lub kolekcje - Użytkownicy|Książki}} m1tpveiqs6brvjfjd906w9zat5cuhva Kategoria:Kolekcje - Użytkownicy 14 63646 545020 2026-06-01T22:20:12Z Persino 2851 Utworzono nową stronę "{{Kategoria|Kolekcje - Użytkownicy}}" 545020 wikitext text/x-wiki {{Kategoria|Kolekcje - Użytkownicy}} p2b40bgejvafrxo1v88patrnj1hzamp 545021 545020 2026-06-01T22:20:44Z Persino 2851 545021 wikitext text/x-wiki {{Kategoria|Książki - Użytkownicy}} n4gr912bp2kxv0cnwizoynzqim39lwz 545022 545021 2026-06-01T22:21:03Z Persino 2851 545022 wikitext text/x-wiki {{Kategoria|Książki lub kolekcje - Użytkownicy}} gyt09odfre6tck9u0dpe3xnww6tvloo 545030 545022 2026-06-01T22:30:15Z Persino 2851 545030 wikitext text/x-wiki {{Kategorie|Książki lub kolekcje - Użytkownicy|Kolekcje}} dqsxq0k3idce4i5mmyp6unrbncmxojz Kategoria:Książki - Wikibooks 14 63647 545023 2026-06-01T22:21:58Z Persino 2851 Utworzono nową stronę "{{Kategoria|Książki lub kolekcje - Wikibooks}}" 545023 wikitext text/x-wiki {{Kategoria|Książki lub kolekcje - Wikibooks}} d5g79aizo620d3e3y1esesh3cg2f391 545026 545023 2026-06-01T22:28:14Z Persino 2851 545026 wikitext text/x-wiki {{Kategoria|Książki lub kolekcje - Wikibooks|Książki}} qee28390z9a0rbeusxzcg2zy26qvoe0 545027 545026 2026-06-01T22:28:28Z Persino 2851 545027 wikitext text/x-wiki {{Kategorie|Książki lub kolekcje - Wikibooks|Książki}} 0hd4s7djty2hgyqzb3mc7am7acj0rvf Kategoria:Kolekcje - Wikibooks 14 63648 545024 2026-06-01T22:22:34Z Persino 2851 Utworzono nową stronę "{{Kategoria|Książki lub kolekcje - Wikibooks}}" 545024 wikitext text/x-wiki {{Kategoria|Książki lub kolekcje - Wikibooks}} d5g79aizo620d3e3y1esesh3cg2f391 545028 545024 2026-06-01T22:28:51Z Persino 2851 545028 wikitext text/x-wiki {{Kategorie|Książki lub kolekcje - Wikibooks|Kolekcje}} dpnod2k3btd0niahkisxy6uzt4rp3js Kategoria:Książki 14 63649 545031 2026-06-01T22:31:30Z Persino 2851 Utworzono nową stronę "{{Kategoria|Strony zbiorcze z wersją do druku podręczników}}" 545031 wikitext text/x-wiki {{Kategoria|Strony zbiorcze z wersją do druku podręczników}} 8thhzrnrqcf6a8wbzeoxkt80m9q8nvg 545056 545031 2026-06-01T22:58:02Z Persino 2851 545056 wikitext text/x-wiki {{Kategorie | Strony zbiorcze z wersją do druku podręczników | Podręczniki z wersją PDF }} lpo1fzawnuxrfkeoe3hrjwalicu6cmo 545058 545056 2026-06-01T22:59:15Z Persino 2851 545058 wikitext text/x-wiki {{Kategorie | Strony zbiorcze z wersją do druku podręczników | Podręczniki z wersją PDF | Podręczniki z wersją ePUB | Podręczniki z wersją EPUB }} j4tv0ptrjcbj9lf9uvhp719kr7k10yc